--- /dev/null
--- /dev/null
++openafs-stable-1_4_14
--- /dev/null
- VERSION=1.4.12.1
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="src/config/stds.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+am__isrc
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MACOS_VERSION
+LINUX_PKGVER
+LINUX_PKGREL
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+PATH_CPP
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPP
+GREP
+EGREP
+LN_S
+RANLIB
+YACC
+YFLAGS
+LEX
+LEX_OUTPUT_ROOT
+LEXLIB
+HEADER_RT
+P5PLUS_KOPTS
+LINUX_GCC_KOPTS
+RHCONFIG_SP
+RHCONFIG_MP
+MPS
+PTHREAD_LIBS
+USE_UNIX_SOCKETS
+XBSA_CFLAGS
+XBSA_XLIBS
+HAVE_PAM
+BUILD_LOGIN
+afsconfdir
+viceetcdir
+afskerneldir
+afssrvbindir
+afssrvsbindir
+afssrvlibexecdir
+afsdbdir
+afslogsdir
+afslocaldir
+afsbackupdir
+afsbosconfigdir
+AFS_SYSNAME
+AFS_PARAM_COMMON
+ENABLE_KERNEL_MODULE
+LIB_AFSDB
+LINUX_KERNEL_PATH
+LINUX_KERNEL_BUILD
+BSD_KERNEL_PATH
+BSD_KERNEL_BUILD
+LINUX_VERSION
+MKAFS_OSTYPE
+TOP_OBJDIR
+TOP_SRCDIR
+TOP_INCDIR
+TOP_LIBDIR
+DEST
+WITH_OBSOLETE
+DARWIN_INFOFILE
+IRIX_BUILD_IP35
+HTML_XSL
+XSLTPROC
+AS
+AR
+MV
+RM
+LD
+CP
+LORDER
+XFS_SIZE_CHECK
+install_XFS_SIZE_CHECK
+dest_XFS_SIZE_CHECK
+FS_CONV_SOL26
+install_FS_CONV_SOL26
+dest_FS_CONV_SOL26
+FS_CONV_OSF40D
+install_FS_CONV_OSF40D
+dest_FS_CONV_OSF40D
+CCXPG2
+CCOBJ
+AFSD_LIBS
+AFSD_LDFLAGS
+AIX32
+AIX64
+DBG
+FSINCLUDES
+KERN_DBG
+KERN_OPTMZ
+LWP_DBG
+LWP_OPTMZ
+MT_CC
+MT_CFLAGS
+MT_LIBS
+NO_STRIP_BIN
+NO_STRIP_KRB
+OPTMZ
+PAM_CFLAGS
+PAM_LIBS
+PINSTALL_LIBS
+REGEX_OBJ
+SHLIB_CFLAGS
+SHLIB_LDFLAGS
+SHLIB_LINKER
+SHLIB_SUFFIX
+TXLIBS
+VFSCK_CFLAGS
+XCFLAGS
+XCFLAGS64
+XLDFLAGS
+XLDFLAGS64
+XLIBELFA
+XLIBKVM
+XLIBS
+KRB5_CONFIG
+BUILD_KRB5
+MAKE_KRB5
+KRB5CFLAGS
+KRB5LIBS
+HELPER_SPLINT
+HELPER_SPLINTCFG
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+YACC
+YFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-obsolete enable obsolete portions of AFS (mpp and package)
+ --disable-afsdb disable AFSDB RR support
+ --disable-pam disable PAM support
+ --enable-bos-restricted-mode enable bosserver restricted mode which disables certain bosserver functionality
+ --enable-bos-new-config enable bosserver pickup of BosConfig.new on restarts
+ --disable-largefile-fileserver disable large file support in fileserver
+ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver
+ --enable-supergroups enable support for nested pts groups
+ --enable-fast-restart enable fast startup of file server without salvaging
+ --enable-bitmap-later enable fast startup of file server by not reading bitmap till needed
+ --enable-unix-sockets enable use of unix domain sockets for fssync
+ --disable-full-vos-listvol-switch disable vos full listvol switch for formatted output
+ --disable-kernel-module disable compilation of the kernel module (defaults to enabled)
+ --enable-redhat-buildsys enable compilation of the redhat build system kernel (defaults to disabled)
+ --enable-transarc-paths Use Transarc style paths like /usr/afs and /usr/vice
+ --enable-tivoli-tsm Enable use of the Tivoli TSM API libraries for butc support
+ --enable-debug-kernel enable compilation of the kernel module with debugging information (defaults to disabled)
+ --disable-optimize-kernel disable compilation of the kernel module with optimization (defaults based on platform)
+ --enable-debug enable compilation of the user space code with debugging information (defaults to disabled)
+ --disable-strip-binaries disable stripping of symbol information from binaries (defaults to enabled)
+ --disable-optimize disable optimization for compilation of the user space code (defaults to enabled)
+ --enable-debug-lwp enable compilation of the LWP code with debugging information (defaults to disabled)
+ --disable-optimize-lwp disable optimization for compilation of the LWP code (defaults to enabled)
+ --enable-warnings enable compilation warnings when building with gcc (defaults to disabled)
+--disable-linux-syscall-probing disabling Linux syscall probing (defaults to enabled)
+ --enable-bigendian the target is big endian
+ --enable-littleendian the target is little endian
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-afs-sysname=sys use sys for the afs sysname
+
+ --with-dux-kernel-headers=path use the kernel headers found at path(optional, defaults to first match in /usr/sys)
+
+ --with-linux-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)
+
+ --with-linux-kernel-build=path use the kernel build found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)
+
+ --with-bsd-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/sys)
+
+ --with-bsd-kernel-build=path use the kernel build found at path(optional, defaults to KSRC/i386/compile/GENERIC)
+
+ --with-xslt-processor=ARG
+ which XSLT processor to use (possible choices are:
+ libxslt, saxon, xalan-j, xsltproc)
+ --with-html-xsl build HTML documentation using Norman Walsh's
+ DocBook XSL stylesheets (default is no; specify a
+ path to chunk.xsl or docbook.xsl)
+--with-krb5-conf=krb5-config-location Use a krb5-config script to configure Kerberos
+--with-krb5 Support for Kerberos 5 (manual configuration)
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ YACC The `Yet Another C Compiler' implementation to use. Defaults to
+ the first program found out of: `bison -y', `byacc', `yacc'.
+ YFLAGS The list of arguments that will be passed by default to $YACC.
+ This script will default YFLAGS to the empty string to avoid a
+ default value of `-d' given by some make applications.
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.10'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=openafs
- MACOS_VERSION=1.4.12f1
- LINUX_PKGVER=1.4.12.1
++ VERSION=1.4.14
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+ac_config_headers="$ac_config_headers src/config/afsconfig.h"
+
-
- extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
++MACOS_VERSION=1.4.14
++LINUX_PKGVER=1.4.14
+LINUX_PKGREL=1.1
+#LINUX_PKGREL=0.pre3
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ 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
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+for ac_prog in cpp
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PATH_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PATH_CPP in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PATH_CPP="$PATH_CPP" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/lib:/usr/ccs/lib"
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PATH_CPP="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PATH_CPP=$ac_cv_path_PATH_CPP
+if test -n "$PATH_CPP"; then
+ { echo "$as_me:$LINENO: result: $PATH_CPP" >&5
+echo "${ECHO_T}$PATH_CPP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$PATH_CPP" && break
+done
+test -n "$PATH_CPP" || PATH_CPP="${CC-cc} -E"
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_GREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_EGREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_prog in flex lex
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_LEX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$LEX"; then
+ ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LEX="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LEX=$ac_cv_prog_LEX
+if test -n "$LEX"; then
+ { echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$LEX" && break
+done
+test -n "$LEX" || LEX=":"
+
+if test "x$LEX" != "x:"; then
+ cat >conftest.l <<_ACEOF
+%%
+a { ECHO; }
+b { REJECT; }
+c { yymore (); }
+d { yyless (1); }
+e { yyless (input () != 0); }
+f { unput (yytext[0]); }
+. { BEGIN INITIAL; }
+%%
+#ifdef YYTEXT_POINTER
+extern char *yytext;
+#endif
+int
+main (void)
+{
+ return ! yylex () + ! yywrap ();
+}
+_ACEOF
+{ (ac_try="$LEX conftest.l"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$LEX conftest.l") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ echo "$as_me:$LINENO: checking lex output file root" >&5
+echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; }
+if test "${ac_cv_prog_lex_root+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+if test -f lex.yy.c; then
+ ac_cv_prog_lex_root=lex.yy
+elif test -f lexyy.c; then
+ ac_cv_prog_lex_root=lexyy
+else
+ { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5
+echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; }
+LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
+
+if test -z "${LEXLIB+set}"; then
+ { echo "$as_me:$LINENO: checking lex library" >&5
+echo $ECHO_N "checking lex library... $ECHO_C" >&6; }
+if test "${ac_cv_lib_lex+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ ac_save_LIBS=$LIBS
+ ac_cv_lib_lex='none needed'
+ for ac_lib in '' -lfl -ll; do
+ LIBS="$ac_lib $ac_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_lex=$ac_lib
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ test "$ac_cv_lib_lex" != 'none needed' && break
+ done
+ LIBS=$ac_save_LIBS
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5
+echo "${ECHO_T}$ac_cv_lib_lex" >&6; }
+ test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex
+fi
+
+
+{ echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; }
+if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # POSIX says lex can declare yytext either as a pointer or an array; the
+# default is implementation-dependent. Figure out which it is, since
+# not all implementations provide the %pointer and %array declarations.
+ac_cv_prog_lex_yytext_pointer=no
+ac_save_LIBS=$LIBS
+LIBS="$LEXLIB $ac_save_LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#define YYTEXT_POINTER 1
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_prog_lex_yytext_pointer=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_save_LIBS
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; }
+if test $ac_cv_prog_lex_yytext_pointer = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define YYTEXT_POINTER 1
+_ACEOF
+
+fi
+rm -f conftest.l $LEX_OUTPUT_ROOT.c
+
+fi
+{ echo "$as_me:$LINENO: checking for function prototypes" >&5
+echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; }
+if test "$ac_cv_prog_cc_c89" != no; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define PROTOTYPES 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define __PROTOTYPES 1
+_ACEOF
+
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+SRCDIR_PARENT=`pwd`
+
+#BOZO_SAVE_CORES pam sia
+
+# Check whether --with-afs-sysname was given.
+if test "${with_afs_sysname+set}" = set; then
+ withval=$with_afs_sysname;
+fi
+
+# Check whether --enable-obsolete was given.
+if test "${enable_obsolete+set}" = set; then
+ enableval=$enable_obsolete;
+else
+ enable_obsolete="no"
+fi
+
+# Check whether --enable-afsdb was given.
+if test "${enable_afsdb+set}" = set; then
+ enableval=$enable_afsdb;
+else
+ enable_afsdb="yes"
+fi
+
+# Check whether --enable-pam was given.
+if test "${enable_pam+set}" = set; then
+ enableval=$enable_pam;
+else
+ enable_pam="yes"
+fi
+
+# Check whether --enable-bos-restricted-mode was given.
+if test "${enable_bos_restricted_mode+set}" = set; then
+ enableval=$enable_bos_restricted_mode;
+else
+ enable_bos_restricted_mode="no"
+fi
+
+# Check whether --enable-bos-new-config was given.
+if test "${enable_bos_new_config+set}" = set; then
+ enableval=$enable_bos_new_config;
+else
+ enable_bos_new_config="no"
+fi
+
+# Check whether --enable-largefile-fileserver was given.
+if test "${enable_largefile_fileserver+set}" = set; then
+ enableval=$enable_largefile_fileserver;
+else
+ enable_largefile_fileserver="yes"
+fi
+
+# Check whether --enable-namei-fileserver was given.
+if test "${enable_namei_fileserver+set}" = set; then
+ enableval=$enable_namei_fileserver;
+else
+ enable_namei_fileserver="default"
+fi
+
+# Check whether --enable-supergroups was given.
+if test "${enable_supergroups+set}" = set; then
+ enableval=$enable_supergroups;
+else
+ enable_supergroups="no"
+fi
+
+# Check whether --enable-fast-restart was given.
+if test "${enable_fast_restart+set}" = set; then
+ enableval=$enable_fast_restart;
+else
+ enable_fast_restart="no"
+fi
+
+# Check whether --enable-bitmap-later was given.
+if test "${enable_bitmap_later+set}" = set; then
+ enableval=$enable_bitmap_later;
+else
+ enable_bitmap_later="no"
+fi
+
+# Check whether --enable-unix-sockets was given.
+if test "${enable_unix_sockets+set}" = set; then
+ enableval=$enable_unix_sockets;
+else
+ enable_unix_sockets="yes"
+fi
+
+# Check whether --enable-full-vos-listvol-switch was given.
+if test "${enable_full_vos_listvol_switch+set}" = set; then
+ enableval=$enable_full_vos_listvol_switch;
+else
+ enable_full_vos_listvol_switch="yes"
+fi
+
+
+# Check whether --with-dux-kernel-headers was given.
+if test "${with_dux_kernel_headers+set}" = set; then
+ withval=$with_dux_kernel_headers;
+fi
+
+
+# Check whether --with-linux-kernel-headers was given.
+if test "${with_linux_kernel_headers+set}" = set; then
+ withval=$with_linux_kernel_headers;
+fi
+
+
+# Check whether --with-linux-kernel-build was given.
+if test "${with_linux_kernel_build+set}" = set; then
+ withval=$with_linux_kernel_build;
+fi
+
+
+# Check whether --with-bsd-kernel-headers was given.
+if test "${with_bsd_kernel_headers+set}" = set; then
+ withval=$with_bsd_kernel_headers;
+fi
+
+
+# Check whether --with-bsd-kernel-build was given.
+if test "${with_bsd_kernel_build+set}" = set; then
+ withval=$with_bsd_kernel_build;
+fi
+
+# Check whether --enable-kernel-module was given.
+if test "${enable_kernel_module+set}" = set; then
+ enableval=$enable_kernel_module;
+else
+ enable_kernel_module="yes"
+
+fi
+
+# Check whether --enable-redhat-buildsys was given.
+if test "${enable_redhat_buildsys+set}" = set; then
+ enableval=$enable_redhat_buildsys;
+else
+ enable_redhat_buildsys="no"
+
+fi
+
+# Check whether --enable-transarc-paths was given.
+if test "${enable_transarc_paths+set}" = set; then
+ enableval=$enable_transarc_paths;
+else
+ enable_transarc_paths="no"
+
+fi
+
+# Check whether --enable-tivoli-tsm was given.
+if test "${enable_tivoli_tsm+set}" = set; then
+ enableval=$enable_tivoli_tsm;
+else
+ enable_tivoli_tsm="no"
+
+fi
+
+# Check whether --enable-debug-kernel was given.
+if test "${enable_debug_kernel+set}" = set; then
+ enableval=$enable_debug_kernel;
+else
+ enable_debug_kernel="no"
+
+fi
+
+# Check whether --enable-optimize-kernel was given.
+if test "${enable_optimize_kernel+set}" = set; then
+ enableval=$enable_optimize_kernel;
+else
+ enable_optimize_kernel="yes"
+
+fi
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+ enableval=$enable_debug;
+else
+ enable_debug="no"
+
+fi
+
+# Check whether --enable-strip-binaries was given.
+if test "${enable_strip_binaries+set}" = set; then
+ enableval=$enable_strip_binaries;
+else
+ enable_strip_binaries="maybe"
+
+fi
+
+# Check whether --enable-optimize was given.
+if test "${enable_optimize+set}" = set; then
+ enableval=$enable_optimize;
+else
+ enable_optimize="yes"
+
+fi
+
+# Check whether --enable-debug-lwp was given.
+if test "${enable_debug_lwp+set}" = set; then
+ enableval=$enable_debug_lwp;
+else
+ enable_debug_lwp="no"
+
+fi
+
+# Check whether --enable-optimize-lwp was given.
+if test "${enable_optimize_lwp+set}" = set; then
+ enableval=$enable_optimize_lwp;
+else
+ enable_optimize_lwp="yes"
+
+fi
+
+# Check whether --enable-warnings was given.
+if test "${enable_warnings+set}" = set; then
+ enableval=$enable_warnings;
+else
+ enable_warnings="no"
+
+fi
+
+# Check whether --enable-linux-syscall-probing was given.
+if test "${enable_linux_syscall_probing+set}" = set; then
+ enableval=$enable_linux_syscall_probing;
+else
+ enable_probing="yes"
+
+fi
+
+
+enable_login="no"
+
+{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
+echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
+if test "${ac_cv_search_strerror+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
+int
+main ()
+{
+return strerror ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' cposix; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_strerror=$ac_res
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_strerror+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+ :
+else
+ ac_cv_search_strerror=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for pid_t" >&5
+echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_pid_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef pid_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_pid_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_pid_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
+if test $ac_cv_type_pid_t = yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_size_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef size_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_size_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_size_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
+if test $ac_cv_type_size_t = yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
+if test "${ac_cv_type_signal+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <signal.h>
+
+int
+main ()
+{
+return *(signal (0, 0)) (0) == 1;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_signal=int
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_signal=void
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+echo "${ECHO_T}$ac_cv_type_signal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+
+{ echo "$as_me:$LINENO: checking for __FUNCTION__ and __LINE__ macros" >&5
+echo $ECHO_N "checking for __FUNCTION__ and __LINE__ macros... $ECHO_C" >&6; }
+if test "${ac_cv_compiler_has_function_macro+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <stdio.h>
+int
+main ()
+{
+printf("%s:%d", __FUNCTION__, __LINE__);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_compiler_has_function_macro=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_compiler_has_function_macro=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_compiler_has_function_macro" >&5
+echo "${ECHO_T}$ac_cv_compiler_has_function_macro" >&6; }
+if test "$ac_cv_compiler_has_function_macro" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FUNCTION_MACRO 1
+_ACEOF
+
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+for ac_prog in 'bison -y' byacc
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_YACC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$YACC"; then
+ ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_YACC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+YACC=$ac_cv_prog_YACC
+if test -n "$YACC"; then
+ { echo "$as_me:$LINENO: result: $YACC" >&5
+echo "${ECHO_T}$YACC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+if test "$LEX" = :; then
+ LEX=${am_missing_run}flex
+fi
+
+
+# Check whether --enable-bigendian was given.
+if test "${enable_bigendian+set}" = set; then
+ enableval=$enable_bigendian; openafs_cv_c_bigendian=yes
+fi
+
+# Check whether --enable-littleendian was given.
+if test "${enable_littleendian+set}" = set; then
+ enableval=$enable_littleendian; openafs_cv_c_bigendian=no
+fi
+
+{ echo "$as_me:$LINENO: checking whether byte order is known at compile time" >&5
+echo $ECHO_N "checking whether byte order is known at compile time... $ECHO_C" >&6; }
+if test "${openafs_cv_c_bigendian_compile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <sys/param.h>
+int
+main ()
+{
+
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_c_bigendian_compile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_c_bigendian_compile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian_compile" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian_compile" >&6; }
+{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
+if test "${openafs_cv_c_bigendian+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test "$openafs_cv_c_bigendian_compile" = "yes"; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/param.h>
+int
+main ()
+{
+
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_c_bigendian=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: specify either --enable-bigendian or --enable-littleendian" >&5
+echo "$as_me: error: specify either --enable-bigendian or --enable-littleendian" >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+main () {
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long l;
+ char c[sizeof (long)];
+ } u;
+ u.l = 1;
+ exit (u.c[sizeof (long) - 1] == 1);
+ }
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ openafs_cv_c_bigendian=no
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+openafs_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ fi
+
+fi
+{ echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian" >&6; }
+if test "$openafs_cv_c_bigendian" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AUTOCONF_FOUND_BIGENDIAN 1
+_ACEOF
+fi
+if test "$openafs_cv_c_bigendian_compile" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENDIANESS_IN_SYS_PARAM_H 1
+_ACEOF
+fi
+
+
+{ echo "$as_me:$LINENO: checking your OS" >&5
+echo $ECHO_N "checking your OS... $ECHO_C" >&6; }
+system=$host
+case $system in
+ *-linux*)
+
+ MKAFS_OSTYPE=LINUX
+ if test "x$enable_redhat_buildsys" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_REDHAT_BUILDSYS 1
+_ACEOF
+
+ fi
+ if test "x$enable_kernel_module" = "xyes"; then
+ if test "x$with_linux_kernel_headers" != "x"; then
+ LINUX_KERNEL_PATH="$with_linux_kernel_headers"
+ else
+ LINUX_KERNEL_PATH="/lib/modules/`uname -r`/source"
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/lib/modules/`uname -r`/build"
+ fi
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/usr/src/linux-2.4"
+ fi
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/usr/src/linux"
+ fi
+ fi
+ if test "x$with_linux_kernel_build" != "x"; then
+ LINUX_KERNEL_BUILD="$with_linux_kernel_build"
+ else
+ LINUX_KERNEL_BUILD=$LINUX_KERNEL_PATH
+ fi
+ if test -f "$LINUX_KERNEL_BUILD/include/generated/utsrelease.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/generated/utsrelease.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ LINUX_VERSION="$linux_kvers"
+ else
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/utsrelease.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ LINUX_VERSION="$linux_kvers"
+ else
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/version.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ if test "x$linux_kvers" = "x"; then
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/version-up.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ if test "x$linux_kvers" = "x"; then
+ { { echo "$as_me:$LINENO: error: Linux headers lack version definition 2" >&5
+echo "$as_me: error: Linux headers lack version definition 2" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ else
+ LINUX_VERSION="$linux_kvers"
+ fi
+ else
+ { { echo "$as_me:$LINENO: error: Linux headers lack version definition" >&5
+echo "$as_me: error: Linux headers lack version definition" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ fi
+ else
+ LINUX_VERSION="$linux_kvers"
+ fi
+ else
+ enable_kernel_module="no"
+ fi
+ fi
+ fi
+ if test ! -f "$LINUX_KERNEL_BUILD/include/generated/autoconf.h" &&
+ test ! -f "$LINUX_KERNEL_BUILD/include/linux/autoconf.h"; then
+ enable_kernel_module="no"
+ fi
+ if test "x$enable_kernel_module" = "xno"; then
+ if test "x$with_linux_kernel_headers" != "x"; then
+ { { echo "$as_me:$LINENO: error: No usable linux headers found at $LINUX_KERNEL_PATH" >&5
+echo "$as_me: error: No usable linux headers found at $LINUX_KERNEL_PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ else
+ { echo "$as_me:$LINENO: WARNING: No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module" >&5
+echo "$as_me: WARNING: No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module" >&2;}
+ fi
+ fi
+ SUBARCH=default
+ fi
+ { echo "$as_me:$LINENO: result: linux" >&5
+echo "${ECHO_T}linux" >&6; }
+ if test "x$enable_kernel_module" = "xyes"; then
+ AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $1 $2}'`
+ if test "x${AFS_SYSKVERS}" = "x"; then
+ { { echo "$as_me:$LINENO: error: Couldn't guess your Linux version 2" >&5
+echo "$as_me: error: Couldn't guess your Linux version 2" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+ ;;
+ *-solaris*)
+ MKAFS_OSTYPE=SOLARIS
+ { echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
+
+{ echo "$as_me:$LINENO: checking for vfs_dqrwlock in struct ufsvfs" >&5
+echo $ECHO_N "checking for vfs_dqrwlock in struct ufsvfs... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_ufsvfs_has_dqrwlock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _KERNEL
+#include <sys/fs/ufs_inode.h>
+int
+main ()
+{
+struct ufsvfs _ufsvfs;
+(void) _ufsvfs.vfs_dqrwlock;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_ufsvfs_has_dqrwlock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_ufsvfs_has_dqrwlock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_ufsvfs_has_dqrwlock" >&5
+echo "${ECHO_T}$ac_cv_solaris_ufsvfs_has_dqrwlock" >&6; }
+if test "$ac_cv_solaris_ufsvfs_has_dqrwlock" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_VFS_DQRWLOCK 1
+_ACEOF
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for p_corefile in struct proc" >&5
+echo $ECHO_N "checking for p_corefile in struct proc... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_proc_has_p_corefile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _KERNEL
+#include <sys/proc.h>
+int
+main ()
+{
+struct proc _proc;
+(void) _proc.p_corefile;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_proc_has_p_corefile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_proc_has_p_corefile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_proc_has_p_corefile" >&5
+echo "${ECHO_T}$ac_cv_solaris_proc_has_p_corefile" >&6; }
+if test "$ac_cv_solaris_proc_has_p_corefile" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_P_COREFILE 1
+_ACEOF
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for fs_rolled in struct proc" >&5
+echo $ECHO_N "checking for fs_rolled in struct proc... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_fs_has_fs_rolled+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/fs/ufs_fs.h>
+int
+main ()
+{
+struct fs _fs;
+(void) _fs.fs_rolled;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_fs_has_fs_rolled=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_fs_has_fs_rolled=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_fs_has_fs_rolled" >&5
+echo "${ECHO_T}$ac_cv_solaris_fs_has_fs_rolled" >&6; }
+if test "$ac_cv_solaris_fs_has_fs_rolled" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FS_HAS_FS_ROLLED 1
+_ACEOF
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking whether solookup takes a sockparams" >&5
+echo $ECHO_N "checking whether solookup takes a sockparams... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_solookup_takes_sockparams+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _KERNEL
+#include <sys/systm.h>
+#include <sys/socketvar.h>
+int
+main ()
+{
+struct sockparams *sp;
+(void) solookup(AF_INET, SOCK_DGRAM, 0, &sp);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_solookup_takes_sockparams=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_solookup_takes_sockparams=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_solookup_takes_sockparams" >&5
+echo "${ECHO_T}$ac_cv_solaris_solookup_takes_sockparams" >&6; }
+if test "$ac_cv_solaris_solookup_takes_sockparams" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SOLOOKUP_TAKES_SOCKPARAMS 1
+_ACEOF
+
+fi
+
+ ;;
+ *-sunos*)
+ MKAFS_OSTYPE=SUNOS
+ enable_kernel_module=no
+ { echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
+ ;;
+ *-hpux*)
+ MKAFS_OSTYPE=HPUX
+ { echo "$as_me:$LINENO: result: hp_ux" >&5
+echo "${ECHO_T}hp_ux" >&6; }
+ if test -f "/usr/old/usr/include/ndir.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_USR_OLD_USR_INCLUDE_NDIR_H 1
+_ACEOF
+
+ fi
+ ;;
+ *-irix*)
+ if test -d /usr/include/sys/SN/SN1; then
+ IRIX_BUILD_IP35="IP35"
+ fi
+ MKAFS_OSTYPE=IRIX
+ { echo "$as_me:$LINENO: result: sgi" >&5
+echo "${ECHO_T}sgi" >&6; }
+ ;;
+ *-aix*)
+ MKAFS_OSTYPE=AIX
+ { echo "$as_me:$LINENO: result: rs_aix" >&5
+echo "${ECHO_T}rs_aix" >&6; }
+ ;;
+ *-osf*)
+ MKAFS_OSTYPE=DUX
+ { echo "$as_me:$LINENO: result: alpha_dux" >&5
+echo "${ECHO_T}alpha_dux" >&6; }
+ if test "x$enable_kernel_module" = "xyes"; then
+ if test "x$with_dux_kernel_headers" != "x"; then
+ HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
+ else
+ HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
+ fi
+ fi
+ if test "$HEADER_RT" = "*" ; then
+ { { echo "$as_me:$LINENO: error: Need a configured kernel directory" >&5
+echo "$as_me: error: Need a configured kernel directory" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ ;;
+ powerpc-*-darwin*)
+ MKAFS_OSTYPE=DARWIN
+ { echo "$as_me:$LINENO: result: ppc_darwin" >&5
+echo "${ECHO_T}ppc_darwin" >&6; }
+ ;;
+ i386-*-darwin*)
+ MKAFS_OSTYPE=DARWIN
+ { echo "$as_me:$LINENO: result: x86_darwin" >&5
+echo "${ECHO_T}x86_darwin" >&6; }
+ ;;
+ i386-*-freebsd*)
+ MKAFS_OSTYPE=FBSD
+ { echo "$as_me:$LINENO: result: i386_fbsd" >&5
+echo "${ECHO_T}i386_fbsd" >&6; }
+ ;;
+ x86_64-*-freebsd*)
+ MKAFS_OSTYPE=FBSD
+ { echo "$as_me:$LINENO: result: amd64_fbsd" >&5
+echo "${ECHO_T}amd64_fbsd" >&6; }
+ ;;
+ *-netbsd*)
+ MKAFS_OSTYPE=NBSD
+ { echo "$as_me:$LINENO: result: nbsd" >&5
+echo "${ECHO_T}nbsd" >&6; }
+ ;;
+ *-openbsd*)
+ MKAFS_OSTYPE=OBSD
+ { echo "$as_me:$LINENO: result: i386_obsd" >&5
+echo "${ECHO_T}i386_obsd" >&6; }
+ ;;
+ *-dragonfly*)
+ MKAFS_OSTYPE=DFBSD
+ { echo "$as_me:$LINENO: result: i386_dfbsd" >&5
+echo "${ECHO_T}i386_dfbsd" >&6; }
+ ;;
+ *)
+ { echo "$as_me:$LINENO: result: $system" >&5
+echo "${ECHO_T}$system" >&6; }
+ ;;
+esac
+
+if test "x$with_afs_sysname" != "x"; then
+ AFS_SYSNAME="$with_afs_sysname"
+else
+ { echo "$as_me:$LINENO: checking your AFS sysname" >&5
+echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; }
+ case $host in
+ i?86-*-openbsd?.?)
+ v=${host#*openbsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="i386_obsd${vM}${vm}"
+ ;;
+ i?86-*-freebsd?.*)
+ v=${host#*freebsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="i386_fbsd_${vM}${vm}"
+ ;;
+ x86_64-*-freebsd?.*)
+ v=${host#*freebsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="amd64_fbsd_${vM}${vm}"
+ ;;
+ i386-*-dragonfly2.2*)
+ AFS_SYSNAME="i386_dfbsd_23"
+ ;;
+ i386-*-dragonfly2.3*)
+ AFS_SYSNAME="i386_dfbsd_23"
+ ;;
+ i?86-*-netbsd*1.5*)
+ AFS_PARAM_COMMON=param.nbsd15.h
+ AFS_SYSNAME="i386_nbsd15"
+ ;;
+ alpha-*-netbsd*1.5*)
+ AFS_PARAM_COMMON=param.nbsd15.h
+ AFS_SYSNAME="alpha_nbsd15"
+ ;;
+ i?86-*-netbsd*1.6[M-Z]*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="i386_nbsd20"
+ ;;
+ powerpc-*-netbsd*1.6[M-Z]*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="ppc_nbsd20"
+ ;;
+ i?86-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="i386_nbsd20"
+ ;;
+ amd64-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="amd64_nbsd20"
+ ;;
+ x86_64-*-netbsd*3.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="amd64_nbsd30"
+ ;;
+ x86_64-*-netbsd*4.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd40.h
+ AFS_SYSNAME="amd64_nbsd40"
+ ;;
+ powerpc-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="ppc_nbsd20"
+ ;;
+ i?86-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="i386_nbsd16"
+ ;;
+ alpha-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="alpha_nbsd16"
+ ;;
+ powerpc-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="ppc_nbsd16"
+ ;;
+ i?86-*-netbsd*2.1*)
+ AFS_PARAM_COMMON=param.nbsd21.h
+ AFS_SYSNAME="i386_nbsd21"
+ ;;
+ i?86-*-netbsd*2.99*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="i386_nbsd30"
+ ;;
+ i?86-*-netbsd*3.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="i386_nbsd30"
+ ;;
+ i?86-*-netbsd*3.99*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="i386_nbsd30"
+ ;;
+ i?86-*-netbsd*4.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd40.h
+ AFS_SYSNAME="i386_nbsd40"
+ ;;
+ i?86-*-netbsd*4.99*)
+ AFS_PARAM_COMMON=param.nbsd40.h
+ AFS_SYSNAME="i386_nbsd40"
+ ;;
+ hppa*-hp-hpux11.0*)
+ AFS_SYSNAME="hp_ux110"
+ ;;
+ hppa*-hp-hpux11.11)
+ AFS_SYSNAME="hp_ux11i"
+ ;;
+ hppa*-hp-hpux11.23)
+ AFS_SYSNAME="hp_ux1123"
+ ;;
+ ia64-hp-hpux11.22)
+ AFS_SYSNAME="ia64_hpux1122"
+ ;;
+ ia64-hp-hpux*)
+ AFS_SYSNAME="ia64_hpux1123"
+ ;;
+ hppa*-hp-hpux10*)
+ AFS_SYSNAME="hp_ux102"
+ ;;
+ powerpc-apple-darwin1.2*)
+ AFS_SYSNAME="ppc_darwin_12"
+ ;;
+ powerpc-apple-darwin1.3*)
+ AFS_SYSNAME="ppc_darwin_13"
+ ;;
+ powerpc-apple-darwin1.4*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.1*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.2*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.3*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.4*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.5*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin6.0*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.1*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.2*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.3*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.4*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.5*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin7.0*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.1*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.2*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.3*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.4*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.5*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin8*)
+ AFS_SYSNAME="ppc_darwin_80"
+ ;;
+ powerpc-apple-darwin8.*)
+ AFS_SYSNAME="ppc_darwin_80"
+ ;;
+ i386-apple-darwin8.*)
+ AFS_SYSNAME="x86_darwin_80"
+ ;;
+ powerpc-apple-darwin9.*)
+ AFS_SYSNAME="ppc_darwin_90"
+ ;;
+ i386-apple-darwin9.*)
+ AFS_SYSNAME="x86_darwin_90"
+ ;;
+ i?86-apple-darwin10.*)
+ AFS_SYSNAME="x86_darwin_100"
+ ;;
+ sparc-sun-solaris2.5*)
+ AFS_SYSNAME="sun4x_55"
+ enable_login="yes"
+ ;;
+ sparc-sun-solaris2.6)
+ AFS_SYSNAME="sun4x_56"
+ ;;
+ sparc-sun-solaris2.7)
+ AFS_SYSNAME="sun4x_57"
+ ;;
+ sparc-sun-solaris2.8)
+ AFS_SYSNAME="sun4x_58"
+ ;;
+ sparc-sun-solaris2.9)
+ AFS_SYSNAME="sun4x_59"
+ ;;
+ sparc-sun-solaris2.10)
+ AFS_SYSNAME="sun4x_510"
+ ;;
+ sparc-sun-solaris2.11)
+ AFS_SYSNAME="sun4x_511"
+ ;;
+ sparc-sun-sunos4*)
+ AFS_SYSNAME="sun4_413"
+ enable_login="yes"
+ ;;
+ i386-pc-solaris2.7)
+ AFS_SYSNAME="sunx86_57"
+ ;;
+ i386-pc-solaris2.8)
+ AFS_SYSNAME="sunx86_58"
+ ;;
+ i386-pc-solaris2.9)
+ AFS_SYSNAME="sunx86_59"
+ ;;
+ i386-pc-solaris2.10)
+ AFS_SYSNAME="sunx86_510"
+ ;;
+ i386-pc-solaris2.11)
+ AFS_SYSNAME="sunx86_511"
+ ;;
+ alpha*-dec-osf4.0*)
+ AFS_SYSNAME="alpha_dux40"
+ ;;
+ alpha*-dec-osf5.0*)
+ AFS_SYSNAME="alpha_dux50"
+ ;;
+ alpha*-dec-osf5.1*)
+ AFS_SYSNAME="alpha_dux51"
+ ;;
+ mips-sgi-irix6.5)
+ AFS_SYSNAME="sgi_65"
+ ;;
+ ia64-*-linux*)
+ AFS_SYSNAME="ia64_linuxXX"
+ ;;
+ powerpc-*-linux*)
+ AFS_SYSNAME="`/bin/arch`_linuxXX"
+ ;;
+ powerpc64-*-linux*)
+ AFS_SYSNAME="ppc64_linuxXX"
+ ;;
+ alpha*-linux*)
+ AFS_SYSNAME="alpha_linux_XX"
+ ;;
+ s390-*-linux*)
+ AFS_SYSNAME="s390_linuxXX"
+ ;;
+ s390x-*-linux*)
+ AFS_SYSNAME="s390x_linuxXX"
+ ;;
+ sparc-*-linux*)
+ AFS_SYSNAME="`/bin/arch`_linuxXX"
+ ;;
+ sparc64-*-linux*)
+ AFS_SYSNAME="sparc64_linuxXX"
+ ;;
+ i?86-*-linux*)
+ AFS_SYSNAME="i386_linuxXX"
+ ;;
+ arm*-linux*)
+ AFS_SYSNAME="arm_linuxXX"
+ ;;
+ parisc-*-linux-gnu|hppa-*-linux-gnu)
+ AFS_SYSNAME="parisc_linuxXX"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix4.2*)
+ AFS_SYSNAME="rs_aix42"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix4.3*)
+ AFS_SYSNAME="rs_aix42"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix5.1*)
+ AFS_SYSNAME="rs_aix51"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix5.2*)
+ AFS_SYSNAME="rs_aix52"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix5.3*)
+ AFS_SYSNAME="rs_aix53"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix6.1*)
+ AFS_SYSNAME="rs_aix61"
+ enable_pam="no"
+ ;;
+ x86_64-*-linux-gnu)
+ AFS_SYSNAME="amd64_linuxXX"
+ enable_pam="no"
+ ;;
+ *)
+ { { echo "$as_me:$LINENO: error: An AFS sysname is required" >&5
+echo "$as_me: error: An AFS sysname is required" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ ;;
+ esac
+ case $AFS_SYSNAME in
+ *_linux* | *_umlinux*)
+ if test "x${AFS_SYSKVERS}" = "x"; then
+ { { echo "$as_me:$LINENO: error: Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname." >&5
+echo "$as_me: error: Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
+ AFS_SYSNAME="$_AFS_SYSNAME"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+
+
+void conftest(void)
+{
+#ifndef CONFIG_USERMODE
+ #error not UML
+ #endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_is_uml=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+
+int
+main ()
+{
+#ifndef CONFIG_USERMODE
+ #error not UML
+ #endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_is_uml=yes
+else
+ 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
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ if test "${ac_cv_linux_is_uml}" = yes; then
+ _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
+ fi
+ AFS_SYSNAME="$_AFS_SYSNAME"
+ ;;
+ esac
+ { echo "$as_me:$LINENO: result: $AFS_SYSNAME" >&5
+echo "${ECHO_T}$AFS_SYSNAME" >&6; }
+fi
+
+case $AFS_SYSNAME in *_linux* | *_umlinux*)
+
+ # Add (sub-) architecture-specific paths needed by conftests
+ case $AFS_SYSNAME in
+ *_umlinux26)
+ UMLINUX26_FLAGS="-I$LINUX_KERNEL_PATH/arch/um/include"
+ UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/tt/include"
+ UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/skas/include"
+ CPPFLAGS="$CPPFLAGS $UMLINUX26_FLAGS"
+ esac
+
+ if test "x$enable_kernel_module" = "xyes"; then
+ if test "x$enable_debug_kernel" = "xno"; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
+ fi
+
+{ echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5
+echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-MARCH=pentium"
+if test "${openafs_cv_gcc_supports_march+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_supports_march=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_supports_march=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_supports_march" >&5
+echo "${ECHO_T}$openafs_cv_gcc_supports_march" >&6; }
+if test x$openafs_cv_gcc_supports_march = xyes; then
+ P5PLUS_KOPTS="-march=pentium"
+else
+ P5PLUS_KOPTS="-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+
+{ echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5
+echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-fno-strength-reduce"
+if test "${openafs_cv_gcc_needs_no_strength_reduce+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_needs_no_strength_reduce=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_needs_no_strength_reduce=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_needs_no_strength_reduce" >&5
+echo "${ECHO_T}$openafs_cv_gcc_needs_no_strength_reduce" >&6; }
+if test x$openafs_cv_gcc_needs_no_strength_reduce = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+{ echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5
+echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-fno-strict-aliasing"
+if test "${openafs_cv_gcc_needs_no_strict_aliasing+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_needs_no_strict_aliasing=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_needs_no_strict_aliasing=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_needs_no_strict_aliasing" >&5
+echo "${ECHO_T}$openafs_cv_gcc_needs_no_strict_aliasing" >&6; }
+if test x$openafs_cv_gcc_needs_no_strict_aliasing = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+{ echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5
+echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-fno-common"
+if test "${openafs_cv_gcc_supports_no_common+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_supports_no_common=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_supports_no_common=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_supports_no_common" >&5
+echo "${ECHO_T}$openafs_cv_gcc_supports_no_common" >&6; }
+if test x$openafs_cv_gcc_supports_no_common = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+{ echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5
+echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-pipe"
+if test "${openafs_cv_gcc_supports_pipe+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_supports_pipe=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_supports_pipe=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_supports_pipe" >&5
+echo "${ECHO_T}$openafs_cv_gcc_supports_pipe" >&6; }
+if test x$openafs_cv_gcc_supports_pipe = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+
+{ echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5
+echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6; }
+configdir=${srcdir}/src/config
+outputdir=src/afs/LINUX
+tmpldir=${srcdir}/src/afs/LINUX
+mkdir -p $outputdir
+cp $tmpldir/osi_vfs.hin $outputdir/osi_vfs.h
+# chmod +x $configdir/make_vnode.pl
+# $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+
+
+
+ { echo "$as_me:$LINENO: checking if linux kbuild requires EXTRA_CFLAGS" >&5
+echo $ECHO_N "checking if linux kbuild requires EXTRA_CFLAGS... $ECHO_C" >&6; }
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS=-Wall
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_kbuild_requires_extra_cflags=no
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_kbuild_requires_extra_cflags=yes
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_kbuild_requires_extra_cflags=no
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_kbuild_requires_extra_cflags=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+ { echo "$as_me:$LINENO: result: $ac_linux_kbuild_requires_extra_cflags" >&5
+echo "${ECHO_T}$ac_linux_kbuild_requires_extra_cflags" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux kernel module build works" >&5
+echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then :
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&5
+echo "$as_me: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&5
+echo "$as_me: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+ { echo "$as_me:$LINENO: checking if find_task_by_pid is usable" >&5
+echo $ECHO_N "checking if find_task_by_pid is usable... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_find_task_by_pid+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+pid_t p;
+find_task_by_pid(p);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_find_task_by_pid=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_find_task_by_pid=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+pid_t p;
+find_task_by_pid(p);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_find_task_by_pid=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_find_task_by_pid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_find_task_by_pid" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_find_task_by_pid" >&6; }
+ if test "x$ac_cv_linux_exports_find_task_by_pid" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_FIND_TASK_BY_PID 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if proc_root_fs is defined and exported" >&5
+echo $ECHO_N "checking if proc_root_fs is defined and exported... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_proc_root_fs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+
+void conftest(void)
+{
+struct proc_dir_entry *p = proc_root_fs;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_proc_root_fs=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_proc_root_fs=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/proc_fs.h>
+int
+main ()
+{
+struct proc_dir_entry *p = proc_root_fs;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_proc_root_fs=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_proc_root_fs=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_proc_root_fs" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_proc_root_fs" >&6; }
+ if test "x$ac_cv_linux_exports_proc_root_fs" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_PROC_ROOT_FS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for current_kernel_time()" >&5
+echo $ECHO_N "checking for current_kernel_time()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_have_current_kernel_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/time.h>
+
+void conftest(void)
+{
+struct timespec s = current_kernel_time();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_have_current_kernel_time=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_have_current_kernel_time=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/time.h>
+int
+main ()
+{
+struct timespec s = current_kernel_time();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_have_current_kernel_time=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_have_current_kernel_time=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_have_current_kernel_time" >&5
+echo "${ECHO_T}$ac_cv_linux_have_current_kernel_time" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux write_begin() address space op" >&5
+echo $ECHO_N "checking for linux write_begin() address space op... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_write_begin+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct address_space_operations _aop;
+_aop.write_begin = NULL;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_write_begin=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_write_begin=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct address_space_operations _aop;
+_aop.write_begin = NULL;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_write_begin=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_write_begin=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_write_begin" >&5
+echo "${ECHO_T}$ac_cv_linux_write_begin" >&6; }
+ if test "x$ac_cv_linux_write_begin" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WRITE_BEGIN 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux grab_cache_page_write_begin()" >&5
+echo $ECHO_N "checking for linux grab_cache_page_write_begin()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_grab_cache_page_write_begin+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/pagemap.h>
+
+void conftest(void)
+{
+grab_cache_page_write_begin(NULL, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_grab_cache_page_write_begin=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_grab_cache_page_write_begin=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/pagemap.h>
+int
+main ()
+{
+grab_cache_page_write_begin(NULL, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_grab_cache_page_write_begin=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_grab_cache_page_write_begin=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_grab_cache_page_write_begin" >&5
+echo "${ECHO_T}$ac_cv_linux_grab_cache_page_write_begin" >&6; }
+ if test "x$ac_cv_linux_grab_cache_page_write_begin" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if struct task has cred" >&5
+echo $ECHO_N "checking if struct task has cred... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_task_has_cred+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/cred.h>
+
+void conftest(void)
+{
+struct task_struct _t;
+uid_t _u;
+_u =_t.cred->uid ;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_task_has_cred=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_task_has_cred=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/cred.h>
+int
+main ()
+{
+struct task_struct _t;
+uid_t _u;
+_u =_t.cred->uid ;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_task_has_cred=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_task_has_cred=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_task_has_cred" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_task_has_cred" >&6; }
+ if test "x$ac_cv_linux_struct_task_has_cred" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_HAS_CRED 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if struct proc_dir_entry_has_owner" >&5
+echo $ECHO_N "checking if struct proc_dir_entry_has_owner... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_proc_dir_entry_has_owner+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+
+void conftest(void)
+{
+struct proc_dir_entry _p;
+_p.owner= "";
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_proc_dir_entry_has_owner=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_proc_dir_entry_has_owner=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/proc_fs.h>
+int
+main ()
+{
+struct proc_dir_entry _p;
+_p.owner= "";
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_proc_dir_entry_has_owner=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_proc_dir_entry_has_owner=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_proc_dir_entry_has_owner" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_proc_dir_entry_has_owner" >&6; }
+ if test "x$ac_cv_linux_struct_proc_dir_entry_has_owner" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_PROC_DIR_ENTRY_HAS_OWNER 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for new kmem_cache init function parameters" >&5
+echo $ECHO_N "checking for new kmem_cache init function parameters... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kmem_cache_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
+ unsigned long,
+ void (*)(struct kmem_cache *, void *));
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kmem_cache_init=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kmem_cache_init=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
+ unsigned long,
+ void (*)(struct kmem_cache *, void *));
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kmem_cache_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kmem_cache_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_init" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_init" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux bdi_init()" >&5
+echo $ECHO_N "checking for linux bdi_init()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_bdi_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/backing-dev.h>
+
+void conftest(void)
+{
+bdi_init(NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_bdi_init=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_bdi_init=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/backing-dev.h>
+int
+main ()
+{
+bdi_init(NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_bdi_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_bdi_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_bdi_init" >&5
+echo "${ECHO_T}$ac_cv_linux_bdi_init" >&6; }
+ if test "x$ac_cv_linux_bdi_init" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BDI_INIT 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5
+echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+kmem_cache_t *k;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_have_kmem_cache_t=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_have_kmem_cache_t=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+kmem_cache_t *k;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_have_kmem_cache_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_have_kmem_cache_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5
+echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5
+echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kmem_cache_create_takes_dtor=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kmem_cache_create_takes_dtor=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kmem_cache_create_takes_dtor=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kmem_cache_create_takes_dtor=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether kmem_cache_create constructor function takes a void pointer argument" >&5
+echo $ECHO_N "checking whether kmem_cache_create constructor function takes a void pointer argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kmem_cache_create_ctor_takes_void+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+void _ctor(void *v) { };
+kmem_cache_create(NULL, 0, 0, 0, _ctor);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kmem_cache_create_ctor_takes_void=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kmem_cache_create_ctor_takes_void=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+void _ctor(void *v) { };
+kmem_cache_create(NULL, 0, 0, 0, _ctor);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kmem_cache_create_ctor_takes_void=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kmem_cache_create_ctor_takes_void=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_ctor_takes_void" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_ctor_takes_void" >&6; }
+ if test "x$ac_cv_linux_kmem_cache_create_ctor_takes_void" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_CTOR_TAKES_VOID 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5
+echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_config_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/config.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_config_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_config_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/config.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_config_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_config_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; }
+ if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CONFIG_H_EXISTS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5
+echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_completion_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/version.h>
+#include <linux/completion.h>
+
+void conftest(void)
+{
+struct completion _c;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8)
+lose
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_completion_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_completion_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/version.h>
+#include <linux/completion.h>
+int
+main ()
+{
+struct completion _c;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8)
+lose
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_completion_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_completion_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/semaphore.h existance" >&5
+echo $ECHO_N "checking for linux/semaphore.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_semaphore_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/semaphore.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_semaphore_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_semaphore_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/semaphore.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_semaphore_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_semaphore_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_semaphore_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_semaphore_h_exists" >&6; }
+ if test "x$ac_cv_linux_semaphore_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_SEMAPHORE_H 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for defined for_each_process" >&5
+echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_defines_for_each_process+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+#ifndef for_each_process
+#error for_each_process not defined
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_defines_for_each_process=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_defines_for_each_process=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+#ifndef for_each_process
+#error for_each_process not defined
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_defines_for_each_process=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_defines_for_each_process=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; }
+
+ { echo "$as_me:$LINENO: checking for defined prev_task" >&5
+echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_defines_prev_task+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+#ifndef prev_task
+#error prev_task not defined
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_defines_prev_task=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_defines_prev_task=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+#ifndef prev_task
+#error prev_task not defined
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_defines_prev_task=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_defines_prev_task=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; }
+
+ { echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5
+echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct super_operations _super;
+printk("%p\n", _super.alloc_inode);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_super_has_alloc_inode=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_super_has_alloc_inode=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct super_operations _super;
+printk("%p\n", _super.alloc_inode);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_super_has_alloc_inode=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_super_has_alloc_inode=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; }
+
++ { echo "$as_me:$LINENO: checking for evict_inode in struct super_operations" >&5
++echo $ECHO_N "checking for evict_inode in struct super_operations... $ECHO_C" >&6; }
++ if test "${ac_cv_linux_fs_struct_super_has_evict_inode+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++
++ if test $AFS_SYSKVERS -ge 26 ; then
++ rm -fr conftest.dir
++ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++ CFLAGS_PREFIX='EXTRA_'
++ fi
++ if mkdir conftest.dir &&
++ cat >conftest.dir/Makefile <<_ACEOF &&
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
++
++obj-m += conftest.o
++_ACEOF
++ cat >conftest.dir/conftest.c <<\_ACEOF &&
++/* confdefs.h */
++_ACEOF
++ cat confdefs.h >>conftest.dir/conftest.c &&
++ cat >>conftest.dir/conftest.c <<\_ACEOF &&
++/* end confdefs.h */
++#include <linux/module.h>
++#include <linux/fs.h>
++
++void conftest(void)
++{
++struct super_operations _super;
++printk("%p\n", _super.evict_inode);
++}
++
++MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
++_ACEOF
++ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
++ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
++ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
++ then ac_cv_linux_fs_struct_super_has_evict_inode=yes
++ else
++ sed '/^ *+/d' conftest.err >&5
++ echo "$as_me: failed using Makefile:" >&5
++ sed 's/^/| /' conftest.dir/Makefile >&5
++ echo "$as_me: and program was:" >&5
++ sed 's/^/| /' conftest.dir/conftest.c >&5
++ ac_cv_linux_fs_struct_super_has_evict_inode=no
++ fi; rm -fr conftest.err conftest.dir
++ else
++
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <linux/kernel.h>
++#include <linux/fs.h>
++int
++main ()
++{
++struct super_operations _super;
++printk("%p\n", _super.evict_inode);
++ ;
++ 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 "echo \"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_linux_fs_struct_super_has_evict_inode=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_linux_fs_struct_super_has_evict_inode=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ fi
++fi
++
++ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_evict_inode" >&5
++echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_evict_inode" >&6; }
++
+ { echo "$as_me:$LINENO: checking if struct super_block has s_bdi" >&5
+echo $ECHO_N "checking if struct super_block has s_bdi... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_super_block_has_s_bdi+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct super_block _sb;
+_sb.s_bdi= NULL;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_super_block_has_s_bdi=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_super_block_has_s_bdi=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct super_block _sb;
+_sb.s_bdi= NULL;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_super_block_has_s_bdi=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_super_block_has_s_bdi=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_super_block_has_s_bdi" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_super_block_has_s_bdi" >&6; }
+ if test "x$ac_cv_linux_struct_super_block_has_s_bdi" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_SUPER_BLOCK_HAS_S_BDI 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if struct backing_dev_info has name" >&5
+echo $ECHO_N "checking if struct backing_dev_info has name... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_bdi_has_name+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/backing-dev.h>
+
+void conftest(void)
+{
+struct backing_dev_info _bdi;
+_bdi.name = NULL;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_bdi_has_name=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_bdi_has_name=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/backing-dev.h>
+int
+main ()
+{
+struct backing_dev_info _bdi;
+_bdi.name = NULL;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_bdi_has_name=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_bdi_has_name=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_bdi_has_name" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_bdi_has_name" >&6; }
+ if test "x$ac_cv_linux_struct_bdi_has_name" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_BDI_HAS_NAME 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5
+echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct address_space _a_s;
+printk("%x\n", _a_s.page_lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_address_space_has_page_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_address_space_has_page_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct address_space _a_s;
+printk("%x\n", _a_s.page_lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_address_space_has_page_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_address_space_has_page_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5
+echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct address_space _a;
+printk("%d\n", _a.gfp_mask);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct address_space _a;
+printk("%d\n", _a.gfp_mask);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5
+echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _i;
+printk("%x\n", _i.i_alloc_sem);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _i;
+printk("%x\n", _i.i_alloc_sem);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5
+echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blkbits);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_blkbits=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_blkbits=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blkbits);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_blkbits=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_blkbits=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; }
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_BLKBITS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5
+echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blksize);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_blksize=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_blksize=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blksize);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_blksize=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_blksize=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5
+echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _i;
+printk("%x\n", _i.i_truncate_sem);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _i;
+printk("%x\n", _i.i_truncate_sem);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5
+echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_dirty_data_buffers);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_dirty_data_buffers);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5
+echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_devices);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_devices=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_devices=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_devices);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_devices=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_devices=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5
+echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mmap_shared);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mmap_shared);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5
+echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mutex);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_mutex=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_mutex=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mutex);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_mutex=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_mutex=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5
+echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_sb_list);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_sb_list=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_sb_list=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_sb_list);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_sb_list=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_sb_list=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_security in struct inode" >&5
+echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_security);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_security=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_security=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_security);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_security=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_security=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; }
+
+ { echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5
+echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.inotify_lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_inotify_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_inotify_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.inotify_lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_inotify_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_inotify_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5
+echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%x\n", _inode.inotify_sem);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_inotify_sem=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_inotify_sem=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%x\n", _inode.inotify_sem);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_inotify_sem=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_inotify_sem=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; }
+
+ { echo "$as_me:$LINENO: checking for inode_setattr return type" >&5
+echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct iattr _iattr;
+int i;
+i = inode_setattr(&_inode, &_iattr);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_inode_setattr_returns_int=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_inode_setattr_returns_int=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+struct iattr _iattr;
+int i;
+i = inode_setattr(&_inode, &_iattr);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_inode_setattr_returns_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_inode_setattr_returns_int=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; }
+
+ { echo "$as_me:$LINENO: checking for write_inode return type" >&5
+echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct super_operations _sops;
+int i;
+i = _sops.write_inode(&_inode, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_write_inode_returns_int=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_write_inode_returns_int=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+struct super_operations _sops;
+int i;
+i = _sops.write_inode(&_inode, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_write_inode_returns_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_write_inode_returns_int=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_create_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_create_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_create_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_create_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_lookup_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_lookup_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_lookup_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_lookup_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->permission(&_inode, 0, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_permission_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_permission_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->permission(&_inode, 0, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_permission_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_permission_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5
+echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_put_link_takes_cookie=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_put_link_takes_cookie=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_put_link_takes_cookie=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_put_link_takes_cookie=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5
+echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_d_revalidate_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_d_revalidate_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5
+echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_f_flush_takes_fl_owner_t=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_f_flush_takes_fl_owner_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5
+echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; }
+
++ { echo "$as_me:$LINENO: checking whether file_operations.fsync takes a dentry argument" >&5
++echo $ECHO_N "checking whether file_operations.fsync takes a dentry argument... $ECHO_C" >&6; }
++ if test "${ac_cv_linux_func_f_fsync_takes_dentry+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++
++ if test $AFS_SYSKVERS -ge 26 ; then
++ rm -fr conftest.dir
++ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++ CFLAGS_PREFIX='EXTRA_'
++ fi
++ if mkdir conftest.dir &&
++ cat >conftest.dir/Makefile <<_ACEOF &&
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
++
++obj-m += conftest.o
++_ACEOF
++ cat >conftest.dir/conftest.c <<\_ACEOF &&
++/* confdefs.h */
++_ACEOF
++ cat confdefs.h >>conftest.dir/conftest.c &&
++ cat >>conftest.dir/conftest.c <<\_ACEOF &&
++/* end confdefs.h */
++#include <linux/module.h>
++#include <linux/fs.h>
++
++void conftest(void)
++{
++struct inode _inode;
++struct file _file;
++struct dentry _d;
++(void)_inode.i_fop->fsync(&_file, &_d, 0);
++}
++
++MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
++_ACEOF
++ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
++ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
++ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
++ then ac_cv_linux_func_f_fsync_takes_dentry=yes
++ else
++ sed '/^ *+/d' conftest.err >&5
++ echo "$as_me: failed using Makefile:" >&5
++ sed 's/^/| /' conftest.dir/Makefile >&5
++ echo "$as_me: and program was:" >&5
++ sed 's/^/| /' conftest.dir/conftest.c >&5
++ ac_cv_linux_func_f_fsync_takes_dentry=no
++ fi; rm -fr conftest.err conftest.dir
++ else
++
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <linux/kernel.h>
++#include <linux/fs.h>
++int
++main ()
++{
++struct inode _inode;
++struct file _file;
++struct dentry _d;
++(void)_inode.i_fop->fsync(&_file, &_d, 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 "echo \"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_linux_func_f_fsync_takes_dentry=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_linux_func_f_fsync_takes_dentry=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ fi
++fi
++
++ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_fsync_takes_dentry" >&5
++echo "${ECHO_T}$ac_cv_linux_func_f_fsync_takes_dentry" >&6; }
++ if test "x$ac_cv_linux_func_f_fsync_takes_dentry" = "xyes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define FOP_FSYNC_TAKES_DENTRY 1
++_ACEOF
++
++ fi
++
++
+ { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5
+echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
+
+void conftest(void)
+{
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_a_writepage_takes_writeback_control=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
+int
+main ()
+{
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_a_writepage_takes_writeback_control=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5
+echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; }
+
+ { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5
+echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_fop_has_flock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_fop_has_flock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_fop_has_flock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_fop_has_flock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5
+echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_fop_has_sendfile=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_fop_has_sendfile=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_fop_has_sendfile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_fop_has_sendfile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; }
+
+ { echo "$as_me:$LINENO: checking for splice_write and splice_read in struct file_operations" >&5
+echo $ECHO_N "checking for splice_write and splice_read in struct file_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_fop_has_splice+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_operations _fop;
+_fop.splice_write(NULL, NULL, NULL, 0, 0);
+_fop.splice_read(NULL, NULL, NULL, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_fop_has_splice=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_fop_has_splice=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_operations _fop;
+_fop.splice_write(NULL, NULL, NULL, 0, 0);
+_fop.splice_read(NULL, NULL, NULL, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_fop_has_splice=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_fop_has_splice=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_splice" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_splice" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5
+echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/syscall.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_syscall=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_syscall=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/syscall.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_syscall=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_syscall=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
+echo "${ECHO_T}$ac_linux_syscall" >&6; }
+
+
+ { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5
+echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/seq_file.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_seq_file=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_seq_file=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/seq_file.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_seq_file=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_seq_file=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
+echo "${ECHO_T}$ac_linux_seq_file" >&6; }
+
+
+ { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5
+echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+posix_lock_file(0,0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+posix_lock_file(0,0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; }
+
+ { echo "$as_me:$LINENO: checking if posix_test_lock returns a struct file_lock" >&5
+echo $ECHO_N "checking if posix_test_lock returns a struct file_lock... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_posix_test_lock_returns_conflict+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_lock *lock;
+ struct file * file;
+lock = posix_test_lock(file, lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_posix_test_lock_returns_conflict=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_posix_test_lock_returns_conflict=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_lock *lock;
+ struct file * file;
+lock = posix_test_lock(file, lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_posix_test_lock_returns_conflict=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_posix_test_lock_returns_conflict=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_posix_test_lock_returns_conflict" >&5
+echo "${ECHO_T}$ac_cv_linux_posix_test_lock_returns_conflict" >&6; }
+ if test "x$ac_cv_linux_posix_test_lock_returns_conflict" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_TEST_LOCK_RETURNS_CONFLICT 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if posix_test_lock takes a conflict argument" >&5
+echo $ECHO_N "checking if posix_test_lock takes a conflict argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_posix_test_lock_conflict_arg+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+ struct file_lock *lock;
+ struct file *file;
+ posix_test_lock(file, lock, lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_posix_test_lock_conflict_arg=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_lonuc_posix_test_lock_conflict_arg=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+ struct file_lock *lock;
+ struct file *file;
+ posix_test_lock(file, lock, lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_posix_test_lock_conflict_arg=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lonuc_posix_test_lock_conflict_arg=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_posix_test_lock_conflict_arg" >&5
+echo "${ECHO_T}$ac_cv_linux_posix_test_lock_conflict_arg" >&6; }
+ if test "x$ac_cv_linux_posix_test_lock_conflict_arg" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_TEST_LOCK_CONFLICT_ARG 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5
+echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/net.h>
+
+void conftest(void)
+{
+sock_create(0,0,0,0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_sock_create_v=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_sock_create_v=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/net.h>
+int
+main ()
+{
+sock_create(0,0,0,0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_sock_create_v=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_sock_create_v=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; }
+
+ { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5
+echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+page_follow_link(0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_page_follow_link=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_page_follow_link=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+page_follow_link(0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_page_follow_link=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_page_follow_link=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; }
+
+ { echo "$as_me:$LINENO: checking for hlist_unhashed" >&5
+echo $ECHO_N "checking for hlist_unhashed... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_hlist_unhashed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/list.h>
+
+void conftest(void)
+{
+hlist_unhashed(0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_hlist_unhashed=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_hlist_unhashed=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/list.h>
+int
+main ()
+{
+hlist_unhashed(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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_hlist_unhashed=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_hlist_unhashed=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_hlist_unhashed" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_hlist_unhashed" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/key-type.h existance" >&5
+echo $ECHO_N "checking for linux/key-type.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_key_type_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/key-type.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_key_type_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_key_type_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/key-type.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_key_type_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_key_type_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_key_type_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_key_type_h_exists" >&6; }
+ if test "x$ac_cv_linux_key_type_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_TYPE_H_EXISTS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for exported key_type_keyring" >&5
+echo $ECHO_N "checking for exported key_type_keyring... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_key_type_keyring+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+
+void conftest(void)
+{
+
+printk("%s", key_type_keyring.name);
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_key_type_keyring=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_key_type_keyring=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+int
+main ()
+{
+
+printk("%s", key_type_keyring.name);
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_key_type_keyring=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_key_type_keyring=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_key_type_keyring" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_key_type_keyring" >&6; }
+ if test "x$ac_cv_linux_exports_key_type_keyring" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_KEY_TYPE_KEYRING 1
+_ACEOF
+
+ fi
+
+RHCONFIG_SP=""
+RHCONFIG_MP=""
+if test "x$enable_redhat_buildsys" = "xyes"; then
+ { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5
+echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;}
+else
+ { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5
+echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rhconfig.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_rhconfig=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_rhconfig=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rhconfig.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_rhconfig=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_rhconfig=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+ if test x"$ac_linux_rhconfig" = xyes; then
+ RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
+ RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
+ { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+ if test ! -f "/boot/kernel.h"; then
+ { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5
+echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;}
+ fi
+ fi
+fi
+
+
+
+
+ { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5
+echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+recalc_sigpending();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_recalc_sigpending_takes_void=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_recalc_sigpending_takes_void=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+recalc_sigpending();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_recalc_sigpending_takes_void=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_recalc_sigpending_takes_void=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5
+echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; }
+
+ { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5
+echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.parent);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_parent=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_parent=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.parent);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_parent=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_parent=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; }
+
+ { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5
+echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.real_parent);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_real_parent=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.real_parent);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_real_parent=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5
+echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sig);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_sig=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_sig=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sig);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_sig=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_sig=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5
+echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sighand);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_sighand=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sighand);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_sighand=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5
+echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sigmask_lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sigmask_lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5
+echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_rlim=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_rlim=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; }
+
+ { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5
+echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5
+echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; }
+
+ { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5
+echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_tgid=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_tgid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; }
+
+ { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5
+echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_todo=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_todo=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_todo=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_todo=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; }
+
+ { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5
+echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_thread_info=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_thread_info=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5
+echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+
+#include <linux/sched.h>
+
+void conftest(void)
+{
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_tasklist_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_tasklist_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+
+#include <linux/sched.h>
+int
+main ()
+{
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_tasklist_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_tasklist_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5
+echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+get_sb_nodev(0,0,0,0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_get_sb_has_struct_vfsmount=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_get_sb_has_struct_vfsmount=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+get_sb_nodev(0,0,0,0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_get_sb_has_struct_vfsmount=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_get_sb_has_struct_vfsmount=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5
+echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; }
+
+ { echo "$as_me:$LINENO: checking for dentry in statfs" >&5
+echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/statfs.h>
+
+void conftest(void)
+{
-
- extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
++extern int simple_statfs(struct dentry *, struct kstatfs *);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_statfs_takes_dentry=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_statfs_takes_dentry=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/statfs.h>
+int
+main ()
+{
++extern int simple_statfs(struct dentry *, struct kstatfs *);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_statfs_takes_dentry=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_statfs_takes_dentry=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5
+echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5
+echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_freezer_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/freezer.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_freezer_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_freezer_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/freezer.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_freezer_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_freezer_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; }
+ if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5
+echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
+
+void conftest(void)
+{
+refrigerator(PF_FREEZE);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
+int
+main ()
+{
+refrigerator(PF_FREEZE);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5
+echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5
+echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_keyring_support+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rwsem.h>
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+#include <linux/keyctl.h>
+
+void conftest(void)
+{
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_keyring_support=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_keyring_support=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rwsem.h>
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+#include <linux/keyctl.h>
+int
+main ()
+{
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_keyring_support=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_keyring_support=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5
+echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; }
+ if test "x$ac_cv_linux_keyring_support" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_KEYRING_SUPPORT 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5
+echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; }
+ if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror -Wno-pointer-arith"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+
+void conftest(void)
+{
+struct task_struct *t=NULL;
+(void) key_alloc(NULL, NULL, 0, 0, t, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_key_alloc_needs_struct_task=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_key_alloc_needs_struct_task=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+int
+main ()
+{
+struct task_struct *t=NULL;
+(void) key_alloc(NULL, NULL, 0, 0, t, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_key_alloc_needs_struct_task=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_key_alloc_needs_struct_task=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5
+echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; }
+ if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_ALLOC_NEEDS_STRUCT_TASK 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if key_alloc() takes credentials" >&5
+echo $ECHO_N "checking if key_alloc() takes credentials... $ECHO_C" >&6; }
+ if test "${ac_cv_key_alloc_needs_cred+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror -Wno-pointer-arith"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+
+void conftest(void)
+{
+struct cred *c = NULL;
+(void) key_alloc(NULL, NULL, 0, 0, c, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_key_alloc_needs_cred=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_key_alloc_needs_cred=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+int
+main ()
+{
+struct cred *c = NULL;
+(void) key_alloc(NULL, NULL, 0, 0, c, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_key_alloc_needs_cred=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_key_alloc_needs_cred=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_cred" >&5
+echo "${ECHO_T}$ac_cv_key_alloc_needs_cred" >&6; }
+ if test "x$ac_cv_key_alloc_needs_cred" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_ALLOC_NEEDS_CRED 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5
+echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_do_sync_read+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+do_sync_read(NULL, NULL, 0, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_do_sync_read=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_do_sync_read=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+do_sync_read(NULL, NULL, 0, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_do_sync_read=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_do_sync_read=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5
+echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; }
+ if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DO_SYNC_READ 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5
+echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+generic_file_aio_read(NULL, NULL, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_generic_file_aio_read=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_generic_file_aio_read=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+generic_file_aio_read(NULL, NULL, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_generic_file_aio_read=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_generic_file_aio_read=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5
+echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; }
+ if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GENERIC_FILE_AIO_READ 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5
+echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_init_work_has_data+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
+
+void conftest(void)
+{
+
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_init_work_has_data=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_init_work_has_data=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
+int
+main ()
+{
+
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_init_work_has_data=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_init_work_has_data=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5
+echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5
+echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sysctl.h>
+
+void conftest(void)
+{
+ctl_table *t;
+register_sysctl_table (t);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_register_sysctl_table_noflag=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_register_sysctl_table_noflag=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sysctl.h>
+int
+main ()
+{
+ctl_table *t;
+register_sysctl_table (t);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_register_sysctl_table_noflag=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_register_sysctl_table_noflag=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5
+echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sysctl table checking" >&5
+echo $ECHO_N "checking for sysctl table checking... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sysctl_table_checking+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sysctl.h>
+
+void conftest(void)
+{
+ extern int sysctl_check_table(int) __attribute__((weak));
+sysctl_check_table(NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sysctl_table_checking=no
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sysctl_table_checking=yes
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sysctl.h>
+int
+main ()
+{
+ extern int sysctl_check_table(int) __attribute__((weak));
+sysctl_check_table(NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sysctl_table_checking=no
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sysctl_table_checking=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_linux_sysctl_table_checking" >&5
+echo "${ECHO_T}$ac_cv_linux_sysctl_table_checking" >&6; }
+
+ { echo "$as_me:$LINENO: checking if struct ctl_table has ctl_name" >&5
+echo $ECHO_N "checking if struct ctl_table has ctl_name... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_ctl_table_has_ctl_name+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sysctl.h>
+
+void conftest(void)
+{
+struct ctl_table _t;
+_t.ctl_name = 0;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_ctl_table_has_ctl_name=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_ctl_table_has_ctl_name=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sysctl.h>
+int
+main ()
+{
+struct ctl_table _t;
+_t.ctl_name = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_ctl_table_has_ctl_name=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_ctl_table_has_ctl_name=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_ctl_table_has_ctl_name" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_ctl_table_has_ctl_name" >&6; }
+ if test "x$ac_cv_linux_struct_ctl_table_has_ctl_name" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_CTL_TABLE_HAS_CTL_NAME 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux iget()" >&5
+echo $ECHO_N "checking for linux iget()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_have_iget+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+iget(NULL, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_have_iget=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_have_iget=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+iget(NULL, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_have_iget=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_have_iget=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_have_iget" >&5
+echo "${ECHO_T}$ac_cv_linux_have_iget" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux i_size_read()" >&5
+echo $ECHO_N "checking for linux i_size_read()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_i_size_read+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+i_size_read(NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_i_size_read=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_i_size_read=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+i_size_read(NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_i_size_read=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_i_size_read=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_i_size_read" >&5
+echo "${ECHO_T}$ac_cv_linux_i_size_read" >&6; }
+ if test "x$ac_cv_linux_i_size_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LINUX_I_SIZE_READ 1
+_ACEOF
+
+ fi
+
++ { echo "$as_me:$LINENO: checking for linux inode_setattr()" >&5
++echo $ECHO_N "checking for linux inode_setattr()... $ECHO_C" >&6; }
++ if test "${ac_cv_linux_inode_setattr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
++
++ if test $AFS_SYSKVERS -ge 26 ; then
++ rm -fr conftest.dir
++ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++ CFLAGS_PREFIX='EXTRA_'
++ fi
++ if mkdir conftest.dir &&
++ cat >conftest.dir/Makefile <<_ACEOF &&
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
++
++obj-m += conftest.o
++_ACEOF
++ cat >conftest.dir/conftest.c <<\_ACEOF &&
++/* confdefs.h */
++_ACEOF
++ cat confdefs.h >>conftest.dir/conftest.c &&
++ cat >>conftest.dir/conftest.c <<\_ACEOF &&
++/* end confdefs.h */
++#include <linux/module.h>
++#include <linux/fs.h>
++
++void conftest(void)
++{
++inode_setattr(NULL);
++}
++
++MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
++_ACEOF
++ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
++ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
++ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
++ then ac_cv_linux_inode_setattr=yes
++ else
++ sed '/^ *+/d' conftest.err >&5
++ echo "$as_me: failed using Makefile:" >&5
++ sed 's/^/| /' conftest.dir/Makefile >&5
++ echo "$as_me: and program was:" >&5
++ sed 's/^/| /' conftest.dir/conftest.c >&5
++ ac_cv_linux_inode_setattr=no
++ fi; rm -fr conftest.err conftest.dir
++ else
++
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <linux/kernel.h>
++#include <linux/fs.h>
++int
++main ()
++{
++inode_setattr(NULL);
++ ;
++ 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 "echo \"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_linux_inode_setattr=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_linux_inode_setattr=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ fi
++ CPPFLAGS="$save_CPPFLAGS"
++fi
++
++ { echo "$as_me:$LINENO: result: $ac_cv_linux_inode_setattr" >&5
++echo "${ECHO_T}$ac_cv_linux_inode_setattr" >&6; }
++ if test "x$ac_cv_linux_inode_setattr" = "xyes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_LINUX_INODE_SETATTR 1
++_ACEOF
++
++ fi
++
+ { echo "$as_me:$LINENO: checking for path in struct nameidata" >&5
+echo $ECHO_N "checking for path in struct nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_nameidata_has_path+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct nameidata _nd;
+printk("%x\n", _nd.path);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_nameidata_has_path=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_nameidata_has_path=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct nameidata _nd;
+printk("%x\n", _nd.path);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_nameidata_has_path=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_nameidata_has_path=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_nameidata_has_path" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_nameidata_has_path" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported init_mm" >&5
+echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_init_mm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern struct mm_struct init_mm;
+
+void conftest(void)
+{
+void *address = &init_mm;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_init_mm=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_init_mm=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern struct mm_struct init_mm;
+int
+main ()
+{
+void *address = &init_mm;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_init_mm=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_init_mm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5
+echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_chdir;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_chdir=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_chdir=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_chdir;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_chdir=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_chdir=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_close" >&5
+echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_close+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_close;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_close=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_close=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_close;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_close=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_close=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_open" >&5
+echo $ECHO_N "checking for exported sys_open... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_open;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_open=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_open=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_open;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_open=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_open=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_open" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_open" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_wait4" >&5
+echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_wait4;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_wait4=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_wait4=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_wait4;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_wait4=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_wait4=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6; }
+
+ { echo "$as_me:$LINENO: checking if rcu_read_lock is usable" >&5
+echo $ECHO_N "checking if rcu_read_lock is usable... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_rcu_read_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rcupdate.h>
+
+void conftest(void)
+{
+rcu_read_lock();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_rcu_read_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_rcu_read_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rcupdate.h>
+int
+main ()
+{
+rcu_read_lock();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_rcu_read_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_rcu_read_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_rcu_read_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_rcu_read_lock" >&6; }
+ if test "x$ac_cv_linux_exports_rcu_read_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_RCU_READ_LOCK 1
+_ACEOF
+
+ fi
+
+if test "x$enable_redhat_buildsys" = "xyes"; then
+ MPS=Default
+else
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
+ { echo "$as_me:$LINENO: checking which kernel modules to build" >&5
+echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6; }
+ if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+ CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
+ fi
+ if test "x$ac_linux_rhconfig" = "xyes"; then
+ MPS="MP SP"
+ else
+ if test "${ac_cv_linux_config_smp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
+
+
+void conftest(void)
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_config_smp=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_config_smp=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
+
+int
+main ()
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_config_smp=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_config_smp=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ if test "x$ac_cv_linux_config_smp" = "xyes"; then
+ MPS=MP
+ else
+ MPS=SP
+ fi
+ fi
+ CPPFLAGS=$save_CPPFLAGS
+ { echo "$as_me:$LINENO: result: $MPS" >&5
+echo "${ECHO_T}$MPS" >&6; }
+fi
+
+
+ if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
+ { echo "$as_me:$LINENO: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&5
+echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&2;}
+ ac_cv_linux_exports_sys_call_table=no
+ if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
+ ac_cv_linux_exports_ia32_sys_call_table=yes
+ fi
+ else
+
+ { echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5
+echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_kallsyms_address=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_kallsyms_address=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_kallsyms_address=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_kallsyms_address=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5
+echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_kallsyms_symbol=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_kallsyms_symbol=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_kallsyms_symbol=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_kallsyms_symbol=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_call_table" >&5
+echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_call_table=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_call_table=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_call_table=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5
+echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_ia32_sys_call_table=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_ia32_sys_call_table=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_ia32_sys_call_table=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_ia32_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6; }
+ if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
+ linux_syscall_method=none
+ if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
+ linux_syscall_method=scan
+ if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
+ linux_syscall_method=scan_with_kallsyms_address
+ fi
+ fi
+ if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
+ linux_syscall_method=kallsyms_symbol
+ fi
+ if test "x$linux_syscall_method" = "xnone"; then
+ { echo "$as_me:$LINENO: WARNING: no available sys_call_table access method -- guessing scan" >&5
+echo "$as_me: WARNING: no available sys_call_table access method -- guessing scan" >&2;}
+ linux_syscall_method=scan
+ fi
+ fi
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MM_INLINE_H 1
+_ACEOF
+
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CHDIR 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_OPEN 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CLOSE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_WAIT4 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CALL_TABLE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_IA32_SYS_CALL_TABLE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_KALLSYMS_SYMBOL 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_KALLSYMS_ADDRESS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define COMPLETION_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CONFIG_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_TYPE_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DEFINED_FOR_EACH_PROCESS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DEFINED_PREV_TASK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define INODE_SETATTR_NOT_VOID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_write_inode_returns_int" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define WRITE_INODE_NOT_VOID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_super_has_alloc_inode" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_SUPER_HAS_ALLOC_INODE 1
++_ACEOF
++
++ fi
++ if test "x$ac_cv_linux_fs_struct_super_has_evict_inode" = "xyes" ; then
++
++cat >>confdefs.h <<\_ACEOF
++#define STRUCT_SUPER_OPERATIONS_HAS_EVICT_INODE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_ADDRESS_SPACE_HAS_GFP_MASK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_TRUNCATE_SEM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_ALLOC_SEM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_blksize" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_BLKSIZE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_DEVICES 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_SECURITY 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_MUTEX 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_SB_LIST 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_inotify_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_INOTIFY_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_inotify_sem" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_INOTIFY_SEM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define RECALC_SIGPENDING_TAKES_VOID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_LOCK_FILE_WAIT_ARG 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_KERNEL_SOCK_CREATE_V 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_PAGE_FOLLOW_LINK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_hlist_unhashed" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_HLIST_UNHASHED 1
+_ACEOF
+
+ fi
+ if test "x$ac_linux_syscall" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_LINUX_SYSCALL_H 1
+_ACEOF
+
+ fi
+ if test "x$ac_linux_seq_file" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_LINUX_SEQ_FILE_H 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_PARENT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_REAL_PARENT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIGHAND 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIG 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_RLIM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_EXIT_STATE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_TGID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_TODO 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_THREAD_INFO 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GET_SB_HAS_STRUCT_VFSMOUNT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STATFS_TAKES_DENTRY 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_refrigerator_takes_pf_freeze" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_REFRIGERATOR_TAKES_PF_FREEZE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IOP_CREATE_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FOP_FLUSH_TAKES_FL_OWNER_T 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IOP_LOOKUP_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_i_permission_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IOP_PERMISSION_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DOP_REVALIDATE_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define INIT_WORK_HAS_DATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_FLOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_SENDFILE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_SPLICE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define REGISTER_SYSCTL_TABLE_NOFLAG 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SYSCTL_TABLE_CHECKING 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_iget" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IGET 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_struct_nameidata_has_path" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_NAMEIDATA_HAS_PATH 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_init_mm" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_INIT_MM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_TASKLIST_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KMEM_CACHE_T 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_INIT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CURRENT_KERNEL_TIME 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_TAKES_DTOR 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USABLE_KERNEL_PAGE_SYMLINK_CACHE 1
+_ACEOF
+
+ else
+ { echo "$as_me:$LINENO: WARNING: your kernel does not have a usable symlink cache API" >&5
+echo "$as_me: WARNING: your kernel does not have a usable symlink cache API" >&2;}
+ fi
+ :
+ fi
+esac
+
+case $AFS_SYSNAME in
+ *_darwin*)
+ DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
+ DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRUCT_BUF 1
+_ACEOF
+
+ ;;
+ *)
+{ echo "$as_me:$LINENO: checking for definition of struct buf" >&5
+echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6; }
+if test "${ac_cv_have_struct_buf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ ac_cv_have_struct_buf=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/buf.h>
+int
+main ()
+{
+struct buf x;
+ printf("%d\n", sizeof(x));
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_struct_buf=yes
+else
+ 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
+
+{ echo "$as_me:$LINENO: result: $ac_cv_have_struct_buf" >&5
+echo "${ECHO_T}$ac_cv_have_struct_buf" >&6; }
+if test "$ac_cv_have_struct_buf" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRUCT_BUF 1
+_ACEOF
+
+fi
+;;
+esac
+
+
+# Check whether --with-xslt-processor was given.
+if test "${with_xslt_processor+set}" = set; then
+ withval=$with_xslt_processor; XSLTPROC="$withval"
+else
+ XSLTPROC="libxslt"
+fi
+
+
+
+# Check whether --with-html-xsl was given.
+if test "${with_html_xsl+set}" = set; then
+ withval=$with_html_xsl; HTML_XSL="$withval"
+else
+ HTML_XSL=no
+fi
+
+
+if test "${ac_cv_sockaddr_len+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+{ echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5
+echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/socket.h>
+int
+main ()
+{
+struct sockaddr *a;
+a->sa_len=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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sockaddr_len=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_sockaddr_len=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_cv_sockaddr_len" >&5
+echo "${ECHO_T}$ac_cv_sockaddr_len" >&6; }
+fi
+
+if test "$ac_cv_sockaddr_len" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_SOCKADDR_HAS_SA_LEN 1
+_ACEOF
+
+fi
+if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
+ echo Skipping library tests because they confuse Irix.
+else
+
+for ac_func in socket
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+ if test "$ac_cv_func_socket" = no; then
+ for lib in socket inet; do
+ if test "$HAVE_SOCKET" != 1; then
+ as_ac_Lib=`echo "ac_cv_lib_${lib}''_socket" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5
+echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l${lib} $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ LIBS="$LIBS -l$lib";HAVE_SOCKET=1;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKET 1
+_ACEOF
+
+fi
+
+ fi
+ done
+ fi
+
+
+for ac_func in connect
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+ if test "$ac_cv_func_connect" = no; then
+ for lib in nsl; do
+ if test "$HAVE_CONNECT" != 1; then
+ as_ac_Lib=`echo "ac_cv_lib_${lib}''_connect" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5
+echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l${lib} $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ LIBS="$LIBS -l$lib";HAVE_CONNECT=1;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CONNECT 1
+_ACEOF
+
+fi
+
+ fi
+ done
+ fi
+
+
+for ac_func in gethostbyname
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ if test "$ac_cv_func_gethostbyname" = no; then
+ for lib in dns nsl resolv; do
+ if test "$HAVE_GETHOSTBYNAME" != 1; then
+ as_ac_Lib=`echo "ac_cv_lib_${lib}''_gethostbyname" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5
+echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l${lib} $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETHOSTBYNAME 1
+_ACEOF
+
+fi
+
+ fi
+ done
+ fi
+
+ { echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5
+echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <arpa/nameser.h>
+ #include <arpa/nameser_compat.h>
+ #include <resolv.h>
+
+int
+main ()
+{
+static int i; i = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ARPA_NAMESER_COMPAT_H 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ openafs_save_libs="$LIBS"
+ { echo "$as_me:$LINENO: checking for res_search" >&5
+echo $ECHO_N "checking for res_search... $ECHO_C" >&6; }
+
+ ac_cv_func_res_search=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#ifdef HAVE_ARPA_NAMESER_COMPAT_H
+#include <arpa/nameser_compat.h>
+#endif
+#include <resolv.h>
+int
+main ()
+{
+
+const char host[11]="openafs.org";
+u_char ans[1024];
+int r;
+res_init();
+/* Capture result in r but return 0, since a working nameserver is
+ * not a requirement for compilation.
+ */
+r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans));
+return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_res_search=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+ if test "$ac_cv_func_res_search" = no; then
+ for lib in dns nsl resolv; do
+ if test "$ac_cv_func_res_search" != yes; then
+ LIBS="-l$lib $LIBS"
+
+ ac_cv_func_res_search=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#ifdef HAVE_ARPA_NAMESER_COMPAT_H
+#include <arpa/nameser_compat.h>
+#endif
+#include <resolv.h>
+int
+main ()
+{
+
+const char host[11]="openafs.org";
+u_char ans[1024];
+int r;
+res_init();
+/* Capture result in r but return 0, since a working nameserver is
+ * not a requirement for compilation.
+ */
+r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans));
+return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_res_search=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+ LIBS="$openafs_save_libs"
+ fi
+ done
+ if test "$ac_cv_func_res_search" = yes; then
+ LIB_res_search="-l$lib"
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_SEARCH 1
+_ACEOF
+
+ { echo "$as_me:$LINENO: result: yes, in lib$lib" >&5
+echo "${ECHO_T}yes, in lib$lib" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ fi
+ else
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_SEARCH 1
+_ACEOF
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ fi
+
+fi
+
+PTHREAD_LIBS=error
+{ echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthread_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6; }
+if test $ac_cv_lib_pthread_pthread_attr_init = yes; then
+ PTHREAD_LIBS="-lpthread"
+fi
+
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthreads_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthreads $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthreads_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthreads_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthreads_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthreads_pthread_attr_init" >&6; }
+if test $ac_cv_lib_pthreads_pthread_attr_init = yes; then
+ PTHREAD_LIBS="-lpthreads"
+fi
+
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6; }
+if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc_r $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_c_r_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_c_r_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6; }
+if test $ac_cv_lib_c_r_pthread_attr_init = yes; then
+ PTHREAD_LIBS="-lc_r"
+fi
+
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: checking for pthread_attr_init" >&5
+echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6; }
+if test "${ac_cv_func_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define pthread_attr_init to an innocuous variant, in case <limits.h> declares pthread_attr_init.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define pthread_attr_init innocuous_pthread_attr_init
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char pthread_attr_init (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef pthread_attr_init
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_pthread_attr_init || defined __stub___pthread_attr_init
+choke me
+#endif
+
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_func_pthread_attr_init" >&6; }
+if test $ac_cv_func_pthread_attr_init = yes; then
+ PTHREAD_LIBS=""
+fi
+
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ # pthread_attr_init is a macro under HPUX 11.0 and 11.11
+ { echo "$as_me:$LINENO: checking for pthread_attr_destroy in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_destroy in -lpthread... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthread_pthread_attr_destroy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_destroy ();
+int
+main ()
+{
+return pthread_attr_destroy ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthread_pthread_attr_destroy=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_attr_destroy=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_destroy" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_destroy" >&6; }
+if test $ac_cv_lib_pthread_pthread_attr_destroy = yes; then
+ PTHREAD_LIBS="-lpthread"
+fi
+
+fi
+if test "x$MKAFS_OSTYPE" = xDFBSD; then
+ PTHREAD_LIBS="-pthread"
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: WARNING: *** Unable to locate working posix thread library ***" >&5
+echo "$as_me: WARNING: *** Unable to locate working posix thread library ***" >&2;}
+fi
+
+
+WITH_OBSOLETE=NO
+if test "$enable_obsolete" = "yes"; then
+ WITH_OBSOLETE=YES
+fi
+
+if test "x$with_bsd_kernel_headers" != "x"; then
+ BSD_KERNEL_PATH="$with_bsd_kernel_headers"
+else
+ BSD_KERNEL_PATH="/usr/src/sys"
+fi
+
+if test "x$with_bsd_kernel_build" != "x"; then
+ BSD_KERNEL_BUILD="$with_bsd_kernel_build"
+else
+ case $AFS_SYSNAME in
+ i386_fbsd_4?)
+ BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
+ ;;
+ i386_fbsd_5?)
+ BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/i386/compile/GENERIC"
+ ;;
+ esac
+fi
+
+# Fast restart
+if test "$enable_supergroups" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SUPERGROUPS 1
+_ACEOF
+
+fi
+
+if test "$enable_fast_restart" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FAST_RESTART 1
+_ACEOF
+
+fi
+
+if test "$enable_bitmap_later" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BITMAP_LATER 1
+_ACEOF
+
+fi
+
+if test "$enable_unix_sockets" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_UNIX_SOCKETS 1
+_ACEOF
+
+ USE_UNIX_SOCKETS="yes"
+else
+ USE_UNIX_SOCKETS="no"
+fi
+
+
+if test "$enable_full_vos_listvol_switch" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FULL_LISTVOL_SWITCH 1
+_ACEOF
+
+fi
+
+if test "$enable_bos_restricted_mode" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BOS_RESTRICTED_MODE 1
+_ACEOF
+
+fi
+
+if test "$enable_bos_new_config" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BOS_NEW_CONFIG 1
+_ACEOF
+
+fi
+
+if test "$enable_largefile_fileserver" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_LARGEFILE_ENV 1
+_ACEOF
+
+fi
+
+if test "$enable_namei_fileserver" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_NAMEI_ENV 1
+_ACEOF
+
+else
+ if test "$enable_namei_fileserver" = "default"; then
+ case $host in
+ *-solaris2.10*)
+ { echo "$as_me:$LINENO: WARNING: Some Solaris 10 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&5
+echo "$as_me: WARNING: Some Solaris 10 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&2;}
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_NAMEI_ENV 1
+_ACEOF
+
+ ;;
+ *-solaris2.11*)
+ { echo "$as_me:$LINENO: WARNING: Solaris 11 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&5
+echo "$as_me: WARNING: Solaris 11 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&2;}
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_NAMEI_ENV 1
+_ACEOF
+
+ ;;
+ *)
+ ;;
+ esac
+ fi
+fi
+
+if test "$enable_afsdb" = "yes"; then
+ LIB_AFSDB="$LIB_res_search"
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_AFSDB_ENV 1
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5
+echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6; }
+XBSA_CFLAGS=""
+if test "$enable_tivoli_tsm" = "yes"; then
+ XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
+ XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
+ XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
+ XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
+
+ if test -r "$XBSADIR3/dsmapifp.h"; then
+ XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
+ XBSA_XLIBS="-ldl"
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ elif test -r "$XBSADIR4/dsmapifp.h"; then
+ XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
+ XBSA_XLIBS="-ldl"
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ elif test -r "$XBSADIR1/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+ XBSA_XLIBS=""
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ elif test -r "$XBSADIR2/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+ XBSA_XLIBS=""
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no, missing xbsa.h and dsmapifp.h header files" >&5
+echo "${ECHO_T}no, missing xbsa.h and dsmapifp.h header files" >&6; }
+ fi
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
+if test "${ac_cv_header_sys_wait_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
+
+int
+main ()
+{
+ int s;
+ wait (&s);
+ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_sys_wait_h=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_sys_wait_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
+if test $ac_cv_header_sys_wait_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYS_WAIT_H 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+ { echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_opendir=$ac_res
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+ { echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_opendir=$ac_res
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+
+
+
+
+
+
+
+for ac_header in stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+for ac_header in mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+for ac_header in sys/mount.h strings.h termios.h signal.h poll.h sys/pag.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+for ac_header in windows.h malloc.h winsock2.h direct.h io.h sys/user.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+for ac_header in security/pam_modules.h siad.h usersec.h ucontext.h regex.h sys/statvfs.h sys/statfs.h sys/bitypes.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ echo "$as_me:$LINENO: checking for fsblkcnt_t" >&5
+echo $ECHO_N "checking for fsblkcnt_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_fsblkcnt_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#ifdef HAVE_SYS_BITYPES_H
+#include <sys/bitypes.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
+#ifdef HAVE_SYS_STATVFS_H
+#include <sys/statvfs.h>
+#endif
+
+
+typedef fsblkcnt_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_fsblkcnt_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_fsblkcnt_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_fsblkcnt_t" >&5
+echo "${ECHO_T}$ac_cv_type_fsblkcnt_t" >&6; }
+if test $ac_cv_type_fsblkcnt_t = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_FSBLKCNT_T 1
+_ACEOF
+
+
+fi
+
+
+if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
+ HAVE_PAM="yes"
+else
+ HAVE_PAM="no"
+fi
+
+
+if test "$enable_probing" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_LINUX_SYSCALL_PROBING 1
+_ACEOF
+
+fi
+
+if test "$enable_login" = yes; then
+ BUILD_LOGIN="yes"
+else
+ BUILD_LOGIN="no"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+for ac_func in setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+for ac_func in setvbuf vsyslog
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
+echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6; }
+if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_func_setvbuf_reversed=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+# ifdef PROTOTYPES
+ int (setvbuf) (FILE *, int, char *, size_t);
+# endif
+int
+main ()
+{
+char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+# ifdef PROTOTYPES
+ int (setvbuf) (FILE *, int, char *, size_t);
+# endif
+int
+main ()
+{
+char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ # It compiles and links either way, so it must not be declared
+ # with a prototype and most likely this is a K&R C compiler.
+ # Try running it.
+ if test "$cross_compiling" = yes; then
+ : # Assume setvbuf is not reversed when cross-compiling.
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+/* This call has the arguments reversed.
+ A reversed system may check and see that the address of buf
+ is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
+ char buf;
+ if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
+ return 1;
+ putchar ('\r');
+ return 0; /* Non-reversed systems SEGV here. */
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_setvbuf_reversed=yes
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ ac_cv_func_setvbuf_reversed=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6; }
+if test $ac_cv_func_setvbuf_reversed = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SETVBUF_REVERSED 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_func in regcomp regexec regerror
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ echo "$as_me:$LINENO: checking for POSIX regex library" >&5
+echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6; }
+if test "$ac_cv_header_regex_h" = "yes" && \
+ test "$ac_cv_func_regcomp" = "yes" && \
+ test "$ac_cv_func_regexec" = "yes" && \
+ test "$ac_cv_func_regerror" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_POSIX_REGEX 1
+_ACEOF
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+{ echo "$as_me:$LINENO: checking for void *" >&5
+echo $ECHO_N "checking for void *... $ECHO_C" >&6; }
+if test "${ac_cv_type_void_p+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef void * ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_void_p=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_void_p=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5
+echo "${ECHO_T}$ac_cv_type_void_p" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of void *" >&5
+echo $ECHO_N "checking size of void *... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_void_p+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_void_p=$ac_lo;;
+'') if test "$ac_cv_type_void_p" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_void_p=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_void_p=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_void_p" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_void_p=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5
+echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for unsigned long long" >&5
+echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6; }
+if test "${ac_cv_type_unsigned_long_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef unsigned long long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_unsigned_long_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_long_long=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of unsigned long long" >&5
+echo $ECHO_N "checking size of unsigned long long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_unsigned_long_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_long_long=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_long_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_long_long=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_long_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long_long=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_unsigned_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for unsigned long" >&5
+echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6; }
+if test "${ac_cv_type_unsigned_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef unsigned long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_unsigned_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_long=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of unsigned long" >&5
+echo $ECHO_N "checking size of unsigned long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_unsigned_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_long=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_long=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_unsigned_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for unsigned int" >&5
+echo $ECHO_N "checking for unsigned int... $ECHO_C" >&6; }
+if test "${ac_cv_type_unsigned_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef unsigned int ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_unsigned_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_int=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_int" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_int" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of unsigned int" >&5
+echo $ECHO_N "checking size of unsigned int... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_unsigned_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_int=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_int" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_int=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_int=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_int" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_int=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5
+echo "${ECHO_T}$ac_cv_sizeof_unsigned_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for ssize_t" >&5
+echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_ssize_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef ssize_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_ssize_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ssize_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
+if test $ac_cv_type_ssize_t = yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define ssize_t int
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for long" >&5
+echo $ECHO_N "checking for long... $ECHO_C" >&6; }
+if test "${ac_cv_type_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_long=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+echo "${ECHO_T}$ac_cv_type_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of long" >&5
+echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_long=$ac_lo;;
+'') if test "$ac_cv_type_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_long=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+
+{ echo "$as_me:$LINENO: checking size of time_t" >&5
+echo $ECHO_N "checking size of time_t... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_time_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+#include <time.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(time_t));
+ exit(0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_time_t=`cat conftestval`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_sizeof_time_t=0
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
+_ACEOF
+
+
+
+for ac_func in timegm
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+for ac_func in daemon
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+if test "x$enable_transarc_paths" = "xyes" ; then
+ afsconfdir=${afsconfdir=/usr/afs/etc}
+ viceetcdir=${viceetcdir=/usr/vice/etc}
+ afskerneldir=${afskerneldir=${viceetcdir}}
+ afssrvbindir=${afssrvbindir=/usr/afs/bin}
+ afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
+ afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
+ afsdbdir=${afsdbdir=/usr/afs/db}
+ afslogsdir=${afslogsdir=/usr/afs/logs}
+ afslocaldir=${afslocaldir=/usr/afs/local}
+ afsbackupdir=${afsbackupdir=/usr/afs/backup}
+ afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
+else
+ afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
+ viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
+ afskerneldir=${afskerneldir='${libdir}/openafs'}
+ afssrvbindir=${afssrvbindir='${bindir}'}
+ afssrvsbindir=${afssrvsbindir='${sbindir}'}
+ afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
+ afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
+ afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
+ afslocaldir=${afslocaldir='${localstatedir}/openafs'}
+ afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
+ afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+if test "x$enable_kernel_module" = "xyes"; then
+ENABLE_KERNEL_MODULE=libafs
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+XCFLAGS='${DBG} ${OPTMZ}'
+SHLIB_SUFFIX="so"
+CC="cc"
+CCOBJ="cc"
+MT_CC="cc"
+XLIBS="${LIB_AFSDB} ${XBSA_XLIBS}"
+
+KERN_DBG=-g
+KERN_OPTMZ=-O
+DBG=-g
+OPTMZ=-O
+LWP_DBG=-g
+LWP_OPTMZ=-O
+NO_STRIP_BIN=-ns
+NO_STRIP_KRB=-ns
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+for ac_prog in as
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AS" && break
+done
+test -n "$AS" || AS="${am_missing_run}as"
+
+for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+done
+test -n "$AR" || AR="${am_missing_run}ar"
+
+for ac_prog in mv
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_MV+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$MV"; then
+ ac_cv_prog_MV="$MV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MV="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+MV=$ac_cv_prog_MV
+if test -n "$MV"; then
+ { echo "$as_me:$LINENO: result: $MV" >&5
+echo "${ECHO_T}$MV" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$MV" && break
+done
+test -n "$MV" || MV="${am_missing_run}mv"
+
+for ac_prog in rm
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RM+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RM"; then
+ ac_cv_prog_RM="$RM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RM="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RM=$ac_cv_prog_RM
+if test -n "$RM"; then
+ { echo "$as_me:$LINENO: result: $RM" >&5
+echo "${ECHO_T}$RM" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$RM" && break
+done
+test -n "$RM" || RM="${am_missing_run}rm"
+
+for ac_prog in ld
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$LD"; then
+ ac_cv_prog_LD="$LD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LD="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LD=$ac_cv_prog_LD
+if test -n "$LD"; then
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$LD" && break
+done
+test -n "$LD" || LD="${am_missing_run}ld"
+
+for ac_prog in cp
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CP"; then
+ ac_cv_prog_CP="$CP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CP="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CP=$ac_cv_prog_CP
+if test -n "$CP"; then
+ { echo "$as_me:$LINENO: result: $CP" >&5
+echo "${ECHO_T}$CP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CP" && break
+done
+test -n "$CP" || CP="${am_missing_run}cp"
+
+for ac_prog in strip
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$STRIP" && break
+done
+test -n "$STRIP" || STRIP="${am_missing_run}strip"
+
+for ac_prog in lorder
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_LORDER+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$LORDER"; then
+ ac_cv_prog_LORDER="$LORDER" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LORDER="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LORDER=$ac_cv_prog_LORDER
+if test -n "$LORDER"; then
+ { echo "$as_me:$LINENO: result: $LORDER" >&5
+echo "${ECHO_T}$LORDER" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$LORDER" && break
+done
+test -n "$LORDER" || LORDER="${am_missing_run}lorder"
+
+
+
+case $AFS_SYSNAME in
+ alpha_dux40)
+ LEX="lex"
+ CSTATIC="-non_shared"
+ DBG="-g3"
+ MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
+ TXLIBS="-lcurses"
+ XCFLAGS="-D_NO_PROTO -DOSF"
+ SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
+ ;;
+
+ alpha_dux50)
+ LEX="flex -l"
+ DBG="-g3"
+ CSTATIC="-non_shared"
+ MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
+ TXLIBS="-lcurses"
+ XCFLAGS="-D_NO_PROTO -DOSF"
+ SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
+ ;;
+
+ alpha_dux51)
+ LEX="flex -l"
+ DBG="-g3"
+ CSTATIC="-non_shared"
+ LWP_OPTMZ="-O2"
+ MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
+ TXLIBS="-lcurses"
+ XCFLAGS="-D_NO_PROTO -DOSF"
+ SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
+ ;;
+
+ alpha_linux_22)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ alpha_linux_24)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ alpha_linux_26)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ arm_linux24)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_OPTMZ=-O2
+ PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ arm_linux26)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_OPTMZ=-O2
+ PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ hp_ux102)
+ AS="/usr/ccs/bin/as"
+ CC="/opt/ansic/bin/cc -Ae"
+ DBM="/lib/libndbm.a"
+ LD="/bin/ld"
+ LEX="/opt/langtools/bin/lex"
+ LWP_OPTMZ="-O"
+ MT_CC="/opt/ansic/bin/cc -Ae"
+ MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-L/opt/dce/lib -ldce"
+ MV="/bin/mv"
+ OPTMZ="-O"
+ PAM_CFLAGS="+DA1.0 +z -Wl,+k"
+ PAM_LIBS="/usr/lib/libpam.1"
+ RANLIB="/usr/bin/ranlib"
+ RM="/bin/rm"
+ SHLIB_LDFLAGS="-b -Bsymbolic"
+ SHLIB_SUFFIX="sl"
+ TXLIBS="/usr/lib/libHcurses.a"
+ VFSCK_CFLAGS="-D_FILE64"
+ XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="${XCFLAGS0} +DA2.0W"
+ XCFLAGS="${XCFLAGS0} +DA1.0"
+ YACC="/opt/langtools/bin/yacc"
+ SHLIB_LINKER="ld -b"
+ ;;
+
+ hp_ux11*)
+ AR="/usr/bin/ar"
+ AS="/usr/ccs/bin/as"
+ CC="/opt/ansic/bin/cc"
+ CCOBJ="/opt/ansic/bin/cc"
+ DBM="/lib/libndbm.a"
+ LD="/bin/ld "
+ LEX="/opt/langtools/bin/lex"
+ LWP_OPTMZ="-O"
+ MT_CC="$CC"
+ MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ MV="/bin/mv"
+ OPTMZ="-O"
+ PAM_CFLAGS="+DA1.0 +z -Wl,+k"
+ PAM_LIBS="/usr/lib/libpam.1"
+ RANLIB="/usr/bin/ranlib"
+ RM="/bin/rm"
+ SHLIB_LDFLAGS="-b -Bsymbolic"
+ SHLIB_SUFFIX="sl"
+ TXLIBS="/usr/lib/libHcurses.a"
+ VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
+ XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="${XCFLAGS0} +DA2.0W"
+ XCFLAGS="${XCFLAGS0} +DA1.0"
+ XLIBELFA="-lelf"
+ #XLIBS="${LIB_AFSDB} -lnsl"
+ YACC="/opt/langtools/bin/yacc"
+ SHLIB_LINKER="ld -b"
+ ;;
+
+ ia64_hpux*)
+ AR="/usr/bin/ar"
+ AS="/usr/ccs/bin/as"
+ CC="/opt/ansic/bin/cc"
+ CCOBJ="/opt/ansic/bin/cc"
+ DBM="/lib/hpux32/libndbm.so"
+ LD="/bin/ld "
+ LEX="/opt/langtools/bin/lex"
+ LWP_OPTMZ=""
+ MT_CC="$CC"
+ MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ MV="/bin/mv"
+ OPTMZ="-O"
+ PAM_CFLAGS="-b +z -Wl,+k"
+ PAM_LIBS="/usr/lib/hpux32/libpam.so"
+ RANLIB="/usr/bin/ranlib"
+ RM="/bin/rm"
+ SHLIB_LDFLAGS="-b -Bsymbolic"
+ SHLIB_SUFFIX="sl"
+ TXLIBS="/usr/lib/hpux32/libcurses.so"
+ VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
+ XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="${XCFLAGS0} +DD64"
+ XCFLAGS="${XCFLAGS0}"
+ XLIBELFA="-lelf"
+ #XLIBS="${LIB_AFSDB} -lnsl"
+ YACC="/opt/langtools/bin/yacc"
+ SHLIB_LINKER="ld -b"
+ ;;
+
+ i386_fbsd_*)
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -pipe"
+ YACC="byacc"
+ ;;
+
+ i386_dfbsd_*)
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_OPTMZ=-O2
+ PAM_CFLAGS="-pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="-lncurses"
+ XCFLAGS="-pipe"
+ YACC="byacc"
+ ;;
+
+ amd64_fbsd_*)
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -pipe -fPIC"
+ YACC="byacc"
+ ;;
+
+ *nbsd2*|*nbsd3*|*nbsd4*)
+ LEX="flex -l"
+ MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT '
+ MT_LIBS="-lpthread" # XXX -pthread soon
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="/usr/lib/libcurses.so"
+ XCFLAGS="-O2 -pipe"
+ YACC="yacc"
+ ;;
+
+ *nbsd15|*nbsd16)
+ LEX="flex -l"
+ MT_CFLAGS='${XCFLAGS}'
+ MT_LIBS=""
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="/usr/lib/libcurses.so"
+ XCFLAGS="-O2 -pipe"
+ YACC="bison -y"
+ ;;
+
+ ia64_linux24|ia64_linux26)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ amd64_linux*)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ ppc64_linux24)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="/usr/lib64/libncurses.so"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ ppc64_linux26)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_CFLAGS="-fPIC"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -fPIC"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_umlinux22)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_linux*)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_umlinux24)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_umlinux26)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ *_obsd*)
+ KRB5CFLAGS="-I/usr/include/kerberosV"
+ KRB5LIBS="-lkrb5 -lcrypto"
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_CFLAGS="-O2 -pipe -fpic"
+ OPTMZ="-O2"
+ SHLIB_CFLAGS="-fpic"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="/usr/lib/libcurses.a"
+ XCFLAGS=""
+ YACC="yacc"
+ ;;
+
+ parisc_linux24)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ ppc_darwin_12)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-traditional-cpp"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_13)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_14)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_60)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ TXLIBS="-lncurses"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_70)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS}'
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ *_darwin_80)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ REGEX_OBJ="regex.o"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib -c"
+ ;;
+
+ *_darwin_90)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LD="cc"
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ REGEX_OBJ="regex.o"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib -c"
+ ;;
+
+ *_darwin_100)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+ MT_LIBS="-lresolv"
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LD="cc"
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ PAM_LIBS="-lpam"
+ REGEX_OBJ="regex.o"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib"
+ ;;
+
+ ppc_linux*)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ rs_aix42)
+ DBG=""
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32=""
+ AIX64="#"
+ ;;
+
+
+ rs_aix51)
+ DBG=""
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32=""
+ AIX64=""
+ ;;
+
+ rs_aix52)
+ DBG=""
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX64=""
+ ;;
+
+ rs_aix53)
+ DBG="-g"
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32=""
+ AIX32=""
+ AIX64=""
+ ;;
+
+ rs_aix61)
+ DBG="-g"
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32="#"
+ AIX64=""
+ ;;
+
+ s390_linux22)
+ CC="gcc"
+ CCOBJ="gcc"
+ LD="ld"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CC="$CC"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ s390_linux24|s390_linux26)
+ CC="gcc"
+ CCOBJ="gcc"
+ LD="ld"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CC="$CC"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ s390x_linux24|s390x_linux26)
+ CC="gcc"
+ CCOBJ="gcc -fPIC"
+ LD="ld"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CC="$CC"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ sgi_62)
+ PINSTALL_LIBS=-lmld
+ AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LEX="lex"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-64 -mips3"
+ XCFLAGS="-o32"
+ XLDFLAGS64="-64"
+ XLDFLAGS="-o32"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sgi_63)
+ PINSTALL_LIBS=-lmld
+ AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LEX="lex"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
+ XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
+ XLDFLAGS64="-64"
+ XLDFLAGS="-o32"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sgi_64)
+ AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LEX="lex"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
+ XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -n32 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552"
+ XLDFLAGS64="-64"
+ XLDFLAGS="-n32"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sgi_65)
+ AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
+ CC="/usr/bin/cc"
+ CCOBJ="/usr/bin/cc"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LD="/usr/bin/ld"
+ LEX="lex"
+ MT_CC="/usr/bin/cc"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-64 -mips3"
+ XCFLAGS="-n32 -mips3 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552"
+ XLDFLAGS64="-64 -mips3"
+ XLDFLAGS="-n32 -mips3"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sparc64_linux*)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="-O2 -D_LARGEFILE64_SOURCE -m64"
+ XLDFLAGS64="-m64"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ sparc_linux22)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ sun4_413)
+ CCXPG2="/usr/xpg2bin/cc"
+ CC="gcc"
+ CCOBJ="gcc"
+ LEX="lex"
+ SHLIB_CFLAGS="-PIC"
+ TXLIBS="-lcurses -ltermcap"
+ XCFLAGS=""
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB}"
+ LD="ld"
+ ;;
+
+ sun4x_55)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ SHLIB_CFLAGS="-KPIC"
+ TXLIBS="-lcurses"
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ LD="/usr/ccs/bin/ld"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_56)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-L/usr/ccs/lib -lcurses"
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ LD="/usr/ccs/bin/ld"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_57)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_58)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_59)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_510)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_511)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -m64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sunx86_57)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_58)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_59)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_510)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_511)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -m64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
+ ;;
+esac
+
+#
+# Special build targets
+#
+case $AFS_SYSNAME in
+ sgi_6*)
+
+{ echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5
+echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6; }
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__"
+if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <sys/systm.h>
+int
+main ()
+{
+
+extern void *memcpy(char *, const void *, size_t);
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_irix_sys_systm_h_has_mem_funcs=no
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_irix_sys_systm_h_has_mem_funcs=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+CPPFLAGS="$save_CPPFLAGS"
+if test "$ac_cv_irix_sys_systm_h_has_mem_funcs" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IRIX_HAS_MEM_FUNCS 1
+_ACEOF
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_irix_sys_systm_h_has_mem_funcs" >&5
+echo "${ECHO_T}$ac_cv_irix_sys_systm_h_has_mem_funcs" >&6; }
+
+ XFS_SIZE_CHECK="xfs_size_check"
+ install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
+ dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
+
+
+
+
+ ;;
+
+ sun4x_*|sunx86_*)
+ FS_CONV_SOL26="fs_conv_sol26"
+ install_FS_CONV_SOL26='$(DESTDIR)${afssrvsbindir}/fs_conv_sol26'
+ dest_FS_CONV_SOL26='$(DEST)/root.server/usr/afs/bin/fs_conv_sol26'
+
+
+
+
+ ;;
+
+ alpha_dux*)
+ FS_CONV_OSF40D="fs_conv_dux40D"
+ install_FS_CONV_OSF40D='$(DESTDIR)${afssrvsbindir}/fs_conv_dux40D'
+ dest_FS_CONV_OSF40D='$(DEST)/root.server/usr/afs/bin/fs_conv_dux40D'
+
+
+
+
+ ;;
+esac
+
+if test "x$enable_debug_kernel" = "xno"; then
+ KERN_DBG=
+fi
+
+if test "x$enable_optimize_kernel" = "xno"; then
+ KERN_OPTMZ=
+fi
+
+if test "x$enable_debug" = "xno"; then
+ DBG=
+ NO_STRIP_BIN=
+ NO_STRIP_KRB=-s
+fi
+
+if test "x$enable_optimize" = "xno"; then
+ OPTMZ=
+fi
+
+if test "x$enable_debug_lwp" = "xno"; then
+ LWP_DBG=
+fi
+
+if test "x$enable_optimize_lwp" = "xno"; then
+ LWP_OPTMZ=
+fi
+
+if test "x$enable_strip_binaries" != "xno"; then
+ if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
+ NO_STRIP_BIN=-ns
+ NO_STRIP_KRB=-ns
+ else
+ NO_STRIP_BIN=
+ NO_STRIP_KRB=-s
+ fi
+else
+ NO_STRIP_BIN=-ns
+ NO_STRIP_KRB=-ns
+fi
+
+if test "x$enable_warnings" = "xyes"; then
+ if test "x$GCC" = "xyes"; then
+ XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition"
+ fi
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-krb5-conf was given.
+if test "${with_krb5_conf+set}" = set; then
+ withval=$with_krb5_conf;
+fi
+
+if test X$with_krb5_conf != X; then
+ conf_krb5=YES
+ if test X$with_krb5_conf = Xyes; then
+ # Extract the first word of "krb5-config", so it can be a program name with args.
+set dummy krb5-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $KRB5_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_KRB5_CONFIG="$KRB5_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_KRB5_CONFIG" && ac_cv_path_KRB5_CONFIG="not_found"
+ ;;
+esac
+fi
+KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG
+if test -n "$KRB5_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
+echo "${ECHO_T}$KRB5_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ if test X$KRB5_CONFIG = Xnot_found; then
+ { { echo "$as_me:$LINENO: error: cannot find krb5-config script, you must configure Kerberos manually" >&5
+echo "$as_me: error: cannot find krb5-config script, you must configure Kerberos manually" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ KRB5_CONFIG=$withval
+ fi
+ KRB5CFLAGS=`$KRB5_CONFIG --cflags krb5`
+ retval=$?
+ if test $retval -ne 0; then
+ { { echo "$as_me:$LINENO: error: $KRB5_CONFIG failed with an error code of $retval" >&5
+echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ KRB5LIBS=`$KRB5_CONFIG --libs krb5`
+ retval=$?
+ if test $retval -ne 0; then
+ { { echo "$as_me:$LINENO: error: $KRB5_CONFIG failed with an error code of $retval" >&5
+echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ { echo "$as_me:$LINENO: result: Adding $KRB5CFLAGS to KRB5CFLAGS" >&5
+echo "${ECHO_T}Adding $KRB5CFLAGS to KRB5CFLAGS" >&6; }
+ { echo "$as_me:$LINENO: result: Adding $KRB5LIBS to KRB5LIBS" >&5
+echo "${ECHO_T}Adding $KRB5LIBS to KRB5LIBS" >&6; }
+fi
+
+
+# Check whether --with-krb5 was given.
+if test "${with_krb5+set}" = set; then
+ withval=$with_krb5;
+fi
+
+
+if test X$with_krb5 != X; then
+ if test X$conf_krb5 = XYES; then
+ { { echo "$as_me:$LINENO: error: --with-krb5-config and --with-krb5 are mutually exclusive, choose only one" >&5
+echo "$as_me: error: --with-krb5-config and --with-krb5 are mutually exclusive, choose only one" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ if test "X$KRB5CFLAGS" = X; then
+ { echo "$as_me:$LINENO: WARNING: KRB5CFLAGS is not set" >&5
+echo "$as_me: WARNING: KRB5CFLAGS is not set" >&2;}
+ fi
+ if test "X$KRB5LIBS" = X; then
+ { echo "$as_me:$LINENO: WARNING: KRB5LIBS is not set" >&5
+echo "$as_me: WARNING: KRB5LIBS is not set" >&2;}
+ fi
+ conf_krb5=YES
+fi
+
+BUILD_KRB5=no
+MAKE_KRB5=#
+if test X$conf_krb5 = XYES; then
+ { echo "$as_me:$LINENO: result: Configuring support for Kerberos 5 utilities" >&5
+echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; }
+ BUILD_KRB5=yes
+ MAKE_KRB5=
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $KRB5LIBS"
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket krb5_get_prompt_types krb5_allow_weak_crypto krb5_enctype_enable
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+for ac_func in krb5_524_convert_creds
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+for ac_func in krb524_convert_creds_kdc
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ { echo "$as_me:$LINENO: checking for krb524_convert_creds_kdc in -lkrb524" >&5
+echo $ECHO_N "checking for krb524_convert_creds_kdc in -lkrb524... $ECHO_C" >&6; }
+if test "${ac_cv_lib_krb524_krb524_convert_creds_kdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkrb524 $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char krb524_convert_creds_kdc ();
+int
+main ()
+{
+return krb524_convert_creds_kdc ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_krb524_krb524_convert_creds_kdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_krb524_krb524_convert_creds_kdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_krb524_krb524_convert_creds_kdc" >&5
+echo "${ECHO_T}$ac_cv_lib_krb524_krb524_convert_creds_kdc" >&6; }
+if test $ac_cv_lib_krb524_krb524_convert_creds_kdc = yes; then
+ LIBS="-lkrb524 $LIBS"
+ KRB5LIBS="-lkrb524 $LIBS"
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB524_CONVERT_CREDS_KDC 1
+_ACEOF
+
+fi
+
+fi
+done
+
+fi
+done
+
+
+for ac_header in kerberosIV/krb.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in kerberosV/heim_err.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ echo "$as_me:$LINENO: checking for krb5_creds.keyblock existence" >&5
+echo $ECHO_N "checking for krb5_creds.keyblock existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_creds_keyblock_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <krb5.h>
+int
+main ()
+{
+krb5_creds _c;
+printf("%x\n", _c.keyblock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_krb5_creds_keyblock_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_krb5_creds_keyblock_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_keyblock_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_keyblock_exists" >&6; }
+
+{ echo "$as_me:$LINENO: checking for krb5_creds.session existence" >&5
+echo $ECHO_N "checking for krb5_creds.session existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_creds_session_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <krb5.h>
+int
+main ()
+{
+krb5_creds _c;
+printf("%x\n", _c.session);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_krb5_creds_session_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_krb5_creds_session_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6; }
+
+{ echo "$as_me:$LINENO: checking for krb5_prompt.type existence" >&5
+echo $ECHO_N "checking for krb5_prompt.type existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_prompt_type_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <krb5.h>
+int
+main ()
+{
+krb5_prompt _p;
+printf("%x\n", _p.type);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_krb5_prompt_type_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_krb5_prompt_type_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_prompt_type_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_prompt_type_exists" >&6; }
+
+if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_CREDS_KEYBLOCK 1
+_ACEOF
+
+fi
+if test "x$ac_cv_krb5_creds_session_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_CREDS_SESSION 1
+_ACEOF
+
+fi
+if test "x$ac_cv_krb5_prompt_type_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_PROMPT_TYPE 1
+_ACEOF
+
+fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LIBS="$save_LIBS"
+fi
+
+if test "x$ac_cv_krb5_cc_register_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_CC_REGISTER 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+TOP_SRCDIR="${srcdir}/src"
+case $TOP_SRCDIR in
+ /*)
+ ;;
+ *)
+ TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
+ ;;
+esac
+
+TOP_OBJDIR="${SRCDIR_PARENT}"
+TOP_INCDIR="${SRCDIR_PARENT}/include"
+TOP_LIBDIR="${SRCDIR_PARENT}/lib"
+if test "${DEST}x" = "x"; then
+ DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
+fi
+
+HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
+HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
+
+
+
+mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
+
+
+
+if test -d 'doc/man-pages' ; then
+ MAN_MAKEFILE="doc/man-pages/Makefile doc/man-pages/install-man"
+else
+ MAN_MAKEFILE=
+fi
+if test -f 'doc/xml/AdminGuide/Makefile.in' ; then
+ ADMINGUIDE_MAKEFILE="doc/xml/AdminGuide/Makefile"
+else
+ ADMINGUIDE_MAKEFILE=
+fi
+if test -f 'doc/xml/QuickStartUnix/Makefile.in' ; then
+ QSUNIX_MAKEFILE="doc/xml/QuickStartUnix/Makefile"
+else
+ QSUNIX_MAKEFILE=
+fi
+if test -f 'doc/xml/UserGuide/Makefile.in' ; then
+ USERGUIDE_MAKEFILE="doc/xml/UserGuide/Makefile"
+else
+ USERGUIDE_MAKEFILE=
+fi
+
+ac_config_files="$ac_config_files Makefile ${MAN_MAKEFILE} ${ADMINGUIDE_MAKEFILE} ${QSUNIX_MAKEFILE} ${USERGUIDE_MAKEFILE} src/afs/Makefile src/afsd/Makefile src/afsmonitor/Makefile src/afsweb/Makefile src/aklog/Makefile src/audit/Makefile src/auth/Makefile src/auth/test/Makefile src/bozo/Makefile src/bozo/test/Makefile src/bu_utils/Makefile src/bubasics/Makefile src/bucoord/Makefile src/budb/Makefile src/butc/Makefile src/butm/Makefile src/cmd/Makefile src/cmd/test/Makefile src/comerr/Makefile src/comerr/test/Makefile src/config/Makefile src/config/Makefile.config src/config/Makefile.version-CML src/config/Makefile.version-NOCML src/dauth/Makefile src/des/Makefile src/des/test/Makefile src/des_stub/Makefile src/dir/Makefile src/dir/test/Makefile src/export/Makefile src/finale/Makefile src/fsint/Makefile src/fsprobe/Makefile src/gtx/Makefile src/JAVA/libjafs/Makefile src/kauth/Makefile src/kauth/test/Makefile src/libacl/Makefile src/libacl/test/Makefile src/libadmin/Makefile src/libadmin/adminutil/Makefile src/libadmin/bos/Makefile src/libadmin/cfg/Makefile src/libadmin/cfg/test/Makefile src/libadmin/client/Makefile src/libadmin/kas/Makefile src/libadmin/pts/Makefile src/libadmin/samples/Makefile src/libadmin/test/Makefile src/libadmin/vos/Makefile src/libafs/Makefile.common src/libafs/MakefileProto.${MKAFS_OSTYPE} ${DARWIN_PLIST} src/libafsauthent/Makefile src/libafsrpc/Makefile src/libuafs/Makefile.common src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/log/Makefile src/log/test/Makefile src/login/Makefile src/lwp/Makefile src/lwp/test/Makefile src/mpp/Makefile src/null/Makefile src/package/Makefile src/packaging/MacOS/OpenAFS-debug.Description.plist src/packaging/MacOS/OpenAFS-debug.Info.plist src/packaging/MacOS/OpenAFS.Description.plist src/packaging/MacOS/OpenAFS.Info.plist src/packaging/MacOS/OpenAFS.info src/packaging/MacOS/buildpkg.sh src/packaging/RedHat/openafs.spec src/pam/Makefile src/pinstall/Makefile src/pinstall/test/Makefile src/platform/Makefile src/platform/${MKAFS_OSTYPE}/Makefile src/procmgmt/Makefile src/procmgmt/test/Makefile src/ptserver/Makefile src/rx/Makefile src/rx/bulk.example/Makefile src/rx/bulktest/Makefile src/rx/multi.example/Makefile src/rx/simple.example/Makefile src/rx/test/Makefile src/rxdebug/Makefile src/rxgen/Makefile src/rxkad/Makefile src/rxkad/test/Makefile src/rxstat/Makefile src/scout/Makefile src/sgistuff/Makefile src/shlibafsauthent/Makefile src/shlibafsrpc/Makefile src/sia/Makefile src/sys/Makefile src/tbutc/Makefile src/tests/Makefile src/tests/run-tests src/tsm41/Makefile src/tviced/Makefile src/tvolser/Makefile src/ubik/Makefile src/update/Makefile src/usd/Makefile src/usd/test/Makefile src/uss/Makefile src/util/Makefile src/util/test/Makefile src/venus/Makefile src/venus/test/Makefile src/vfsck/Makefile src/viced/Makefile src/vlserver/Makefile src/vol/Makefile src/vol/test/Makefile src/volser/Makefile src/wsadmin.src/Makefile src/xstat/Makefile src/helper-splint.sh"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "src/config/afsconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config/afsconfig.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "${MAN_MAKEFILE}") CONFIG_FILES="$CONFIG_FILES ${MAN_MAKEFILE}" ;;
+ "${ADMINGUIDE_MAKEFILE}") CONFIG_FILES="$CONFIG_FILES ${ADMINGUIDE_MAKEFILE}" ;;
+ "${QSUNIX_MAKEFILE}") CONFIG_FILES="$CONFIG_FILES ${QSUNIX_MAKEFILE}" ;;
+ "${USERGUIDE_MAKEFILE}") CONFIG_FILES="$CONFIG_FILES ${USERGUIDE_MAKEFILE}" ;;
+ "src/afs/Makefile") CONFIG_FILES="$CONFIG_FILES src/afs/Makefile" ;;
+ "src/afsd/Makefile") CONFIG_FILES="$CONFIG_FILES src/afsd/Makefile" ;;
+ "src/afsmonitor/Makefile") CONFIG_FILES="$CONFIG_FILES src/afsmonitor/Makefile" ;;
+ "src/afsweb/Makefile") CONFIG_FILES="$CONFIG_FILES src/afsweb/Makefile" ;;
+ "src/aklog/Makefile") CONFIG_FILES="$CONFIG_FILES src/aklog/Makefile" ;;
+ "src/audit/Makefile") CONFIG_FILES="$CONFIG_FILES src/audit/Makefile" ;;
+ "src/auth/Makefile") CONFIG_FILES="$CONFIG_FILES src/auth/Makefile" ;;
+ "src/auth/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/auth/test/Makefile" ;;
+ "src/bozo/Makefile") CONFIG_FILES="$CONFIG_FILES src/bozo/Makefile" ;;
+ "src/bozo/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/bozo/test/Makefile" ;;
+ "src/bu_utils/Makefile") CONFIG_FILES="$CONFIG_FILES src/bu_utils/Makefile" ;;
+ "src/bubasics/Makefile") CONFIG_FILES="$CONFIG_FILES src/bubasics/Makefile" ;;
+ "src/bucoord/Makefile") CONFIG_FILES="$CONFIG_FILES src/bucoord/Makefile" ;;
+ "src/budb/Makefile") CONFIG_FILES="$CONFIG_FILES src/budb/Makefile" ;;
+ "src/butc/Makefile") CONFIG_FILES="$CONFIG_FILES src/butc/Makefile" ;;
+ "src/butm/Makefile") CONFIG_FILES="$CONFIG_FILES src/butm/Makefile" ;;
+ "src/cmd/Makefile") CONFIG_FILES="$CONFIG_FILES src/cmd/Makefile" ;;
+ "src/cmd/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/cmd/test/Makefile" ;;
+ "src/comerr/Makefile") CONFIG_FILES="$CONFIG_FILES src/comerr/Makefile" ;;
+ "src/comerr/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/comerr/test/Makefile" ;;
+ "src/config/Makefile") CONFIG_FILES="$CONFIG_FILES src/config/Makefile" ;;
+ "src/config/Makefile.config") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.config" ;;
+ "src/config/Makefile.version-CML") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version-CML" ;;
+ "src/config/Makefile.version-NOCML") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version-NOCML" ;;
+ "src/dauth/Makefile") CONFIG_FILES="$CONFIG_FILES src/dauth/Makefile" ;;
+ "src/des/Makefile") CONFIG_FILES="$CONFIG_FILES src/des/Makefile" ;;
+ "src/des/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/des/test/Makefile" ;;
+ "src/des_stub/Makefile") CONFIG_FILES="$CONFIG_FILES src/des_stub/Makefile" ;;
+ "src/dir/Makefile") CONFIG_FILES="$CONFIG_FILES src/dir/Makefile" ;;
+ "src/dir/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/dir/test/Makefile" ;;
+ "src/export/Makefile") CONFIG_FILES="$CONFIG_FILES src/export/Makefile" ;;
+ "src/finale/Makefile") CONFIG_FILES="$CONFIG_FILES src/finale/Makefile" ;;
+ "src/fsint/Makefile") CONFIG_FILES="$CONFIG_FILES src/fsint/Makefile" ;;
+ "src/fsprobe/Makefile") CONFIG_FILES="$CONFIG_FILES src/fsprobe/Makefile" ;;
+ "src/gtx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gtx/Makefile" ;;
+ "src/JAVA/libjafs/Makefile") CONFIG_FILES="$CONFIG_FILES src/JAVA/libjafs/Makefile" ;;
+ "src/kauth/Makefile") CONFIG_FILES="$CONFIG_FILES src/kauth/Makefile" ;;
+ "src/kauth/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/kauth/test/Makefile" ;;
+ "src/libacl/Makefile") CONFIG_FILES="$CONFIG_FILES src/libacl/Makefile" ;;
+ "src/libacl/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/libacl/test/Makefile" ;;
+ "src/libadmin/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/Makefile" ;;
+ "src/libadmin/adminutil/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/adminutil/Makefile" ;;
+ "src/libadmin/bos/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/bos/Makefile" ;;
+ "src/libadmin/cfg/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/cfg/Makefile" ;;
+ "src/libadmin/cfg/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/cfg/test/Makefile" ;;
+ "src/libadmin/client/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/client/Makefile" ;;
+ "src/libadmin/kas/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/kas/Makefile" ;;
+ "src/libadmin/pts/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/pts/Makefile" ;;
+ "src/libadmin/samples/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/samples/Makefile" ;;
+ "src/libadmin/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/test/Makefile" ;;
+ "src/libadmin/vos/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/vos/Makefile" ;;
+ "src/libafs/Makefile.common") CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile.common" ;;
+ "src/libafs/MakefileProto.${MKAFS_OSTYPE}") CONFIG_FILES="$CONFIG_FILES src/libafs/MakefileProto.${MKAFS_OSTYPE}" ;;
+ "${DARWIN_PLIST}") CONFIG_FILES="$CONFIG_FILES ${DARWIN_PLIST}" ;;
+ "src/libafsauthent/Makefile") CONFIG_FILES="$CONFIG_FILES src/libafsauthent/Makefile" ;;
+ "src/libafsrpc/Makefile") CONFIG_FILES="$CONFIG_FILES src/libafsrpc/Makefile" ;;
+ "src/libuafs/Makefile.common") CONFIG_FILES="$CONFIG_FILES src/libuafs/Makefile.common" ;;
+ "src/libuafs/MakefileProto.${MKAFS_OSTYPE}") CONFIG_FILES="$CONFIG_FILES src/libuafs/MakefileProto.${MKAFS_OSTYPE}" ;;
+ "src/log/Makefile") CONFIG_FILES="$CONFIG_FILES src/log/Makefile" ;;
+ "src/log/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/log/test/Makefile" ;;
+ "src/login/Makefile") CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
+ "src/lwp/Makefile") CONFIG_FILES="$CONFIG_FILES src/lwp/Makefile" ;;
+ "src/lwp/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/lwp/test/Makefile" ;;
+ "src/mpp/Makefile") CONFIG_FILES="$CONFIG_FILES src/mpp/Makefile" ;;
+ "src/null/Makefile") CONFIG_FILES="$CONFIG_FILES src/null/Makefile" ;;
+ "src/package/Makefile") CONFIG_FILES="$CONFIG_FILES src/package/Makefile" ;;
+ "src/packaging/MacOS/OpenAFS-debug.Description.plist") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS-debug.Description.plist" ;;
+ "src/packaging/MacOS/OpenAFS-debug.Info.plist") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS-debug.Info.plist" ;;
+ "src/packaging/MacOS/OpenAFS.Description.plist") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.Description.plist" ;;
+ "src/packaging/MacOS/OpenAFS.Info.plist") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.Info.plist" ;;
+ "src/packaging/MacOS/OpenAFS.info") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.info" ;;
+ "src/packaging/MacOS/buildpkg.sh") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/buildpkg.sh" ;;
+ "src/packaging/RedHat/openafs.spec") CONFIG_FILES="$CONFIG_FILES src/packaging/RedHat/openafs.spec" ;;
+ "src/pam/Makefile") CONFIG_FILES="$CONFIG_FILES src/pam/Makefile" ;;
+ "src/pinstall/Makefile") CONFIG_FILES="$CONFIG_FILES src/pinstall/Makefile" ;;
+ "src/pinstall/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/pinstall/test/Makefile" ;;
+ "src/platform/Makefile") CONFIG_FILES="$CONFIG_FILES src/platform/Makefile" ;;
+ "src/platform/${MKAFS_OSTYPE}/Makefile") CONFIG_FILES="$CONFIG_FILES src/platform/${MKAFS_OSTYPE}/Makefile" ;;
+ "src/procmgmt/Makefile") CONFIG_FILES="$CONFIG_FILES src/procmgmt/Makefile" ;;
+ "src/procmgmt/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/procmgmt/test/Makefile" ;;
+ "src/ptserver/Makefile") CONFIG_FILES="$CONFIG_FILES src/ptserver/Makefile" ;;
+ "src/rx/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/Makefile" ;;
+ "src/rx/bulk.example/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/bulk.example/Makefile" ;;
+ "src/rx/bulktest/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/bulktest/Makefile" ;;
+ "src/rx/multi.example/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/multi.example/Makefile" ;;
+ "src/rx/simple.example/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/simple.example/Makefile" ;;
+ "src/rx/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/test/Makefile" ;;
+ "src/rxdebug/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxdebug/Makefile" ;;
+ "src/rxgen/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxgen/Makefile" ;;
+ "src/rxkad/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxkad/Makefile" ;;
+ "src/rxkad/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxkad/test/Makefile" ;;
+ "src/rxstat/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxstat/Makefile" ;;
+ "src/scout/Makefile") CONFIG_FILES="$CONFIG_FILES src/scout/Makefile" ;;
+ "src/sgistuff/Makefile") CONFIG_FILES="$CONFIG_FILES src/sgistuff/Makefile" ;;
+ "src/shlibafsauthent/Makefile") CONFIG_FILES="$CONFIG_FILES src/shlibafsauthent/Makefile" ;;
+ "src/shlibafsrpc/Makefile") CONFIG_FILES="$CONFIG_FILES src/shlibafsrpc/Makefile" ;;
+ "src/sia/Makefile") CONFIG_FILES="$CONFIG_FILES src/sia/Makefile" ;;
+ "src/sys/Makefile") CONFIG_FILES="$CONFIG_FILES src/sys/Makefile" ;;
+ "src/tbutc/Makefile") CONFIG_FILES="$CONFIG_FILES src/tbutc/Makefile" ;;
+ "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;;
+ "src/tests/run-tests") CONFIG_FILES="$CONFIG_FILES src/tests/run-tests" ;;
+ "src/tsm41/Makefile") CONFIG_FILES="$CONFIG_FILES src/tsm41/Makefile" ;;
+ "src/tviced/Makefile") CONFIG_FILES="$CONFIG_FILES src/tviced/Makefile" ;;
+ "src/tvolser/Makefile") CONFIG_FILES="$CONFIG_FILES src/tvolser/Makefile" ;;
+ "src/ubik/Makefile") CONFIG_FILES="$CONFIG_FILES src/ubik/Makefile" ;;
+ "src/update/Makefile") CONFIG_FILES="$CONFIG_FILES src/update/Makefile" ;;
+ "src/usd/Makefile") CONFIG_FILES="$CONFIG_FILES src/usd/Makefile" ;;
+ "src/usd/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/usd/test/Makefile" ;;
+ "src/uss/Makefile") CONFIG_FILES="$CONFIG_FILES src/uss/Makefile" ;;
+ "src/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;;
+ "src/util/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/test/Makefile" ;;
+ "src/venus/Makefile") CONFIG_FILES="$CONFIG_FILES src/venus/Makefile" ;;
+ "src/venus/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/venus/test/Makefile" ;;
+ "src/vfsck/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfsck/Makefile" ;;
+ "src/viced/Makefile") CONFIG_FILES="$CONFIG_FILES src/viced/Makefile" ;;
+ "src/vlserver/Makefile") CONFIG_FILES="$CONFIG_FILES src/vlserver/Makefile" ;;
+ "src/vol/Makefile") CONFIG_FILES="$CONFIG_FILES src/vol/Makefile" ;;
+ "src/vol/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/vol/test/Makefile" ;;
+ "src/volser/Makefile") CONFIG_FILES="$CONFIG_FILES src/volser/Makefile" ;;
+ "src/wsadmin.src/Makefile") CONFIG_FILES="$CONFIG_FILES src/wsadmin.src/Makefile" ;;
+ "src/xstat/Makefile") CONFIG_FILES="$CONFIG_FILES src/xstat/Makefile" ;;
+ "src/helper-splint.sh") CONFIG_FILES="$CONFIG_FILES src/helper-splint.sh" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MACOS_VERSION!$MACOS_VERSION$ac_delim
+LINUX_PKGVER!$LINUX_PKGVER$ac_delim
+LINUX_PKGREL!$LINUX_PKGREL$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+PATH_CPP!$PATH_CPP$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+RANLIB!$RANLIB$ac_delim
+YACC!$YACC$ac_delim
+YFLAGS!$YFLAGS$ac_delim
+LEX!$LEX$ac_delim
+LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
+LEXLIB!$LEXLIB$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+HEADER_RT!$HEADER_RT$ac_delim
+P5PLUS_KOPTS!$P5PLUS_KOPTS$ac_delim
+LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
+RHCONFIG_SP!$RHCONFIG_SP$ac_delim
+RHCONFIG_MP!$RHCONFIG_MP$ac_delim
+MPS!$MPS$ac_delim
+PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
+USE_UNIX_SOCKETS!$USE_UNIX_SOCKETS$ac_delim
+XBSA_CFLAGS!$XBSA_CFLAGS$ac_delim
+XBSA_XLIBS!$XBSA_XLIBS$ac_delim
+HAVE_PAM!$HAVE_PAM$ac_delim
+BUILD_LOGIN!$BUILD_LOGIN$ac_delim
+afsconfdir!$afsconfdir$ac_delim
+viceetcdir!$viceetcdir$ac_delim
+afskerneldir!$afskerneldir$ac_delim
+afssrvbindir!$afssrvbindir$ac_delim
+afssrvsbindir!$afssrvsbindir$ac_delim
+afssrvlibexecdir!$afssrvlibexecdir$ac_delim
+afsdbdir!$afsdbdir$ac_delim
+afslogsdir!$afslogsdir$ac_delim
+afslocaldir!$afslocaldir$ac_delim
+afsbackupdir!$afsbackupdir$ac_delim
+afsbosconfigdir!$afsbosconfigdir$ac_delim
+AFS_SYSNAME!$AFS_SYSNAME$ac_delim
+AFS_PARAM_COMMON!$AFS_PARAM_COMMON$ac_delim
+ENABLE_KERNEL_MODULE!$ENABLE_KERNEL_MODULE$ac_delim
+LIB_AFSDB!$LIB_AFSDB$ac_delim
+LINUX_KERNEL_PATH!$LINUX_KERNEL_PATH$ac_delim
+LINUX_KERNEL_BUILD!$LINUX_KERNEL_BUILD$ac_delim
+BSD_KERNEL_PATH!$BSD_KERNEL_PATH$ac_delim
+BSD_KERNEL_BUILD!$BSD_KERNEL_BUILD$ac_delim
+LINUX_VERSION!$LINUX_VERSION$ac_delim
+MKAFS_OSTYPE!$MKAFS_OSTYPE$ac_delim
+TOP_OBJDIR!$TOP_OBJDIR$ac_delim
+TOP_SRCDIR!$TOP_SRCDIR$ac_delim
+TOP_INCDIR!$TOP_INCDIR$ac_delim
+TOP_LIBDIR!$TOP_LIBDIR$ac_delim
+DEST!$DEST$ac_delim
+WITH_OBSOLETE!$WITH_OBSOLETE$ac_delim
+DARWIN_INFOFILE!$DARWIN_INFOFILE$ac_delim
+IRIX_BUILD_IP35!$IRIX_BUILD_IP35$ac_delim
+HTML_XSL!$HTML_XSL$ac_delim
+XSLTPROC!$XSLTPROC$ac_delim
+AS!$AS$ac_delim
+AR!$AR$ac_delim
+MV!$MV$ac_delim
+RM!$RM$ac_delim
+LD!$LD$ac_delim
+CP!$CP$ac_delim
+LORDER!$LORDER$ac_delim
+XFS_SIZE_CHECK!$XFS_SIZE_CHECK$ac_delim
+install_XFS_SIZE_CHECK!$install_XFS_SIZE_CHECK$ac_delim
+dest_XFS_SIZE_CHECK!$dest_XFS_SIZE_CHECK$ac_delim
+FS_CONV_SOL26!$FS_CONV_SOL26$ac_delim
+install_FS_CONV_SOL26!$install_FS_CONV_SOL26$ac_delim
+dest_FS_CONV_SOL26!$dest_FS_CONV_SOL26$ac_delim
+FS_CONV_OSF40D!$FS_CONV_OSF40D$ac_delim
+install_FS_CONV_OSF40D!$install_FS_CONV_OSF40D$ac_delim
+dest_FS_CONV_OSF40D!$dest_FS_CONV_OSF40D$ac_delim
+CCXPG2!$CCXPG2$ac_delim
+CCOBJ!$CCOBJ$ac_delim
+AFSD_LIBS!$AFSD_LIBS$ac_delim
+AFSD_LDFLAGS!$AFSD_LDFLAGS$ac_delim
+AIX32!$AIX32$ac_delim
+AIX64!$AIX64$ac_delim
+DBG!$DBG$ac_delim
+FSINCLUDES!$FSINCLUDES$ac_delim
+KERN_DBG!$KERN_DBG$ac_delim
+KERN_OPTMZ!$KERN_OPTMZ$ac_delim
+LWP_DBG!$LWP_DBG$ac_delim
+LWP_OPTMZ!$LWP_OPTMZ$ac_delim
+MT_CC!$MT_CC$ac_delim
+MT_CFLAGS!$MT_CFLAGS$ac_delim
+MT_LIBS!$MT_LIBS$ac_delim
+NO_STRIP_BIN!$NO_STRIP_BIN$ac_delim
+NO_STRIP_KRB!$NO_STRIP_KRB$ac_delim
+OPTMZ!$OPTMZ$ac_delim
+PAM_CFLAGS!$PAM_CFLAGS$ac_delim
+PAM_LIBS!$PAM_LIBS$ac_delim
+PINSTALL_LIBS!$PINSTALL_LIBS$ac_delim
+REGEX_OBJ!$REGEX_OBJ$ac_delim
+SHLIB_CFLAGS!$SHLIB_CFLAGS$ac_delim
+SHLIB_LDFLAGS!$SHLIB_LDFLAGS$ac_delim
+SHLIB_LINKER!$SHLIB_LINKER$ac_delim
+SHLIB_SUFFIX!$SHLIB_SUFFIX$ac_delim
+TXLIBS!$TXLIBS$ac_delim
+VFSCK_CFLAGS!$VFSCK_CFLAGS$ac_delim
+XCFLAGS!$XCFLAGS$ac_delim
+XCFLAGS64!$XCFLAGS64$ac_delim
+XLDFLAGS!$XLDFLAGS$ac_delim
+XLDFLAGS64!$XLDFLAGS64$ac_delim
+XLIBELFA!$XLIBELFA$ac_delim
+XLIBKVM!$XLIBKVM$ac_delim
+XLIBS!$XLIBS$ac_delim
+KRB5_CONFIG!$KRB5_CONFIG$ac_delim
+BUILD_KRB5!$BUILD_KRB5$ac_delim
+MAKE_KRB5!$MAKE_KRB5$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+KRB5CFLAGS!$KRB5CFLAGS$ac_delim
+KRB5LIBS!$KRB5LIBS$ac_delim
+HELPER_SPLINT!$HELPER_SPLINT$ac_delim
+HELPER_SPLINTCFG!$HELPER_SPLINTCFG$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+_ACEOF
+
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[ #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
+do
+ # Write a here document:
+ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines conftest.tail
+
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
+cat >>$CONFIG_STATUS <<\_ACEOF
+ if test x"$ac_file" != x-; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f $ac_file
+ mv "$tmp/config.h" $ac_file
+ fi
+ else
+ echo "/* $configure_input */"
+ cat "$ac_result"
+ fi
+ rm -f "$tmp/out12"
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $ac_file | $ac_file:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X$ac_file : 'X\(//\)[^/]' \| \
+ X$ac_file : 'X\(//\)$' \| \
+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
+echo X$ac_file |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
--- /dev/null
- VERSION=1.4.12.1
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="src/libafs/Makefile.common.in"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+am__isrc
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MACOS_VERSION
+LINUX_PKGVER
+LINUX_PKGREL
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPP
+GREP
+EGREP
+LN_S
+RANLIB
+YACC
+YFLAGS
+LEX
+LEX_OUTPUT_ROOT
+LEXLIB
+HEADER_RT
+P5PLUS_KOPTS
+LINUX_GCC_KOPTS
+RHCONFIG_SP
+RHCONFIG_MP
+MPS
+PTHREAD_LIBS
+USE_UNIX_SOCKETS
+XBSA_CFLAGS
+XBSA_XLIBS
+HAVE_PAM
+BUILD_LOGIN
+afsconfdir
+viceetcdir
+afskerneldir
+afssrvbindir
+afssrvsbindir
+afssrvlibexecdir
+afsdbdir
+afslogsdir
+afslocaldir
+afsbackupdir
+afsbosconfigdir
+AFS_SYSNAME
+AFS_PARAM_COMMON
+ENABLE_KERNEL_MODULE
+LIB_AFSDB
+LINUX_KERNEL_PATH
+LINUX_KERNEL_BUILD
+BSD_KERNEL_PATH
+BSD_KERNEL_BUILD
+LINUX_VERSION
+MKAFS_OSTYPE
+TOP_OBJDIR
+TOP_SRCDIR
+TOP_INCDIR
+TOP_LIBDIR
+DEST
+WITH_OBSOLETE
+DARWIN_INFOFILE
+IRIX_BUILD_IP35
+HTML_XSL
+XSLTPROC
+AS
+AR
+MV
+RM
+LD
+CP
+LORDER
+XFS_SIZE_CHECK
+install_XFS_SIZE_CHECK
+dest_XFS_SIZE_CHECK
+FS_CONV_SOL26
+install_FS_CONV_SOL26
+dest_FS_CONV_SOL26
+FS_CONV_OSF40D
+install_FS_CONV_OSF40D
+dest_FS_CONV_OSF40D
+CCXPG2
+CCOBJ
+AFSD_LIBS
+AFSD_LDFLAGS
+AIX32
+AIX64
+DBG
+FSINCLUDES
+KERN_DBG
+KERN_OPTMZ
+LWP_DBG
+LWP_OPTMZ
+MT_CC
+MT_CFLAGS
+MT_LIBS
+NO_STRIP_BIN
+NO_STRIP_KRB
+OPTMZ
+PAM_CFLAGS
+PAM_LIBS
+PINSTALL_LIBS
+REGEX_OBJ
+SHLIB_CFLAGS
+SHLIB_LDFLAGS
+SHLIB_LINKER
+SHLIB_SUFFIX
+TXLIBS
+VFSCK_CFLAGS
+XCFLAGS
+XCFLAGS64
+XLDFLAGS
+XLDFLAGS64
+XLIBELFA
+XLIBKVM
+XLIBS
+KRB5_CONFIG
+BUILD_KRB5
+MAKE_KRB5
+KRB5CFLAGS
+KRB5LIBS
+HELPER_SPLINT
+HELPER_SPLINTCFG
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+YACC
+YFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-obsolete enable obsolete portions of AFS (mpp and package)
+ --disable-afsdb disable AFSDB RR support
+ --disable-pam disable PAM support
+ --enable-bos-restricted-mode enable bosserver restricted mode which disables certain bosserver functionality
+ --enable-bos-new-config enable bosserver pickup of BosConfig.new on restarts
+ --disable-largefile-fileserver disable large file support in fileserver
+ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver
+ --enable-supergroups enable support for nested pts groups
+ --enable-fast-restart enable fast startup of file server without salvaging
+ --enable-bitmap-later enable fast startup of file server by not reading bitmap till needed
+ --enable-unix-sockets enable use of unix domain sockets for fssync
+ --disable-full-vos-listvol-switch disable vos full listvol switch for formatted output
+ --disable-kernel-module disable compilation of the kernel module (defaults to enabled)
+ --enable-redhat-buildsys enable compilation of the redhat build system kernel (defaults to disabled)
+ --enable-transarc-paths Use Transarc style paths like /usr/afs and /usr/vice
+ --enable-tivoli-tsm Enable use of the Tivoli TSM API libraries for butc support
+ --enable-debug-kernel enable compilation of the kernel module with debugging information (defaults to disabled)
+ --disable-optimize-kernel disable compilation of the kernel module with optimization (defaults based on platform)
+ --enable-debug enable compilation of the user space code with debugging information (defaults to disabled)
+ --disable-strip-binaries disable stripping of symbol information from binaries (defaults to enabled)
+ --disable-optimize disable optimization for compilation of the user space code (defaults to enabled)
+ --enable-debug-lwp enable compilation of the LWP code with debugging information (defaults to disabled)
+ --disable-optimize-lwp disable optimization for compilation of the LWP code (defaults to enabled)
+ --enable-warnings enable compilation warnings when building with gcc (defaults to disabled)
+--disable-linux-syscall-probing disabling Linux syscall probing (defaults to enabled)
+ --enable-bigendian the target is big endian
+ --enable-littleendian the target is little endian
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-afs-sysname=sys use sys for the afs sysname
+
+ --with-dux-kernel-headers=path use the kernel headers found at path(optional, defaults to first match in /usr/sys)
+
+ --with-linux-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)
+
+ --with-linux-kernel-build=path use the kernel build found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)
+
+ --with-bsd-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/sys)
+
+ --with-bsd-kernel-build=path use the kernel build found at path(optional, defaults to KSRC/i386/compile/GENERIC)
+
+ --with-xslt-processor=ARG
+ which XSLT processor to use (possible choices are:
+ libxslt, saxon, xalan-j, xsltproc)
+ --with-html-xsl build HTML documentation using Norman Walsh's
+ DocBook XSL stylesheets (default is no; specify a
+ path to chunk.xsl or docbook.xsl)
+--with-krb5-conf=krb5-config-location Use a krb5-config script to configure Kerberos
+--with-krb5 Support for Kerberos 5 (manual configuration)
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ YACC The `Yet Another C Compiler' implementation to use. Defaults to
+ the first program found out of: `bison -y', `byacc', `yacc'.
+ YFLAGS The list of arguments that will be passed by default to $YACC.
+ This script will default YFLAGS to the empty string to avoid a
+ default value of `-d' given by some make applications.
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.10'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+done
+IFS=$as_save_IFS
+
+fi
+
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ test -d ./--version && rmdir ./--version
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+ [\\/$]* | ?:[\\/]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=openafs-libafs
- MACOS_VERSION=1.4.12f1
- LINUX_PKGVER=1.4.12.1
++ VERSION=1.4.14
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+ac_config_headers="$ac_config_headers src/config/afsconfig.h"
+
-
- extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
++MACOS_VERSION=1.4.14
++LINUX_PKGVER=1.4.14
+LINUX_PKGREL=1.1
+#LINUX_PKGREL=0.pre4
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort. b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions. Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ 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
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+ xno)
+ { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+
+
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ # Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_GREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ # Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+ $ac_path_EGREP_found && break 3
+ done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+ { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_prog in flex lex
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_LEX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$LEX"; then
+ ac_cv_prog_LEX="$LEX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LEX="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LEX=$ac_cv_prog_LEX
+if test -n "$LEX"; then
+ { echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$LEX" && break
+done
+test -n "$LEX" || LEX=":"
+
+if test "x$LEX" != "x:"; then
+ cat >conftest.l <<_ACEOF
+%%
+a { ECHO; }
+b { REJECT; }
+c { yymore (); }
+d { yyless (1); }
+e { yyless (input () != 0); }
+f { unput (yytext[0]); }
+. { BEGIN INITIAL; }
+%%
+#ifdef YYTEXT_POINTER
+extern char *yytext;
+#endif
+int
+main (void)
+{
+ return ! yylex () + ! yywrap ();
+}
+_ACEOF
+{ (ac_try="$LEX conftest.l"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$LEX conftest.l") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ echo "$as_me:$LINENO: checking lex output file root" >&5
+echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; }
+if test "${ac_cv_prog_lex_root+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+if test -f lex.yy.c; then
+ ac_cv_prog_lex_root=lex.yy
+elif test -f lexyy.c; then
+ ac_cv_prog_lex_root=lexyy
+else
+ { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5
+echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; }
+LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
+
+if test -z "${LEXLIB+set}"; then
+ { echo "$as_me:$LINENO: checking lex library" >&5
+echo $ECHO_N "checking lex library... $ECHO_C" >&6; }
+if test "${ac_cv_lib_lex+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ ac_save_LIBS=$LIBS
+ ac_cv_lib_lex='none needed'
+ for ac_lib in '' -lfl -ll; do
+ LIBS="$ac_lib $ac_save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_lex=$ac_lib
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ test "$ac_cv_lib_lex" != 'none needed' && break
+ done
+ LIBS=$ac_save_LIBS
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_lex" >&5
+echo "${ECHO_T}$ac_cv_lib_lex" >&6; }
+ test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex
+fi
+
+
+{ echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; }
+if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ # POSIX says lex can declare yytext either as a pointer or an array; the
+# default is implementation-dependent. Figure out which it is, since
+# not all implementations provide the %pointer and %array declarations.
+ac_cv_prog_lex_yytext_pointer=no
+ac_save_LIBS=$LIBS
+LIBS="$LEXLIB $ac_save_LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#define YYTEXT_POINTER 1
+`cat $LEX_OUTPUT_ROOT.c`
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_prog_lex_yytext_pointer=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_save_LIBS
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; }
+if test $ac_cv_prog_lex_yytext_pointer = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define YYTEXT_POINTER 1
+_ACEOF
+
+fi
+rm -f conftest.l $LEX_OUTPUT_ROOT.c
+
+fi
+{ echo "$as_me:$LINENO: checking for function prototypes" >&5
+echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; }
+if test "$ac_cv_prog_cc_c89" != no; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define PROTOTYPES 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+#define __PROTOTYPES 1
+_ACEOF
+
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+SRCDIR_PARENT=`pwd`
+
+#BOZO_SAVE_CORES pam sia
+
+# Check whether --with-afs-sysname was given.
+if test "${with_afs_sysname+set}" = set; then
+ withval=$with_afs_sysname;
+fi
+
+# Check whether --enable-obsolete was given.
+if test "${enable_obsolete+set}" = set; then
+ enableval=$enable_obsolete;
+else
+ enable_obsolete="no"
+fi
+
+# Check whether --enable-afsdb was given.
+if test "${enable_afsdb+set}" = set; then
+ enableval=$enable_afsdb;
+else
+ enable_afsdb="yes"
+fi
+
+# Check whether --enable-pam was given.
+if test "${enable_pam+set}" = set; then
+ enableval=$enable_pam;
+else
+ enable_pam="yes"
+fi
+
+# Check whether --enable-bos-restricted-mode was given.
+if test "${enable_bos_restricted_mode+set}" = set; then
+ enableval=$enable_bos_restricted_mode;
+else
+ enable_bos_restricted_mode="no"
+fi
+
+# Check whether --enable-bos-new-config was given.
+if test "${enable_bos_new_config+set}" = set; then
+ enableval=$enable_bos_new_config;
+else
+ enable_bos_new_config="no"
+fi
+
+# Check whether --enable-largefile-fileserver was given.
+if test "${enable_largefile_fileserver+set}" = set; then
+ enableval=$enable_largefile_fileserver;
+else
+ enable_largefile_fileserver="yes"
+fi
+
+# Check whether --enable-namei-fileserver was given.
+if test "${enable_namei_fileserver+set}" = set; then
+ enableval=$enable_namei_fileserver;
+else
+ enable_namei_fileserver="default"
+fi
+
+# Check whether --enable-supergroups was given.
+if test "${enable_supergroups+set}" = set; then
+ enableval=$enable_supergroups;
+else
+ enable_supergroups="no"
+fi
+
+# Check whether --enable-fast-restart was given.
+if test "${enable_fast_restart+set}" = set; then
+ enableval=$enable_fast_restart;
+else
+ enable_fast_restart="no"
+fi
+
+# Check whether --enable-bitmap-later was given.
+if test "${enable_bitmap_later+set}" = set; then
+ enableval=$enable_bitmap_later;
+else
+ enable_bitmap_later="no"
+fi
+
+# Check whether --enable-unix-sockets was given.
+if test "${enable_unix_sockets+set}" = set; then
+ enableval=$enable_unix_sockets;
+else
+ enable_unix_sockets="yes"
+fi
+
+# Check whether --enable-full-vos-listvol-switch was given.
+if test "${enable_full_vos_listvol_switch+set}" = set; then
+ enableval=$enable_full_vos_listvol_switch;
+else
+ enable_full_vos_listvol_switch="yes"
+fi
+
+
+# Check whether --with-dux-kernel-headers was given.
+if test "${with_dux_kernel_headers+set}" = set; then
+ withval=$with_dux_kernel_headers;
+fi
+
+
+# Check whether --with-linux-kernel-headers was given.
+if test "${with_linux_kernel_headers+set}" = set; then
+ withval=$with_linux_kernel_headers;
+fi
+
+
+# Check whether --with-linux-kernel-build was given.
+if test "${with_linux_kernel_build+set}" = set; then
+ withval=$with_linux_kernel_build;
+fi
+
+
+# Check whether --with-bsd-kernel-headers was given.
+if test "${with_bsd_kernel_headers+set}" = set; then
+ withval=$with_bsd_kernel_headers;
+fi
+
+
+# Check whether --with-bsd-kernel-build was given.
+if test "${with_bsd_kernel_build+set}" = set; then
+ withval=$with_bsd_kernel_build;
+fi
+
+# Check whether --enable-kernel-module was given.
+if test "${enable_kernel_module+set}" = set; then
+ enableval=$enable_kernel_module;
+else
+ enable_kernel_module="yes"
+
+fi
+
+# Check whether --enable-redhat-buildsys was given.
+if test "${enable_redhat_buildsys+set}" = set; then
+ enableval=$enable_redhat_buildsys;
+else
+ enable_redhat_buildsys="no"
+
+fi
+
+# Check whether --enable-transarc-paths was given.
+if test "${enable_transarc_paths+set}" = set; then
+ enableval=$enable_transarc_paths;
+else
+ enable_transarc_paths="no"
+
+fi
+
+# Check whether --enable-tivoli-tsm was given.
+if test "${enable_tivoli_tsm+set}" = set; then
+ enableval=$enable_tivoli_tsm;
+else
+ enable_tivoli_tsm="no"
+
+fi
+
+# Check whether --enable-debug-kernel was given.
+if test "${enable_debug_kernel+set}" = set; then
+ enableval=$enable_debug_kernel;
+else
+ enable_debug_kernel="no"
+
+fi
+
+# Check whether --enable-optimize-kernel was given.
+if test "${enable_optimize_kernel+set}" = set; then
+ enableval=$enable_optimize_kernel;
+else
+ enable_optimize_kernel="yes"
+
+fi
+
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+ enableval=$enable_debug;
+else
+ enable_debug="no"
+
+fi
+
+# Check whether --enable-strip-binaries was given.
+if test "${enable_strip_binaries+set}" = set; then
+ enableval=$enable_strip_binaries;
+else
+ enable_strip_binaries="maybe"
+
+fi
+
+# Check whether --enable-optimize was given.
+if test "${enable_optimize+set}" = set; then
+ enableval=$enable_optimize;
+else
+ enable_optimize="yes"
+
+fi
+
+# Check whether --enable-debug-lwp was given.
+if test "${enable_debug_lwp+set}" = set; then
+ enableval=$enable_debug_lwp;
+else
+ enable_debug_lwp="no"
+
+fi
+
+# Check whether --enable-optimize-lwp was given.
+if test "${enable_optimize_lwp+set}" = set; then
+ enableval=$enable_optimize_lwp;
+else
+ enable_optimize_lwp="yes"
+
+fi
+
+# Check whether --enable-warnings was given.
+if test "${enable_warnings+set}" = set; then
+ enableval=$enable_warnings;
+else
+ enable_warnings="no"
+
+fi
+
+# Check whether --enable-linux-syscall-probing was given.
+if test "${enable_linux_syscall_probing+set}" = set; then
+ enableval=$enable_linux_syscall_probing;
+else
+ enable_probing="yes"
+
+fi
+
+
+enable_login="no"
+
+{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
+echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
+if test "${ac_cv_search_strerror+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
+int
+main ()
+{
+return strerror ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' cposix; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_strerror=$ac_res
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_strerror+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+ :
+else
+ ac_cv_search_strerror=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for pid_t" >&5
+echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_pid_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef pid_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_pid_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_pid_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
+if test $ac_cv_type_pid_t = yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define pid_t int
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_size_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef size_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_size_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_size_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
+if test $ac_cv_type_size_t = yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned int
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
+if test "${ac_cv_type_signal+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <signal.h>
+
+int
+main ()
+{
+return *(signal (0, 0)) (0) == 1;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_signal=int
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_signal=void
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+echo "${ECHO_T}$ac_cv_type_signal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+
+{ echo "$as_me:$LINENO: checking for __FUNCTION__ and __LINE__ macros" >&5
+echo $ECHO_N "checking for __FUNCTION__ and __LINE__ macros... $ECHO_C" >&6; }
+if test "${ac_cv_compiler_has_function_macro+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <stdio.h>
+int
+main ()
+{
+printf("%s:%d", __FUNCTION__, __LINE__);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_compiler_has_function_macro=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_compiler_has_function_macro=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_compiler_has_function_macro" >&5
+echo "${ECHO_T}$ac_cv_compiler_has_function_macro" >&6; }
+if test "$ac_cv_compiler_has_function_macro" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_FUNCTION_MACRO 1
+_ACEOF
+
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
+fi
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+for ac_prog in 'bison -y' byacc
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_YACC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$YACC"; then
+ ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_YACC="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+YACC=$ac_cv_prog_YACC
+if test -n "$YACC"; then
+ { echo "$as_me:$LINENO: result: $YACC" >&5
+echo "${ECHO_T}$YACC" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+if test "$LEX" = :; then
+ LEX=${am_missing_run}flex
+fi
+
+
+# Check whether --enable-bigendian was given.
+if test "${enable_bigendian+set}" = set; then
+ enableval=$enable_bigendian; openafs_cv_c_bigendian=yes
+fi
+
+# Check whether --enable-littleendian was given.
+if test "${enable_littleendian+set}" = set; then
+ enableval=$enable_littleendian; openafs_cv_c_bigendian=no
+fi
+
+{ echo "$as_me:$LINENO: checking whether byte order is known at compile time" >&5
+echo $ECHO_N "checking whether byte order is known at compile time... $ECHO_C" >&6; }
+if test "${openafs_cv_c_bigendian_compile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <sys/param.h>
+int
+main ()
+{
+
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_c_bigendian_compile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_c_bigendian_compile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian_compile" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian_compile" >&6; }
+{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
+if test "${openafs_cv_c_bigendian+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ if test "$openafs_cv_c_bigendian_compile" = "yes"; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/param.h>
+int
+main ()
+{
+
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_c_bigendian=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ else
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: specify either --enable-bigendian or --enable-littleendian" >&5
+echo "$as_me: error: specify either --enable-bigendian or --enable-littleendian" >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+main () {
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long l;
+ char c[sizeof (long)];
+ } u;
+ u.l = 1;
+ exit (u.c[sizeof (long) - 1] == 1);
+ }
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ openafs_cv_c_bigendian=no
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+openafs_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ fi
+
+fi
+{ echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian" >&6; }
+if test "$openafs_cv_c_bigendian" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AUTOCONF_FOUND_BIGENDIAN 1
+_ACEOF
+fi
+if test "$openafs_cv_c_bigendian_compile" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENDIANESS_IN_SYS_PARAM_H 1
+_ACEOF
+fi
+
+
+{ echo "$as_me:$LINENO: checking your OS" >&5
+echo $ECHO_N "checking your OS... $ECHO_C" >&6; }
+system=$host
+case $system in
+ *-linux*)
+
+ MKAFS_OSTYPE=LINUX
+ if test "x$enable_redhat_buildsys" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_REDHAT_BUILDSYS 1
+_ACEOF
+
+ fi
+ if test "x$enable_kernel_module" = "xyes"; then
+ if test "x$with_linux_kernel_headers" != "x"; then
+ LINUX_KERNEL_PATH="$with_linux_kernel_headers"
+ else
+ LINUX_KERNEL_PATH="/lib/modules/`uname -r`/source"
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/lib/modules/`uname -r`/build"
+ fi
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/usr/src/linux-2.4"
+ fi
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/usr/src/linux"
+ fi
+ fi
+ if test "x$with_linux_kernel_build" != "x"; then
+ LINUX_KERNEL_BUILD="$with_linux_kernel_build"
+ else
+ LINUX_KERNEL_BUILD=$LINUX_KERNEL_PATH
+ fi
+ if test -f "$LINUX_KERNEL_BUILD/include/generated/utsrelease.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/generated/utsrelease.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ LINUX_VERSION="$linux_kvers"
+ else
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/utsrelease.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ LINUX_VERSION="$linux_kvers"
+ else
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/version.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ if test "x$linux_kvers" = "x"; then
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/version-up.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -n 1`
+ if test "x$linux_kvers" = "x"; then
+ { { echo "$as_me:$LINENO: error: Linux headers lack version definition 2" >&5
+echo "$as_me: error: Linux headers lack version definition 2" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ else
+ LINUX_VERSION="$linux_kvers"
+ fi
+ else
+ { { echo "$as_me:$LINENO: error: Linux headers lack version definition" >&5
+echo "$as_me: error: Linux headers lack version definition" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ fi
+ else
+ LINUX_VERSION="$linux_kvers"
+ fi
+ else
+ enable_kernel_module="no"
+ fi
+ fi
+ fi
+ if test ! -f "$LINUX_KERNEL_BUILD/include/generated/autoconf.h" &&
+ test ! -f "$LINUX_KERNEL_BUILD/include/linux/autoconf.h"; then
+ enable_kernel_module="no"
+ fi
+ if test "x$enable_kernel_module" = "xno"; then
+ if test "x$with_linux_kernel_headers" != "x"; then
+ { { echo "$as_me:$LINENO: error: No usable linux headers found at $LINUX_KERNEL_PATH" >&5
+echo "$as_me: error: No usable linux headers found at $LINUX_KERNEL_PATH" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ else
+ { echo "$as_me:$LINENO: WARNING: No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module" >&5
+echo "$as_me: WARNING: No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module" >&2;}
+ fi
+ fi
+ SUBARCH=default
+ fi
+ { echo "$as_me:$LINENO: result: linux" >&5
+echo "${ECHO_T}linux" >&6; }
+ if test "x$enable_kernel_module" = "xyes"; then
+ AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $1 $2}'`
+ if test "x${AFS_SYSKVERS}" = "x"; then
+ { { echo "$as_me:$LINENO: error: Couldn't guess your Linux version 2" >&5
+echo "$as_me: error: Couldn't guess your Linux version 2" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ fi
+ ;;
+ *-solaris*)
+ MKAFS_OSTYPE=SOLARIS
+ { echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
+
+{ echo "$as_me:$LINENO: checking for vfs_dqrwlock in struct ufsvfs" >&5
+echo $ECHO_N "checking for vfs_dqrwlock in struct ufsvfs... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_ufsvfs_has_dqrwlock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _KERNEL
+#include <sys/fs/ufs_inode.h>
+int
+main ()
+{
+struct ufsvfs _ufsvfs;
+(void) _ufsvfs.vfs_dqrwlock;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_ufsvfs_has_dqrwlock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_ufsvfs_has_dqrwlock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_ufsvfs_has_dqrwlock" >&5
+echo "${ECHO_T}$ac_cv_solaris_ufsvfs_has_dqrwlock" >&6; }
+if test "$ac_cv_solaris_ufsvfs_has_dqrwlock" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_VFS_DQRWLOCK 1
+_ACEOF
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for p_corefile in struct proc" >&5
+echo $ECHO_N "checking for p_corefile in struct proc... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_proc_has_p_corefile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _KERNEL
+#include <sys/proc.h>
+int
+main ()
+{
+struct proc _proc;
+(void) _proc.p_corefile;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_proc_has_p_corefile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_proc_has_p_corefile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_proc_has_p_corefile" >&5
+echo "${ECHO_T}$ac_cv_solaris_proc_has_p_corefile" >&6; }
+if test "$ac_cv_solaris_proc_has_p_corefile" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_P_COREFILE 1
+_ACEOF
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking for fs_rolled in struct proc" >&5
+echo $ECHO_N "checking for fs_rolled in struct proc... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_fs_has_fs_rolled+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/fs/ufs_fs.h>
+int
+main ()
+{
+struct fs _fs;
+(void) _fs.fs_rolled;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_fs_has_fs_rolled=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_fs_has_fs_rolled=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_fs_has_fs_rolled" >&5
+echo "${ECHO_T}$ac_cv_solaris_fs_has_fs_rolled" >&6; }
+if test "$ac_cv_solaris_fs_has_fs_rolled" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FS_HAS_FS_ROLLED 1
+_ACEOF
+
+fi
+
+
+{ echo "$as_me:$LINENO: checking whether solookup takes a sockparams" >&5
+echo $ECHO_N "checking whether solookup takes a sockparams... $ECHO_C" >&6; }
+if test "${ac_cv_solaris_solookup_takes_sockparams+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#define _KERNEL
+#include <sys/systm.h>
+#include <sys/socketvar.h>
+int
+main ()
+{
+struct sockparams *sp;
+(void) solookup(AF_INET, SOCK_DGRAM, 0, &sp);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_solaris_solookup_takes_sockparams=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_solaris_solookup_takes_sockparams=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_solaris_solookup_takes_sockparams" >&5
+echo "${ECHO_T}$ac_cv_solaris_solookup_takes_sockparams" >&6; }
+if test "$ac_cv_solaris_solookup_takes_sockparams" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SOLOOKUP_TAKES_SOCKPARAMS 1
+_ACEOF
+
+fi
+
+ ;;
+ *-sunos*)
+ MKAFS_OSTYPE=SUNOS
+ enable_kernel_module=no
+ { echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
+ ;;
+ *-hpux*)
+ MKAFS_OSTYPE=HPUX
+ { echo "$as_me:$LINENO: result: hp_ux" >&5
+echo "${ECHO_T}hp_ux" >&6; }
+ if test -f "/usr/old/usr/include/ndir.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_USR_OLD_USR_INCLUDE_NDIR_H 1
+_ACEOF
+
+ fi
+ ;;
+ *-irix*)
+ if test -d /usr/include/sys/SN/SN1; then
+ IRIX_BUILD_IP35="IP35"
+ fi
+ MKAFS_OSTYPE=IRIX
+ { echo "$as_me:$LINENO: result: sgi" >&5
+echo "${ECHO_T}sgi" >&6; }
+ ;;
+ *-aix*)
+ MKAFS_OSTYPE=AIX
+ { echo "$as_me:$LINENO: result: rs_aix" >&5
+echo "${ECHO_T}rs_aix" >&6; }
+ ;;
+ *-osf*)
+ MKAFS_OSTYPE=DUX
+ { echo "$as_me:$LINENO: result: alpha_dux" >&5
+echo "${ECHO_T}alpha_dux" >&6; }
+ if test "x$enable_kernel_module" = "xyes"; then
+ if test "x$with_dux_kernel_headers" != "x"; then
+ HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
+ else
+ HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
+ fi
+ fi
+ if test "$HEADER_RT" = "*" ; then
+ { { echo "$as_me:$LINENO: error: Need a configured kernel directory" >&5
+echo "$as_me: error: Need a configured kernel directory" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ ;;
+ powerpc-*-darwin*)
+ MKAFS_OSTYPE=DARWIN
+ { echo "$as_me:$LINENO: result: ppc_darwin" >&5
+echo "${ECHO_T}ppc_darwin" >&6; }
+ ;;
+ i386-*-darwin*)
+ MKAFS_OSTYPE=DARWIN
+ { echo "$as_me:$LINENO: result: x86_darwin" >&5
+echo "${ECHO_T}x86_darwin" >&6; }
+ ;;
+ i386-*-freebsd*)
+ MKAFS_OSTYPE=FBSD
+ { echo "$as_me:$LINENO: result: i386_fbsd" >&5
+echo "${ECHO_T}i386_fbsd" >&6; }
+ ;;
+ x86_64-*-freebsd*)
+ MKAFS_OSTYPE=FBSD
+ { echo "$as_me:$LINENO: result: amd64_fbsd" >&5
+echo "${ECHO_T}amd64_fbsd" >&6; }
+ ;;
+ *-netbsd*)
+ MKAFS_OSTYPE=NBSD
+ { echo "$as_me:$LINENO: result: nbsd" >&5
+echo "${ECHO_T}nbsd" >&6; }
+ ;;
+ *-openbsd*)
+ MKAFS_OSTYPE=OBSD
+ { echo "$as_me:$LINENO: result: i386_obsd" >&5
+echo "${ECHO_T}i386_obsd" >&6; }
+ ;;
+ *-dragonfly*)
+ MKAFS_OSTYPE=DFBSD
+ { echo "$as_me:$LINENO: result: i386_dfbsd" >&5
+echo "${ECHO_T}i386_dfbsd" >&6; }
+ ;;
+ *)
+ { echo "$as_me:$LINENO: result: $system" >&5
+echo "${ECHO_T}$system" >&6; }
+ ;;
+esac
+
+if test "x$with_afs_sysname" != "x"; then
+ AFS_SYSNAME="$with_afs_sysname"
+else
+ { echo "$as_me:$LINENO: checking your AFS sysname" >&5
+echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; }
+ case $host in
+ i?86-*-openbsd?.?)
+ v=${host#*openbsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="i386_obsd${vM}${vm}"
+ ;;
+ i?86-*-freebsd?.*)
+ v=${host#*freebsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="i386_fbsd_${vM}${vm}"
+ ;;
+ x86_64-*-freebsd?.*)
+ v=${host#*freebsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="amd64_fbsd_${vM}${vm}"
+ ;;
+ i386-*-dragonfly2.2*)
+ AFS_SYSNAME="i386_dfbsd_23"
+ ;;
+ i386-*-dragonfly2.3*)
+ AFS_SYSNAME="i386_dfbsd_23"
+ ;;
+ i?86-*-netbsd*1.5*)
+ AFS_PARAM_COMMON=param.nbsd15.h
+ AFS_SYSNAME="i386_nbsd15"
+ ;;
+ alpha-*-netbsd*1.5*)
+ AFS_PARAM_COMMON=param.nbsd15.h
+ AFS_SYSNAME="alpha_nbsd15"
+ ;;
+ i?86-*-netbsd*1.6[M-Z]*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="i386_nbsd20"
+ ;;
+ powerpc-*-netbsd*1.6[M-Z]*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="ppc_nbsd20"
+ ;;
+ i?86-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="i386_nbsd20"
+ ;;
+ amd64-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="amd64_nbsd20"
+ ;;
+ x86_64-*-netbsd*3.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="amd64_nbsd30"
+ ;;
+ x86_64-*-netbsd*4.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd40.h
+ AFS_SYSNAME="amd64_nbsd40"
+ ;;
+ powerpc-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="ppc_nbsd20"
+ ;;
+ i?86-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="i386_nbsd16"
+ ;;
+ alpha-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="alpha_nbsd16"
+ ;;
+ powerpc-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="ppc_nbsd16"
+ ;;
+ i?86-*-netbsd*2.1*)
+ AFS_PARAM_COMMON=param.nbsd21.h
+ AFS_SYSNAME="i386_nbsd21"
+ ;;
+ i?86-*-netbsd*2.99*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="i386_nbsd30"
+ ;;
+ i?86-*-netbsd*3.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="i386_nbsd30"
+ ;;
+ i?86-*-netbsd*3.99*)
+ AFS_PARAM_COMMON=param.nbsd30.h
+ AFS_SYSNAME="i386_nbsd30"
+ ;;
+ i?86-*-netbsd*4.[0-8]*)
+ AFS_PARAM_COMMON=param.nbsd40.h
+ AFS_SYSNAME="i386_nbsd40"
+ ;;
+ i?86-*-netbsd*4.99*)
+ AFS_PARAM_COMMON=param.nbsd40.h
+ AFS_SYSNAME="i386_nbsd40"
+ ;;
+ hppa*-hp-hpux11.0*)
+ AFS_SYSNAME="hp_ux110"
+ ;;
+ hppa*-hp-hpux11.11)
+ AFS_SYSNAME="hp_ux11i"
+ ;;
+ hppa*-hp-hpux11.23)
+ AFS_SYSNAME="hp_ux1123"
+ ;;
+ ia64-hp-hpux11.22)
+ AFS_SYSNAME="ia64_hpux1122"
+ ;;
+ ia64-hp-hpux*)
+ AFS_SYSNAME="ia64_hpux1123"
+ ;;
+ hppa*-hp-hpux10*)
+ AFS_SYSNAME="hp_ux102"
+ ;;
+ powerpc-apple-darwin1.2*)
+ AFS_SYSNAME="ppc_darwin_12"
+ ;;
+ powerpc-apple-darwin1.3*)
+ AFS_SYSNAME="ppc_darwin_13"
+ ;;
+ powerpc-apple-darwin1.4*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.1*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.2*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.3*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.4*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.5*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin6.0*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.1*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.2*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.3*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.4*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.5*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin7.0*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.1*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.2*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.3*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.4*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.5*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin8*)
+ AFS_SYSNAME="ppc_darwin_80"
+ ;;
+ powerpc-apple-darwin8.*)
+ AFS_SYSNAME="ppc_darwin_80"
+ ;;
+ i386-apple-darwin8.*)
+ AFS_SYSNAME="x86_darwin_80"
+ ;;
+ powerpc-apple-darwin9.*)
+ AFS_SYSNAME="ppc_darwin_90"
+ ;;
+ i386-apple-darwin9.*)
+ AFS_SYSNAME="x86_darwin_90"
+ ;;
+ i?86-apple-darwin10.*)
+ AFS_SYSNAME="x86_darwin_100"
+ ;;
+ sparc-sun-solaris2.5*)
+ AFS_SYSNAME="sun4x_55"
+ enable_login="yes"
+ ;;
+ sparc-sun-solaris2.6)
+ AFS_SYSNAME="sun4x_56"
+ ;;
+ sparc-sun-solaris2.7)
+ AFS_SYSNAME="sun4x_57"
+ ;;
+ sparc-sun-solaris2.8)
+ AFS_SYSNAME="sun4x_58"
+ ;;
+ sparc-sun-solaris2.9)
+ AFS_SYSNAME="sun4x_59"
+ ;;
+ sparc-sun-solaris2.10)
+ AFS_SYSNAME="sun4x_510"
+ ;;
+ sparc-sun-solaris2.11)
+ AFS_SYSNAME="sun4x_511"
+ ;;
+ sparc-sun-sunos4*)
+ AFS_SYSNAME="sun4_413"
+ enable_login="yes"
+ ;;
+ i386-pc-solaris2.7)
+ AFS_SYSNAME="sunx86_57"
+ ;;
+ i386-pc-solaris2.8)
+ AFS_SYSNAME="sunx86_58"
+ ;;
+ i386-pc-solaris2.9)
+ AFS_SYSNAME="sunx86_59"
+ ;;
+ i386-pc-solaris2.10)
+ AFS_SYSNAME="sunx86_510"
+ ;;
+ i386-pc-solaris2.11)
+ AFS_SYSNAME="sunx86_511"
+ ;;
+ alpha*-dec-osf4.0*)
+ AFS_SYSNAME="alpha_dux40"
+ ;;
+ alpha*-dec-osf5.0*)
+ AFS_SYSNAME="alpha_dux50"
+ ;;
+ alpha*-dec-osf5.1*)
+ AFS_SYSNAME="alpha_dux51"
+ ;;
+ mips-sgi-irix6.5)
+ AFS_SYSNAME="sgi_65"
+ ;;
+ ia64-*-linux*)
+ AFS_SYSNAME="ia64_linuxXX"
+ ;;
+ powerpc-*-linux*)
+ AFS_SYSNAME="`/bin/arch`_linuxXX"
+ ;;
+ powerpc64-*-linux*)
+ AFS_SYSNAME="ppc64_linuxXX"
+ ;;
+ alpha*-linux*)
+ AFS_SYSNAME="alpha_linux_XX"
+ ;;
+ s390-*-linux*)
+ AFS_SYSNAME="s390_linuxXX"
+ ;;
+ s390x-*-linux*)
+ AFS_SYSNAME="s390x_linuxXX"
+ ;;
+ sparc-*-linux*)
+ AFS_SYSNAME="`/bin/arch`_linuxXX"
+ ;;
+ sparc64-*-linux*)
+ AFS_SYSNAME="sparc64_linuxXX"
+ ;;
+ i?86-*-linux*)
+ AFS_SYSNAME="i386_linuxXX"
+ ;;
+ arm*-linux*)
+ AFS_SYSNAME="arm_linuxXX"
+ ;;
+ parisc-*-linux-gnu|hppa-*-linux-gnu)
+ AFS_SYSNAME="parisc_linuxXX"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix4.2*)
+ AFS_SYSNAME="rs_aix42"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix4.3*)
+ AFS_SYSNAME="rs_aix42"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix5.1*)
+ AFS_SYSNAME="rs_aix51"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix5.2*)
+ AFS_SYSNAME="rs_aix52"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix5.3*)
+ AFS_SYSNAME="rs_aix53"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix6.1*)
+ AFS_SYSNAME="rs_aix61"
+ enable_pam="no"
+ ;;
+ x86_64-*-linux-gnu)
+ AFS_SYSNAME="amd64_linuxXX"
+ enable_pam="no"
+ ;;
+ *)
+ { { echo "$as_me:$LINENO: error: An AFS sysname is required" >&5
+echo "$as_me: error: An AFS sysname is required" >&2;}
+ { (exit 1); exit 1; }; }
+ exit 1
+ ;;
+ esac
+ case $AFS_SYSNAME in
+ *_linux* | *_umlinux*)
+ if test "x${AFS_SYSKVERS}" = "x"; then
+ { { echo "$as_me:$LINENO: error: Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname." >&5
+echo "$as_me: error: Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
+ AFS_SYSNAME="$_AFS_SYSNAME"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+
+
+void conftest(void)
+{
+#ifndef CONFIG_USERMODE
+ #error not UML
+ #endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_is_uml=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+
+int
+main ()
+{
+#ifndef CONFIG_USERMODE
+ #error not UML
+ #endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_is_uml=yes
+else
+ 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
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ if test "${ac_cv_linux_is_uml}" = yes; then
+ _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
+ fi
+ AFS_SYSNAME="$_AFS_SYSNAME"
+ ;;
+ esac
+ { echo "$as_me:$LINENO: result: $AFS_SYSNAME" >&5
+echo "${ECHO_T}$AFS_SYSNAME" >&6; }
+fi
+
+case $AFS_SYSNAME in *_linux* | *_umlinux*)
+
+ # Add (sub-) architecture-specific paths needed by conftests
+ case $AFS_SYSNAME in
+ *_umlinux26)
+ UMLINUX26_FLAGS="-I$LINUX_KERNEL_PATH/arch/um/include"
+ UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/tt/include"
+ UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/skas/include"
+ CPPFLAGS="$CPPFLAGS $UMLINUX26_FLAGS"
+ esac
+
+ if test "x$enable_kernel_module" = "xyes"; then
+ if test "x$enable_debug_kernel" = "xno"; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
+ fi
+
+{ echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5
+echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-MARCH=pentium"
+if test "${openafs_cv_gcc_supports_march+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_supports_march=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_supports_march=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_supports_march" >&5
+echo "${ECHO_T}$openafs_cv_gcc_supports_march" >&6; }
+if test x$openafs_cv_gcc_supports_march = xyes; then
+ P5PLUS_KOPTS="-march=pentium"
+else
+ P5PLUS_KOPTS="-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+
+{ echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5
+echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-fno-strength-reduce"
+if test "${openafs_cv_gcc_needs_no_strength_reduce+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_needs_no_strength_reduce=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_needs_no_strength_reduce=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_needs_no_strength_reduce" >&5
+echo "${ECHO_T}$openafs_cv_gcc_needs_no_strength_reduce" >&6; }
+if test x$openafs_cv_gcc_needs_no_strength_reduce = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+{ echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5
+echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-fno-strict-aliasing"
+if test "${openafs_cv_gcc_needs_no_strict_aliasing+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_needs_no_strict_aliasing=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_needs_no_strict_aliasing=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_needs_no_strict_aliasing" >&5
+echo "${ECHO_T}$openafs_cv_gcc_needs_no_strict_aliasing" >&6; }
+if test x$openafs_cv_gcc_needs_no_strict_aliasing = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+{ echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5
+echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-fno-common"
+if test "${openafs_cv_gcc_supports_no_common+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_supports_no_common=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_supports_no_common=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_supports_no_common" >&5
+echo "${ECHO_T}$openafs_cv_gcc_supports_no_common" >&6; }
+if test x$openafs_cv_gcc_supports_no_common = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+{ echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5
+echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6; }
+save_CFLAGS="$CFLAGS"
+CFLAGS="-pipe"
+if test "${openafs_cv_gcc_supports_pipe+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+int x;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ openafs_cv_gcc_supports_pipe=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ openafs_cv_gcc_supports_pipe=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $openafs_cv_gcc_supports_pipe" >&5
+echo "${ECHO_T}$openafs_cv_gcc_supports_pipe" >&6; }
+if test x$openafs_cv_gcc_supports_pipe = xyes; then
+ LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
+fi
+CFLAGS="$save_CFLAGS"
+
+
+
+{ echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5
+echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6; }
+configdir=src/config
+outputdir=src/afs
+tmpldir=src/afs/LINUX
+mkdir -p $outputdir
+cp $tmpldir/osi_vfs.hin $outputdir/osi_vfs.h
+# chmod +x $configdir/make_vnode.pl
+# $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+
+
+ { echo "$as_me:$LINENO: checking if linux kbuild requires EXTRA_CFLAGS" >&5
+echo $ECHO_N "checking if linux kbuild requires EXTRA_CFLAGS... $ECHO_C" >&6; }
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS=-Wall
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_kbuild_requires_extra_cflags=no
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_kbuild_requires_extra_cflags=yes
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_kbuild_requires_extra_cflags=no
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_kbuild_requires_extra_cflags=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+ { echo "$as_me:$LINENO: result: $ac_linux_kbuild_requires_extra_cflags" >&5
+echo "${ECHO_T}$ac_linux_kbuild_requires_extra_cflags" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux kernel module build works" >&5
+echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then :
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&5
+echo "$as_me: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&5
+echo "$as_me: error: Fix problem or use --disable-kernel-module...
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+ { echo "$as_me:$LINENO: checking if find_task_by_pid is usable" >&5
+echo $ECHO_N "checking if find_task_by_pid is usable... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_find_task_by_pid+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+pid_t p;
+find_task_by_pid(p);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_find_task_by_pid=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_find_task_by_pid=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+pid_t p;
+find_task_by_pid(p);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_find_task_by_pid=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_find_task_by_pid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_find_task_by_pid" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_find_task_by_pid" >&6; }
+ if test "x$ac_cv_linux_exports_find_task_by_pid" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_FIND_TASK_BY_PID 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if proc_root_fs is defined and exported" >&5
+echo $ECHO_N "checking if proc_root_fs is defined and exported... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_proc_root_fs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+
+void conftest(void)
+{
+struct proc_dir_entry *p = proc_root_fs;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_proc_root_fs=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_proc_root_fs=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/proc_fs.h>
+int
+main ()
+{
+struct proc_dir_entry *p = proc_root_fs;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_proc_root_fs=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_proc_root_fs=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_proc_root_fs" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_proc_root_fs" >&6; }
+ if test "x$ac_cv_linux_exports_proc_root_fs" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_PROC_ROOT_FS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for current_kernel_time()" >&5
+echo $ECHO_N "checking for current_kernel_time()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_have_current_kernel_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/time.h>
+
+void conftest(void)
+{
+struct timespec s = current_kernel_time();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_have_current_kernel_time=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_have_current_kernel_time=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/time.h>
+int
+main ()
+{
+struct timespec s = current_kernel_time();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_have_current_kernel_time=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_have_current_kernel_time=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_have_current_kernel_time" >&5
+echo "${ECHO_T}$ac_cv_linux_have_current_kernel_time" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux write_begin() address space op" >&5
+echo $ECHO_N "checking for linux write_begin() address space op... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_write_begin+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct address_space_operations _aop;
+_aop.write_begin = NULL;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_write_begin=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_write_begin=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct address_space_operations _aop;
+_aop.write_begin = NULL;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_write_begin=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_write_begin=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_write_begin" >&5
+echo "${ECHO_T}$ac_cv_linux_write_begin" >&6; }
+ if test "x$ac_cv_linux_write_begin" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_WRITE_BEGIN 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux grab_cache_page_write_begin()" >&5
+echo $ECHO_N "checking for linux grab_cache_page_write_begin()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_grab_cache_page_write_begin+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/pagemap.h>
+
+void conftest(void)
+{
+grab_cache_page_write_begin(NULL, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_grab_cache_page_write_begin=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_grab_cache_page_write_begin=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/pagemap.h>
+int
+main ()
+{
+grab_cache_page_write_begin(NULL, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_grab_cache_page_write_begin=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_grab_cache_page_write_begin=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_grab_cache_page_write_begin" >&5
+echo "${ECHO_T}$ac_cv_linux_grab_cache_page_write_begin" >&6; }
+ if test "x$ac_cv_linux_grab_cache_page_write_begin" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if struct task has cred" >&5
+echo $ECHO_N "checking if struct task has cred... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_task_has_cred+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/cred.h>
+
+void conftest(void)
+{
+struct task_struct _t;
+uid_t _u;
+_u =_t.cred->uid ;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_task_has_cred=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_task_has_cred=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/cred.h>
+int
+main ()
+{
+struct task_struct _t;
+uid_t _u;
+_u =_t.cred->uid ;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_task_has_cred=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_task_has_cred=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_task_has_cred" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_task_has_cred" >&6; }
+ if test "x$ac_cv_linux_struct_task_has_cred" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_HAS_CRED 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if struct proc_dir_entry_has_owner" >&5
+echo $ECHO_N "checking if struct proc_dir_entry_has_owner... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_proc_dir_entry_has_owner+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+
+void conftest(void)
+{
+struct proc_dir_entry _p;
+_p.owner= "";
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_proc_dir_entry_has_owner=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_proc_dir_entry_has_owner=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/proc_fs.h>
+int
+main ()
+{
+struct proc_dir_entry _p;
+_p.owner= "";
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_proc_dir_entry_has_owner=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_proc_dir_entry_has_owner=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_proc_dir_entry_has_owner" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_proc_dir_entry_has_owner" >&6; }
+ if test "x$ac_cv_linux_struct_proc_dir_entry_has_owner" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_PROC_DIR_ENTRY_HAS_OWNER 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for new kmem_cache init function parameters" >&5
+echo $ECHO_N "checking for new kmem_cache init function parameters... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kmem_cache_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
+ unsigned long,
+ void (*)(struct kmem_cache *, void *));
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kmem_cache_init=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kmem_cache_init=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+extern struct kmem_cache *kmem_cache_create(const char *, size_t, size_t,
+ unsigned long,
+ void (*)(struct kmem_cache *, void *));
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kmem_cache_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kmem_cache_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_init" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_init" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux bdi_init()" >&5
+echo $ECHO_N "checking for linux bdi_init()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_bdi_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/backing-dev.h>
+
+void conftest(void)
+{
+bdi_init(NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_bdi_init=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_bdi_init=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/backing-dev.h>
+int
+main ()
+{
+bdi_init(NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_bdi_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_bdi_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_bdi_init" >&5
+echo "${ECHO_T}$ac_cv_linux_bdi_init" >&6; }
+ if test "x$ac_cv_linux_bdi_init" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_BDI_INIT 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5
+echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+kmem_cache_t *k;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_have_kmem_cache_t=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_have_kmem_cache_t=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+kmem_cache_t *k;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_have_kmem_cache_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_have_kmem_cache_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5
+echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5
+echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kmem_cache_create_takes_dtor=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kmem_cache_create_takes_dtor=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kmem_cache_create_takes_dtor=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kmem_cache_create_takes_dtor=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether kmem_cache_create constructor function takes a void pointer argument" >&5
+echo $ECHO_N "checking whether kmem_cache_create constructor function takes a void pointer argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kmem_cache_create_ctor_takes_void+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+void _ctor(void *v) { };
+kmem_cache_create(NULL, 0, 0, 0, _ctor);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kmem_cache_create_ctor_takes_void=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kmem_cache_create_ctor_takes_void=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/slab.h>
+int
+main ()
+{
+void _ctor(void *v) { };
+kmem_cache_create(NULL, 0, 0, 0, _ctor);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kmem_cache_create_ctor_takes_void=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kmem_cache_create_ctor_takes_void=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_ctor_takes_void" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_ctor_takes_void" >&6; }
+ if test "x$ac_cv_linux_kmem_cache_create_ctor_takes_void" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_CTOR_TAKES_VOID 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5
+echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_config_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/config.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_config_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_config_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/config.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_config_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_config_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; }
+ if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CONFIG_H_EXISTS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5
+echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_completion_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/version.h>
+#include <linux/completion.h>
+
+void conftest(void)
+{
+struct completion _c;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8)
+lose
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_completion_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_completion_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/version.h>
+#include <linux/completion.h>
+int
+main ()
+{
+struct completion _c;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8)
+lose
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_completion_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_completion_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/semaphore.h existance" >&5
+echo $ECHO_N "checking for linux/semaphore.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_semaphore_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/semaphore.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_semaphore_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_semaphore_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/semaphore.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_semaphore_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_semaphore_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_semaphore_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_semaphore_h_exists" >&6; }
+ if test "x$ac_cv_linux_semaphore_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_SEMAPHORE_H 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for defined for_each_process" >&5
+echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_defines_for_each_process+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+#ifndef for_each_process
+#error for_each_process not defined
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_defines_for_each_process=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_defines_for_each_process=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+#ifndef for_each_process
+#error for_each_process not defined
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_defines_for_each_process=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_defines_for_each_process=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; }
+
+ { echo "$as_me:$LINENO: checking for defined prev_task" >&5
+echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_defines_prev_task+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+#ifndef prev_task
+#error prev_task not defined
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_defines_prev_task=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_defines_prev_task=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+#ifndef prev_task
+#error prev_task not defined
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_defines_prev_task=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_defines_prev_task=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; }
+
+ { echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5
+echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct super_operations _super;
+printk("%p\n", _super.alloc_inode);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_super_has_alloc_inode=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_super_has_alloc_inode=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct super_operations _super;
+printk("%p\n", _super.alloc_inode);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_super_has_alloc_inode=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_super_has_alloc_inode=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; }
+
++ { echo "$as_me:$LINENO: checking for evict_inode in struct super_operations" >&5
++echo $ECHO_N "checking for evict_inode in struct super_operations... $ECHO_C" >&6; }
++ if test "${ac_cv_linux_fs_struct_super_has_evict_inode+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++
++ if test $AFS_SYSKVERS -ge 26 ; then
++ rm -fr conftest.dir
++ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++ CFLAGS_PREFIX='EXTRA_'
++ fi
++ if mkdir conftest.dir &&
++ cat >conftest.dir/Makefile <<_ACEOF &&
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
++
++obj-m += conftest.o
++_ACEOF
++ cat >conftest.dir/conftest.c <<\_ACEOF &&
++/* confdefs.h */
++_ACEOF
++ cat confdefs.h >>conftest.dir/conftest.c &&
++ cat >>conftest.dir/conftest.c <<\_ACEOF &&
++/* end confdefs.h */
++#include <linux/module.h>
++#include <linux/fs.h>
++
++void conftest(void)
++{
++struct super_operations _super;
++printk("%p\n", _super.evict_inode);
++}
++
++MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
++_ACEOF
++ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
++ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
++ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
++ then ac_cv_linux_fs_struct_super_has_evict_inode=yes
++ else
++ sed '/^ *+/d' conftest.err >&5
++ echo "$as_me: failed using Makefile:" >&5
++ sed 's/^/| /' conftest.dir/Makefile >&5
++ echo "$as_me: and program was:" >&5
++ sed 's/^/| /' conftest.dir/conftest.c >&5
++ ac_cv_linux_fs_struct_super_has_evict_inode=no
++ fi; rm -fr conftest.err conftest.dir
++ else
++
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <linux/kernel.h>
++#include <linux/fs.h>
++int
++main ()
++{
++struct super_operations _super;
++printk("%p\n", _super.evict_inode);
++ ;
++ 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 "echo \"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_linux_fs_struct_super_has_evict_inode=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_linux_fs_struct_super_has_evict_inode=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ fi
++fi
++
++ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_evict_inode" >&5
++echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_evict_inode" >&6; }
++
+ { echo "$as_me:$LINENO: checking if struct super_block has s_bdi" >&5
+echo $ECHO_N "checking if struct super_block has s_bdi... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_super_block_has_s_bdi+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct super_block _sb;
+_sb.s_bdi= NULL;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_super_block_has_s_bdi=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_super_block_has_s_bdi=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct super_block _sb;
+_sb.s_bdi= NULL;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_super_block_has_s_bdi=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_super_block_has_s_bdi=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_super_block_has_s_bdi" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_super_block_has_s_bdi" >&6; }
+ if test "x$ac_cv_linux_struct_super_block_has_s_bdi" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_SUPER_BLOCK_HAS_S_BDI 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if struct backing_dev_info has name" >&5
+echo $ECHO_N "checking if struct backing_dev_info has name... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_bdi_has_name+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/backing-dev.h>
+
+void conftest(void)
+{
+struct backing_dev_info _bdi;
+_bdi.name = NULL;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_bdi_has_name=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_bdi_has_name=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/backing-dev.h>
+int
+main ()
+{
+struct backing_dev_info _bdi;
+_bdi.name = NULL;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_bdi_has_name=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_bdi_has_name=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_bdi_has_name" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_bdi_has_name" >&6; }
+ if test "x$ac_cv_linux_struct_bdi_has_name" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_BDI_HAS_NAME 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5
+echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct address_space _a_s;
+printk("%x\n", _a_s.page_lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_address_space_has_page_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_address_space_has_page_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct address_space _a_s;
+printk("%x\n", _a_s.page_lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_address_space_has_page_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_address_space_has_page_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5
+echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct address_space _a;
+printk("%d\n", _a.gfp_mask);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct address_space _a;
+printk("%d\n", _a.gfp_mask);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5
+echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _i;
+printk("%x\n", _i.i_alloc_sem);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _i;
+printk("%x\n", _i.i_alloc_sem);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5
+echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blkbits);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_blkbits=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_blkbits=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blkbits);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_blkbits=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_blkbits=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; }
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_BLKBITS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5
+echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blksize);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_blksize=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_blksize=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_blksize);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_blksize=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_blksize=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5
+echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _i;
+printk("%x\n", _i.i_truncate_sem);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _i;
+printk("%x\n", _i.i_truncate_sem);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5
+echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_dirty_data_buffers);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_dirty_data_buffers);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5
+echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_devices);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_devices=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_devices=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_devices);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_devices=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_devices=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5
+echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mmap_shared);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mmap_shared);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5
+echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mutex);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_mutex=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_mutex=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_mutex);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_mutex=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_mutex=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5
+echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_sb_list);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_sb_list=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_sb_list=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_sb_list);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_sb_list=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_sb_list=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; }
+
+ { echo "$as_me:$LINENO: checking for i_security in struct inode" >&5
+echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.i_security);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_i_security=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_i_security=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.i_security);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_i_security=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_i_security=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; }
+
+ { echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5
+echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%d\n", _inode.inotify_lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_inotify_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_inotify_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%d\n", _inode.inotify_lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_inotify_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_inotify_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5
+echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+printk("%x\n", _inode.inotify_sem);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_inode_has_inotify_sem=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_inode_has_inotify_sem=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+printk("%x\n", _inode.inotify_sem);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_inode_has_inotify_sem=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_inode_has_inotify_sem=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; }
+
+ { echo "$as_me:$LINENO: checking for inode_setattr return type" >&5
+echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct iattr _iattr;
+int i;
+i = inode_setattr(&_inode, &_iattr);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_inode_setattr_returns_int=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_inode_setattr_returns_int=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+struct iattr _iattr;
+int i;
+i = inode_setattr(&_inode, &_iattr);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_inode_setattr_returns_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_inode_setattr_returns_int=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; }
+
+ { echo "$as_me:$LINENO: checking for write_inode return type" >&5
+echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct super_operations _sops;
+int i;
+i = _sops.write_inode(&_inode, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_write_inode_returns_int=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_write_inode_returns_int=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+struct super_operations _sops;
+int i;
+i = _sops.write_inode(&_inode, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_write_inode_returns_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_write_inode_returns_int=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_create_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_create_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_create_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_create_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_lookup_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_lookup_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_lookup_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_lookup_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->permission(&_inode, 0, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_permission_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_permission_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_inode.i_op->permission(&_inode, 0, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_permission_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_permission_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5
+echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_i_put_link_takes_cookie=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_i_put_link_takes_cookie=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_i_put_link_takes_cookie=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_i_put_link_takes_cookie=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5
+echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_d_revalidate_takes_nameidata=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_d_revalidate_takes_nameidata=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5
+echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_f_flush_takes_fl_owner_t=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_f_flush_takes_fl_owner_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5
+echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; }
+
++ { echo "$as_me:$LINENO: checking whether file_operations.fsync takes a dentry argument" >&5
++echo $ECHO_N "checking whether file_operations.fsync takes a dentry argument... $ECHO_C" >&6; }
++ if test "${ac_cv_linux_func_f_fsync_takes_dentry+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++
++ if test $AFS_SYSKVERS -ge 26 ; then
++ rm -fr conftest.dir
++ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++ CFLAGS_PREFIX='EXTRA_'
++ fi
++ if mkdir conftest.dir &&
++ cat >conftest.dir/Makefile <<_ACEOF &&
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
++
++obj-m += conftest.o
++_ACEOF
++ cat >conftest.dir/conftest.c <<\_ACEOF &&
++/* confdefs.h */
++_ACEOF
++ cat confdefs.h >>conftest.dir/conftest.c &&
++ cat >>conftest.dir/conftest.c <<\_ACEOF &&
++/* end confdefs.h */
++#include <linux/module.h>
++#include <linux/fs.h>
++
++void conftest(void)
++{
++struct inode _inode;
++struct file _file;
++struct dentry _d;
++(void)_inode.i_fop->fsync(&_file, &_d, 0);
++}
++
++MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
++_ACEOF
++ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
++ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
++ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
++ then ac_cv_linux_func_f_fsync_takes_dentry=yes
++ else
++ sed '/^ *+/d' conftest.err >&5
++ echo "$as_me: failed using Makefile:" >&5
++ sed 's/^/| /' conftest.dir/Makefile >&5
++ echo "$as_me: and program was:" >&5
++ sed 's/^/| /' conftest.dir/conftest.c >&5
++ ac_cv_linux_func_f_fsync_takes_dentry=no
++ fi; rm -fr conftest.err conftest.dir
++ else
++
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <linux/kernel.h>
++#include <linux/fs.h>
++int
++main ()
++{
++struct inode _inode;
++struct file _file;
++struct dentry _d;
++(void)_inode.i_fop->fsync(&_file, &_d, 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 "echo \"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_linux_func_f_fsync_takes_dentry=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_linux_func_f_fsync_takes_dentry=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ fi
++fi
++
++ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_fsync_takes_dentry" >&5
++echo "${ECHO_T}$ac_cv_linux_func_f_fsync_takes_dentry" >&6; }
++ if test "x$ac_cv_linux_func_f_fsync_takes_dentry" = "xyes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define FOP_FSYNC_TAKES_DENTRY 1
++_ACEOF
++
++ fi
++
++
+ { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5
+echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
+
+void conftest(void)
+{
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_a_writepage_takes_writeback_control=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
+int
+main ()
+{
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_a_writepage_takes_writeback_control=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5
+echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; }
+
+ { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5
+echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_fop_has_flock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_fop_has_flock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_fop_has_flock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_fop_has_flock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5
+echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_fop_has_sendfile=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_fop_has_sendfile=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_fop_has_sendfile=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_fop_has_sendfile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; }
+
+ { echo "$as_me:$LINENO: checking for splice_write and splice_read in struct file_operations" >&5
+echo $ECHO_N "checking for splice_write and splice_read in struct file_operations... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_fs_struct_fop_has_splice+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_operations _fop;
+_fop.splice_write(NULL, NULL, NULL, 0, 0);
+_fop.splice_read(NULL, NULL, NULL, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_fs_struct_fop_has_splice=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_fs_struct_fop_has_splice=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_operations _fop;
+_fop.splice_write(NULL, NULL, NULL, 0, 0);
+_fop.splice_read(NULL, NULL, NULL, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_fs_struct_fop_has_splice=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_fs_struct_fop_has_splice=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_splice" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_splice" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5
+echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/syscall.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_syscall=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_syscall=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/syscall.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_syscall=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_syscall=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
+echo "${ECHO_T}$ac_linux_syscall" >&6; }
+
+
+ { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5
+echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/seq_file.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_seq_file=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_seq_file=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/seq_file.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_seq_file=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_seq_file=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
+echo "${ECHO_T}$ac_linux_seq_file" >&6; }
+
+
+ { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5
+echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+posix_lock_file(0,0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+posix_lock_file(0,0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_posix_lock_file_wait_arg=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; }
+
+ { echo "$as_me:$LINENO: checking if posix_test_lock returns a struct file_lock" >&5
+echo $ECHO_N "checking if posix_test_lock returns a struct file_lock... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_posix_test_lock_returns_conflict+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+struct file_lock *lock;
+ struct file * file;
+lock = posix_test_lock(file, lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_posix_test_lock_returns_conflict=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_posix_test_lock_returns_conflict=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+struct file_lock *lock;
+ struct file * file;
+lock = posix_test_lock(file, lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_posix_test_lock_returns_conflict=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_posix_test_lock_returns_conflict=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_posix_test_lock_returns_conflict" >&5
+echo "${ECHO_T}$ac_cv_linux_posix_test_lock_returns_conflict" >&6; }
+ if test "x$ac_cv_linux_posix_test_lock_returns_conflict" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_TEST_LOCK_RETURNS_CONFLICT 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if posix_test_lock takes a conflict argument" >&5
+echo $ECHO_N "checking if posix_test_lock takes a conflict argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_posix_test_lock_conflict_arg+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+ struct file_lock *lock;
+ struct file *file;
+ posix_test_lock(file, lock, lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_posix_test_lock_conflict_arg=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_lonuc_posix_test_lock_conflict_arg=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+ struct file_lock *lock;
+ struct file *file;
+ posix_test_lock(file, lock, lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_posix_test_lock_conflict_arg=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lonuc_posix_test_lock_conflict_arg=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_posix_test_lock_conflict_arg" >&5
+echo "${ECHO_T}$ac_cv_linux_posix_test_lock_conflict_arg" >&6; }
+ if test "x$ac_cv_linux_posix_test_lock_conflict_arg" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_TEST_LOCK_CONFLICT_ARG 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5
+echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/net.h>
+
+void conftest(void)
+{
+sock_create(0,0,0,0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_sock_create_v=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_sock_create_v=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/net.h>
+int
+main ()
+{
+sock_create(0,0,0,0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_sock_create_v=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_sock_create_v=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; }
+
+ { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5
+echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+page_follow_link(0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_page_follow_link=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_page_follow_link=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+page_follow_link(0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_page_follow_link=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_page_follow_link=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; }
+
+ { echo "$as_me:$LINENO: checking for hlist_unhashed" >&5
+echo $ECHO_N "checking for hlist_unhashed... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_kernel_hlist_unhashed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/list.h>
+
+void conftest(void)
+{
+hlist_unhashed(0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_kernel_hlist_unhashed=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_kernel_hlist_unhashed=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/list.h>
+int
+main ()
+{
+hlist_unhashed(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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_kernel_hlist_unhashed=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_kernel_hlist_unhashed=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_hlist_unhashed" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_hlist_unhashed" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/key-type.h existance" >&5
+echo $ECHO_N "checking for linux/key-type.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_key_type_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/key-type.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_key_type_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_key_type_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/key-type.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_key_type_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_key_type_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_key_type_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_key_type_h_exists" >&6; }
+ if test "x$ac_cv_linux_key_type_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_TYPE_H_EXISTS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for exported key_type_keyring" >&5
+echo $ECHO_N "checking for exported key_type_keyring... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_key_type_keyring+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+
+void conftest(void)
+{
+
+printk("%s", key_type_keyring.name);
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_key_type_keyring=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_key_type_keyring=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+int
+main ()
+{
+
+printk("%s", key_type_keyring.name);
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_key_type_keyring=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_key_type_keyring=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_key_type_keyring" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_key_type_keyring" >&6; }
+ if test "x$ac_cv_linux_exports_key_type_keyring" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_KEY_TYPE_KEYRING 1
+_ACEOF
+
+ fi
+
+RHCONFIG_SP=""
+RHCONFIG_MP=""
+if test "x$enable_redhat_buildsys" = "xyes"; then
+ { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5
+echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;}
+else
+ { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5
+echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; }
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rhconfig.h>
+
+void conftest(void)
+{
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_linux_rhconfig=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_linux_rhconfig=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rhconfig.h>
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_linux_rhconfig=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_linux_rhconfig=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+ if test x"$ac_linux_rhconfig" = xyes; then
+ RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
+ RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
+ { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+ if test ! -f "/boot/kernel.h"; then
+ { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5
+echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;}
+ fi
+ fi
+fi
+
+
+
+
+ { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5
+echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+recalc_sigpending();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_recalc_sigpending_takes_void=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_recalc_sigpending_takes_void=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+recalc_sigpending();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_recalc_sigpending_takes_void=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_recalc_sigpending_takes_void=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5
+echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; }
+
+ { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5
+echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.parent);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_parent=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_parent=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.parent);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_parent=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_parent=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; }
+
+ { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5
+echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.real_parent);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_real_parent=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.real_parent);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_real_parent=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5
+echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sig);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_sig=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_sig=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sig);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_sig=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_sig=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5
+echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sighand);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_sighand=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sighand);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_sighand=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5
+echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sigmask_lock);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.sigmask_lock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5
+echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_rlim=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_rlim=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; }
+
+ { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5
+echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5
+echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; }
+
+ { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5
+echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_tgid=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_tgid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; }
+
+ { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5
+echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_todo=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_todo=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_todo=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_todo=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; }
+
+ { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5
+echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+
+void conftest(void)
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sched_struct_task_struct_has_thread_info=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+int
+main ()
+{
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sched_struct_task_struct_has_thread_info=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5
+echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+
+#include <linux/sched.h>
+
+void conftest(void)
+{
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_tasklist_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_tasklist_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+
+#include <linux/sched.h>
+int
+main ()
+{
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_tasklist_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_tasklist_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; }
+
+ { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5
+echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+get_sb_nodev(0,0,0,0,0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_get_sb_has_struct_vfsmount=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_get_sb_has_struct_vfsmount=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+get_sb_nodev(0,0,0,0,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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_get_sb_has_struct_vfsmount=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_get_sb_has_struct_vfsmount=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5
+echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; }
+
+ { echo "$as_me:$LINENO: checking for dentry in statfs" >&5
+echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+#include <linux/statfs.h>
+
+void conftest(void)
+{
-
- extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
++extern int simple_statfs(struct dentry *, struct kstatfs *);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_statfs_takes_dentry=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_statfs_takes_dentry=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+#include <linux/statfs.h>
+int
+main ()
+{
++extern int simple_statfs(struct dentry *, struct kstatfs *);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_statfs_takes_dentry=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_statfs_takes_dentry=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5
+echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5
+echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_freezer_h_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/freezer.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_freezer_h_exists=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_freezer_h_exists=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/freezer.h>
+int
+main ()
+{
+return;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_freezer_h_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_freezer_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; }
+ if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5
+echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
+
+void conftest(void)
+{
+refrigerator(PF_FREEZE);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
+int
+main ()
+{
+refrigerator(PF_FREEZE);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5
+echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5
+echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_keyring_support+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rwsem.h>
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+#include <linux/keyctl.h>
+
+void conftest(void)
+{
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_keyring_support=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_keyring_support=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rwsem.h>
+#ifdef KEY_TYPE_H_EXISTS
+#include <linux/key-type.h>
+#endif
+#include <linux/key.h>
+#include <linux/keyctl.h>
+int
+main ()
+{
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_keyring_support=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_keyring_support=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5
+echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; }
+ if test "x$ac_cv_linux_keyring_support" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_KEYRING_SUPPORT 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5
+echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; }
+ if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror -Wno-pointer-arith"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+
+void conftest(void)
+{
+struct task_struct *t=NULL;
+(void) key_alloc(NULL, NULL, 0, 0, t, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_key_alloc_needs_struct_task=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_key_alloc_needs_struct_task=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+int
+main ()
+{
+struct task_struct *t=NULL;
+(void) key_alloc(NULL, NULL, 0, 0, t, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_key_alloc_needs_struct_task=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_key_alloc_needs_struct_task=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5
+echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; }
+ if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_ALLOC_NEEDS_STRUCT_TASK 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking if key_alloc() takes credentials" >&5
+echo $ECHO_N "checking if key_alloc() takes credentials... $ECHO_C" >&6; }
+ if test "${ac_cv_key_alloc_needs_cred+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror -Wno-pointer-arith"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+
+void conftest(void)
+{
+struct cred *c = NULL;
+(void) key_alloc(NULL, NULL, 0, 0, c, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_key_alloc_needs_cred=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_key_alloc_needs_cred=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
+int
+main ()
+{
+struct cred *c = NULL;
+(void) key_alloc(NULL, NULL, 0, 0, c, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_key_alloc_needs_cred=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_key_alloc_needs_cred=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_cred" >&5
+echo "${ECHO_T}$ac_cv_key_alloc_needs_cred" >&6; }
+ if test "x$ac_cv_key_alloc_needs_cred" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_ALLOC_NEEDS_CRED 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5
+echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_do_sync_read+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+do_sync_read(NULL, NULL, 0, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_do_sync_read=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_do_sync_read=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+do_sync_read(NULL, NULL, 0, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_do_sync_read=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_do_sync_read=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5
+echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; }
+ if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DO_SYNC_READ 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5
+echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+generic_file_aio_read(NULL, NULL, 0, 0);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_generic_file_aio_read=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_generic_file_aio_read=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+generic_file_aio_read(NULL, NULL, 0, 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_generic_file_aio_read=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_generic_file_aio_read=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5
+echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; }
+ if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GENERIC_FILE_AIO_READ 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5
+echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_init_work_has_data+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
+
+void conftest(void)
+{
+
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_init_work_has_data=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_init_work_has_data=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
+int
+main ()
+{
+
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_init_work_has_data=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_init_work_has_data=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5
+echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; }
+
+ { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5
+echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sysctl.h>
+
+void conftest(void)
+{
+ctl_table *t;
+register_sysctl_table (t);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_register_sysctl_table_noflag=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_register_sysctl_table_noflag=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sysctl.h>
+int
+main ()
+{
+ctl_table *t;
+register_sysctl_table (t);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_register_sysctl_table_noflag=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_register_sysctl_table_noflag=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5
+echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; }
+
+ { echo "$as_me:$LINENO: checking for sysctl table checking" >&5
+echo $ECHO_N "checking for sysctl table checking... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_sysctl_table_checking+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sysctl.h>
+
+void conftest(void)
+{
+ extern int sysctl_check_table(int) __attribute__((weak));
+sysctl_check_table(NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_sysctl_table_checking=no
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_sysctl_table_checking=yes
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sysctl.h>
+int
+main ()
+{
+ extern int sysctl_check_table(int) __attribute__((weak));
+sysctl_check_table(NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_sysctl_table_checking=no
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_sysctl_table_checking=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_linux_sysctl_table_checking" >&5
+echo "${ECHO_T}$ac_cv_linux_sysctl_table_checking" >&6; }
+
+ { echo "$as_me:$LINENO: checking if struct ctl_table has ctl_name" >&5
+echo $ECHO_N "checking if struct ctl_table has ctl_name... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_ctl_table_has_ctl_name+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/sysctl.h>
+
+void conftest(void)
+{
+struct ctl_table _t;
+_t.ctl_name = 0;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_ctl_table_has_ctl_name=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_ctl_table_has_ctl_name=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/sysctl.h>
+int
+main ()
+{
+struct ctl_table _t;
+_t.ctl_name = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_ctl_table_has_ctl_name=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_ctl_table_has_ctl_name=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_ctl_table_has_ctl_name" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_ctl_table_has_ctl_name" >&6; }
+ if test "x$ac_cv_linux_struct_ctl_table_has_ctl_name" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_CTL_TABLE_HAS_CTL_NAME 1
+_ACEOF
+
+ fi
+
+ { echo "$as_me:$LINENO: checking for linux iget()" >&5
+echo $ECHO_N "checking for linux iget()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_have_iget+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+iget(NULL, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_have_iget=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_have_iget=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+iget(NULL, NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_have_iget=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_have_iget=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_have_iget" >&5
+echo "${ECHO_T}$ac_cv_linux_have_iget" >&6; }
+
+ { echo "$as_me:$LINENO: checking for linux i_size_read()" >&5
+echo $ECHO_N "checking for linux i_size_read()... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_i_size_read+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/fs.h>
+
+void conftest(void)
+{
+i_size_read(NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_i_size_read=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_i_size_read=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/fs.h>
+int
+main ()
+{
+i_size_read(NULL);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_i_size_read=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_i_size_read=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_i_size_read" >&5
+echo "${ECHO_T}$ac_cv_linux_i_size_read" >&6; }
+ if test "x$ac_cv_linux_i_size_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LINUX_I_SIZE_READ 1
+_ACEOF
+
+ fi
+
++ { echo "$as_me:$LINENO: checking for linux inode_setattr()" >&5
++echo $ECHO_N "checking for linux inode_setattr()... $ECHO_C" >&6; }
++ if test "${ac_cv_linux_inode_setattr+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++ save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
++
++ if test $AFS_SYSKVERS -ge 26 ; then
++ rm -fr conftest.dir
++ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
++ CFLAGS_PREFIX='EXTRA_'
++ fi
++ if mkdir conftest.dir &&
++ cat >conftest.dir/Makefile <<_ACEOF &&
++${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
++
++obj-m += conftest.o
++_ACEOF
++ cat >conftest.dir/conftest.c <<\_ACEOF &&
++/* confdefs.h */
++_ACEOF
++ cat confdefs.h >>conftest.dir/conftest.c &&
++ cat >>conftest.dir/conftest.c <<\_ACEOF &&
++/* end confdefs.h */
++#include <linux/module.h>
++#include <linux/fs.h>
++
++void conftest(void)
++{
++inode_setattr(NULL);
++}
++
++MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
++_ACEOF
++ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
++ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
++ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
++ then ac_cv_linux_inode_setattr=yes
++ else
++ sed '/^ *+/d' conftest.err >&5
++ echo "$as_me: failed using Makefile:" >&5
++ sed 's/^/| /' conftest.dir/Makefile >&5
++ echo "$as_me: and program was:" >&5
++ sed 's/^/| /' conftest.dir/conftest.c >&5
++ ac_cv_linux_inode_setattr=no
++ fi; rm -fr conftest.err conftest.dir
++ else
++
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++
++#include <linux/kernel.h>
++#include <linux/fs.h>
++int
++main ()
++{
++inode_setattr(NULL);
++ ;
++ 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 "echo \"\$as_me:$LINENO: $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
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_cv_linux_inode_setattr=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_cv_linux_inode_setattr=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ fi
++ CPPFLAGS="$save_CPPFLAGS"
++fi
++
++ { echo "$as_me:$LINENO: result: $ac_cv_linux_inode_setattr" >&5
++echo "${ECHO_T}$ac_cv_linux_inode_setattr" >&6; }
++ if test "x$ac_cv_linux_inode_setattr" = "xyes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_LINUX_INODE_SETATTR 1
++_ACEOF
++
++ fi
++
+ { echo "$as_me:$LINENO: checking for path in struct nameidata" >&5
+echo $ECHO_N "checking for path in struct nameidata... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_struct_nameidata_has_path+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/namei.h>
+
+void conftest(void)
+{
+struct nameidata _nd;
+printk("%x\n", _nd.path);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_struct_nameidata_has_path=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_struct_nameidata_has_path=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/namei.h>
+int
+main ()
+{
+struct nameidata _nd;
+printk("%x\n", _nd.path);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_struct_nameidata_has_path=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_struct_nameidata_has_path=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_struct_nameidata_has_path" >&5
+echo "${ECHO_T}$ac_cv_linux_struct_nameidata_has_path" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported init_mm" >&5
+echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_init_mm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern struct mm_struct init_mm;
+
+void conftest(void)
+{
+void *address = &init_mm;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_init_mm=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_init_mm=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern struct mm_struct init_mm;
+int
+main ()
+{
+void *address = &init_mm;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_init_mm=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_init_mm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5
+echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_chdir;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_chdir=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_chdir=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_chdir;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_chdir=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_chdir=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_close" >&5
+echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_close+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_close;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_close=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_close=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_close;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_close=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_close=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_open" >&5
+echo $ECHO_N "checking for exported sys_open... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_open;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_open=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_open=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_open;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_open=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_open=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_open" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_open" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_wait4" >&5
+echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
+
+void conftest(void)
+{
+void *address = &sys_wait4;
+printk("%p\n", address);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_wait4=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_wait4=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
+int
+main ()
+{
+void *address = &sys_wait4;
+printk("%p\n", address);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_wait4=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_wait4=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6; }
+
+ { echo "$as_me:$LINENO: checking if rcu_read_lock is usable" >&5
+echo $ECHO_N "checking if rcu_read_lock is usable... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_rcu_read_lock+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/rcupdate.h>
+
+void conftest(void)
+{
+rcu_read_lock();
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_rcu_read_lock=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_rcu_read_lock=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/rcupdate.h>
+int
+main ()
+{
+rcu_read_lock();
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_rcu_read_lock=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_rcu_read_lock=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_rcu_read_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_rcu_read_lock" >&6; }
+ if test "x$ac_cv_linux_exports_rcu_read_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_RCU_READ_LOCK 1
+_ACEOF
+
+ fi
+
+if test "x$enable_redhat_buildsys" = "xyes"; then
+ MPS=Default
+else
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
+ { echo "$as_me:$LINENO: checking which kernel modules to build" >&5
+echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6; }
+ if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+ CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
+ fi
+ if test "x$ac_linux_rhconfig" = "xyes"; then
+ MPS="MP SP"
+ else
+ if test "${ac_cv_linux_config_smp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
+
+
+void conftest(void)
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
+
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_config_smp=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_config_smp=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
+
+int
+main ()
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_config_smp=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_config_smp=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ if test "x$ac_cv_linux_config_smp" = "xyes"; then
+ MPS=MP
+ else
+ MPS=SP
+ fi
+ fi
+ CPPFLAGS=$save_CPPFLAGS
+ { echo "$as_me:$LINENO: result: $MPS" >&5
+echo "${ECHO_T}$MPS" >&6; }
+fi
+
+
+ if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
+ { echo "$as_me:$LINENO: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&5
+echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&2;}
+ ac_cv_linux_exports_sys_call_table=no
+ if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
+ ac_cv_linux_exports_ia32_sys_call_table=yes
+ fi
+ else
+
+ { echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5
+echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_kallsyms_address=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_kallsyms_address=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_kallsyms_address=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_kallsyms_address=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5
+echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_kallsyms_symbol=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_kallsyms_symbol=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_kallsyms_symbol=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_kallsyms_symbol=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported sys_call_table" >&5
+echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_sys_call_table=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_sys_call_table=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_sys_call_table=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6; }
+
+ { echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5
+echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6; }
+ if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+ if test $AFS_SYSKVERS -ge 26 ; then
+ rm -fr conftest.dir
+ if test "x$ac_linux_kbuild_requires_extra_cflags" = "xyes" ; then
+ CFLAGS_PREFIX='EXTRA_'
+ fi
+ if mkdir conftest.dir &&
+ cat >conftest.dir/Makefile <<_ACEOF &&
+${CFLAGS_PREFIX}CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+ cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+ cat confdefs.h >>conftest.dir/conftest.c &&
+ cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err &&
+ ! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
+ then ac_cv_linux_exports_ia32_sys_call_table=yes
+ else
+ sed '/^ *+/d' conftest.err >&5
+ echo "$as_me: failed using Makefile:" >&5
+ sed 's/^/| /' conftest.dir/Makefile >&5
+ echo "$as_me: and program was:" >&5
+ sed 's/^/| /' conftest.dir/conftest.c >&5
+ ac_cv_linux_exports_ia32_sys_call_table=no
+ fi; rm -fr conftest.err conftest.dir
+ else
+
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ -Werror-implicit-function-declaration $CPPFLAGS"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <linux/kernel.h>
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_linux_exports_ia32_sys_call_table=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_linux_exports_ia32_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ fi
+fi
+
+ { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6; }
+ if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
+ linux_syscall_method=none
+ if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
+ linux_syscall_method=scan
+ if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
+ linux_syscall_method=scan_with_kallsyms_address
+ fi
+ fi
+ if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
+ linux_syscall_method=kallsyms_symbol
+ fi
+ if test "x$linux_syscall_method" = "xnone"; then
+ { echo "$as_me:$LINENO: WARNING: no available sys_call_table access method -- guessing scan" >&5
+echo "$as_me: WARNING: no available sys_call_table access method -- guessing scan" >&2;}
+ linux_syscall_method=scan
+ fi
+ fi
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MM_INLINE_H 1
+_ACEOF
+
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CHDIR 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_OPEN 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CLOSE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_WAIT4 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CALL_TABLE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_IA32_SYS_CALL_TABLE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_KALLSYMS_SYMBOL 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_KALLSYMS_ADDRESS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define COMPLETION_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CONFIG_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KEY_TYPE_H_EXISTS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DEFINED_FOR_EACH_PROCESS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DEFINED_PREV_TASK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define INODE_SETATTR_NOT_VOID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_write_inode_returns_int" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define WRITE_INODE_NOT_VOID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_super_has_alloc_inode" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_SUPER_HAS_ALLOC_INODE 1
++_ACEOF
++
++ fi
++ if test "x$ac_cv_linux_fs_struct_super_has_evict_inode" = "xyes" ; then
++
++cat >>confdefs.h <<\_ACEOF
++#define STRUCT_SUPER_OPERATIONS_HAS_EVICT_INODE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_ADDRESS_SPACE_HAS_GFP_MASK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_TRUNCATE_SEM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_ALLOC_SEM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_blksize" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_BLKSIZE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_DEVICES 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_SECURITY 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_MUTEX 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_SB_LIST 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_inotify_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_INOTIFY_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_inode_has_inotify_sem" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_INODE_HAS_INOTIFY_SEM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define RECALC_SIGPENDING_TAKES_VOID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_LOCK_FILE_WAIT_ARG 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_KERNEL_SOCK_CREATE_V 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_PAGE_FOLLOW_LINK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_hlist_unhashed" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_HLIST_UNHASHED 1
+_ACEOF
+
+ fi
+ if test "x$ac_linux_syscall" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_LINUX_SYSCALL_H 1
+_ACEOF
+
+ fi
+ if test "x$ac_linux_seq_file" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KERNEL_LINUX_SEQ_FILE_H 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_PARENT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_REAL_PARENT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIGHAND 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIG 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_RLIM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_EXIT_STATE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_TGID 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_TODO 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_THREAD_INFO 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GET_SB_HAS_STRUCT_VFSMOUNT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STATFS_TAKES_DENTRY 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_refrigerator_takes_pf_freeze" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_REFRIGERATOR_TAKES_PF_FREEZE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IOP_CREATE_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FOP_FLUSH_TAKES_FL_OWNER_T 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IOP_LOOKUP_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_i_permission_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IOP_PERMISSION_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DOP_REVALIDATE_TAKES_NAMEIDATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define INIT_WORK_HAS_DATA 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_FLOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_SENDFILE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_SPLICE 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define REGISTER_SYSCTL_TABLE_NOFLAG 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SYSCTL_TABLE_CHECKING 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_iget" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IGET 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_struct_nameidata_has_path" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_NAMEIDATA_HAS_PATH 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_init_mm" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_INIT_MM 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_TASKLIST_LOCK 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KMEM_CACHE_T 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_INIT 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CURRENT_KERNEL_TIME 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_TAKES_DTOR 1
+_ACEOF
+
+ fi
+ if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USABLE_KERNEL_PAGE_SYMLINK_CACHE 1
+_ACEOF
+
+ else
+ { echo "$as_me:$LINENO: WARNING: your kernel does not have a usable symlink cache API" >&5
+echo "$as_me: WARNING: your kernel does not have a usable symlink cache API" >&2;}
+ fi
+ :
+ fi
+esac
+
+case $AFS_SYSNAME in
+ *_darwin*)
+ DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
+ DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
+
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRUCT_BUF 1
+_ACEOF
+
+ ;;
+ *)
+{ echo "$as_me:$LINENO: checking for definition of struct buf" >&5
+echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6; }
+if test "${ac_cv_have_struct_buf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ ac_cv_have_struct_buf=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/buf.h>
+int
+main ()
+{
+struct buf x;
+ printf("%d\n", sizeof(x));
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_struct_buf=yes
+else
+ 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
+
+{ echo "$as_me:$LINENO: result: $ac_cv_have_struct_buf" >&5
+echo "${ECHO_T}$ac_cv_have_struct_buf" >&6; }
+if test "$ac_cv_have_struct_buf" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_STRUCT_BUF 1
+_ACEOF
+
+fi
+;;
+esac
+
+
+# Check whether --with-xslt-processor was given.
+if test "${with_xslt_processor+set}" = set; then
+ withval=$with_xslt_processor; XSLTPROC="$withval"
+else
+ XSLTPROC="libxslt"
+fi
+
+
+
+# Check whether --with-html-xsl was given.
+if test "${with_html_xsl+set}" = set; then
+ withval=$with_html_xsl; HTML_XSL="$withval"
+else
+ HTML_XSL=no
+fi
+
+
+if test "${ac_cv_sockaddr_len+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+{ echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5
+echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/socket.h>
+int
+main ()
+{
+struct sockaddr *a;
+a->sa_len=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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sockaddr_len=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_sockaddr_len=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_cv_sockaddr_len" >&5
+echo "${ECHO_T}$ac_cv_sockaddr_len" >&6; }
+fi
+
+if test "$ac_cv_sockaddr_len" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_SOCKADDR_HAS_SA_LEN 1
+_ACEOF
+
+fi
+if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
+ echo Skipping library tests because they confuse Irix.
+else
+
+for ac_func in socket
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+ if test "$ac_cv_func_socket" = no; then
+ for lib in socket inet; do
+ if test "$HAVE_SOCKET" != 1; then
+ as_ac_Lib=`echo "ac_cv_lib_${lib}''_socket" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5
+echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l${lib} $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ LIBS="$LIBS -l$lib";HAVE_SOCKET=1;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SOCKET 1
+_ACEOF
+
+fi
+
+ fi
+ done
+ fi
+
+
+for ac_func in connect
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+ if test "$ac_cv_func_connect" = no; then
+ for lib in nsl; do
+ if test "$HAVE_CONNECT" != 1; then
+ as_ac_Lib=`echo "ac_cv_lib_${lib}''_connect" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5
+echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l${lib} $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ LIBS="$LIBS -l$lib";HAVE_CONNECT=1;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CONNECT 1
+_ACEOF
+
+fi
+
+ fi
+ done
+ fi
+
+
+for ac_func in gethostbyname
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+ if test "$ac_cv_func_gethostbyname" = no; then
+ for lib in dns nsl resolv; do
+ if test "$HAVE_GETHOSTBYNAME" != 1; then
+ as_ac_Lib=`echo "ac_cv_lib_${lib}''_gethostbyname" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5
+echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-l${lib} $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_Lib=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Lib=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_GETHOSTBYNAME 1
+_ACEOF
+
+fi
+
+ fi
+ done
+ fi
+
+ { echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5
+echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <arpa/nameser.h>
+ #include <arpa/nameser_compat.h>
+ #include <resolv.h>
+
+int
+main ()
+{
+static int i; i = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_ARPA_NAMESER_COMPAT_H 1
+_ACEOF
+
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ openafs_save_libs="$LIBS"
+ { echo "$as_me:$LINENO: checking for res_search" >&5
+echo $ECHO_N "checking for res_search... $ECHO_C" >&6; }
+
+ ac_cv_func_res_search=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#ifdef HAVE_ARPA_NAMESER_COMPAT_H
+#include <arpa/nameser_compat.h>
+#endif
+#include <resolv.h>
+int
+main ()
+{
+
+const char host[11]="openafs.org";
+u_char ans[1024];
+int r;
+res_init();
+/* Capture result in r but return 0, since a working nameserver is
+ * not a requirement for compilation.
+ */
+r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans));
+return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_res_search=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+ if test "$ac_cv_func_res_search" = no; then
+ for lib in dns nsl resolv; do
+ if test "$ac_cv_func_res_search" != yes; then
+ LIBS="-l$lib $LIBS"
+
+ ac_cv_func_res_search=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#ifdef HAVE_ARPA_NAMESER_COMPAT_H
+#include <arpa/nameser_compat.h>
+#endif
+#include <resolv.h>
+int
+main ()
+{
+
+const char host[11]="openafs.org";
+u_char ans[1024];
+int r;
+res_init();
+/* Capture result in r but return 0, since a working nameserver is
+ * not a requirement for compilation.
+ */
+r = res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans));
+return 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_res_search=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+ LIBS="$openafs_save_libs"
+ fi
+ done
+ if test "$ac_cv_func_res_search" = yes; then
+ LIB_res_search="-l$lib"
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_SEARCH 1
+_ACEOF
+
+ { echo "$as_me:$LINENO: result: yes, in lib$lib" >&5
+echo "${ECHO_T}yes, in lib$lib" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ fi
+ else
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_RES_SEARCH 1
+_ACEOF
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ fi
+
+fi
+
+PTHREAD_LIBS=error
+{ echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthread_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6; }
+if test $ac_cv_lib_pthread_pthread_attr_init = yes; then
+ PTHREAD_LIBS="-lpthread"
+fi
+
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthreads_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthreads $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthreads_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthreads_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthreads_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthreads_pthread_attr_init" >&6; }
+if test $ac_cv_lib_pthreads_pthread_attr_init = yes; then
+ PTHREAD_LIBS="-lpthreads"
+fi
+
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6; }
+if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lc_r $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_c_r_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_c_r_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6; }
+if test $ac_cv_lib_c_r_pthread_attr_init = yes; then
+ PTHREAD_LIBS="-lc_r"
+fi
+
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: checking for pthread_attr_init" >&5
+echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6; }
+if test "${ac_cv_func_pthread_attr_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define pthread_attr_init to an innocuous variant, in case <limits.h> declares pthread_attr_init.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define pthread_attr_init innocuous_pthread_attr_init
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char pthread_attr_init (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef pthread_attr_init
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_init ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_pthread_attr_init || defined __stub___pthread_attr_init
+choke me
+#endif
+
+int
+main ()
+{
+return pthread_attr_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_func_pthread_attr_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_pthread_attr_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_func_pthread_attr_init" >&6; }
+if test $ac_cv_func_pthread_attr_init = yes; then
+ PTHREAD_LIBS=""
+fi
+
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ # pthread_attr_init is a macro under HPUX 11.0 and 11.11
+ { echo "$as_me:$LINENO: checking for pthread_attr_destroy in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_destroy in -lpthread... $ECHO_C" >&6; }
+if test "${ac_cv_lib_pthread_pthread_attr_destroy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_destroy ();
+int
+main ()
+{
+return pthread_attr_destroy ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_pthread_pthread_attr_destroy=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_pthread_pthread_attr_destroy=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_destroy" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_destroy" >&6; }
+if test $ac_cv_lib_pthread_pthread_attr_destroy = yes; then
+ PTHREAD_LIBS="-lpthread"
+fi
+
+fi
+if test "x$MKAFS_OSTYPE" = xDFBSD; then
+ PTHREAD_LIBS="-pthread"
+fi
+if test "x$PTHREAD_LIBS" = xerror; then
+ { echo "$as_me:$LINENO: WARNING: *** Unable to locate working posix thread library ***" >&5
+echo "$as_me: WARNING: *** Unable to locate working posix thread library ***" >&2;}
+fi
+
+
+WITH_OBSOLETE=NO
+if test "$enable_obsolete" = "yes"; then
+ WITH_OBSOLETE=YES
+fi
+
+if test "x$with_bsd_kernel_headers" != "x"; then
+ BSD_KERNEL_PATH="$with_bsd_kernel_headers"
+else
+ BSD_KERNEL_PATH="/usr/src/sys"
+fi
+
+if test "x$with_bsd_kernel_build" != "x"; then
+ BSD_KERNEL_BUILD="$with_bsd_kernel_build"
+else
+ case $AFS_SYSNAME in
+ i386_fbsd_4?)
+ BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
+ ;;
+ i386_fbsd_5?)
+ BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/i386/compile/GENERIC"
+ ;;
+ esac
+fi
+
+# Fast restart
+if test "$enable_supergroups" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SUPERGROUPS 1
+_ACEOF
+
+fi
+
+if test "$enable_fast_restart" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FAST_RESTART 1
+_ACEOF
+
+fi
+
+if test "$enable_bitmap_later" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BITMAP_LATER 1
+_ACEOF
+
+fi
+
+if test "$enable_unix_sockets" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_UNIX_SOCKETS 1
+_ACEOF
+
+ USE_UNIX_SOCKETS="yes"
+else
+ USE_UNIX_SOCKETS="no"
+fi
+
+
+if test "$enable_full_vos_listvol_switch" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FULL_LISTVOL_SWITCH 1
+_ACEOF
+
+fi
+
+if test "$enable_bos_restricted_mode" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BOS_RESTRICTED_MODE 1
+_ACEOF
+
+fi
+
+if test "$enable_bos_new_config" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define BOS_NEW_CONFIG 1
+_ACEOF
+
+fi
+
+if test "$enable_largefile_fileserver" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_LARGEFILE_ENV 1
+_ACEOF
+
+fi
+
+if test "$enable_namei_fileserver" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_NAMEI_ENV 1
+_ACEOF
+
+else
+ if test "$enable_namei_fileserver" = "default"; then
+ case $host in
+ *-solaris2.10*)
+ { echo "$as_me:$LINENO: WARNING: Some Solaris 10 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&5
+echo "$as_me: WARNING: Some Solaris 10 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&2;}
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_NAMEI_ENV 1
+_ACEOF
+
+ ;;
+ *-solaris2.11*)
+ { echo "$as_me:$LINENO: WARNING: Solaris 11 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&5
+echo "$as_me: WARNING: Solaris 11 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver" >&2;}
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_NAMEI_ENV 1
+_ACEOF
+
+ ;;
+ *)
+ ;;
+ esac
+ fi
+fi
+
+if test "$enable_afsdb" = "yes"; then
+ LIB_AFSDB="$LIB_res_search"
+
+cat >>confdefs.h <<\_ACEOF
+#define AFS_AFSDB_ENV 1
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5
+echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6; }
+XBSA_CFLAGS=""
+if test "$enable_tivoli_tsm" = "yes"; then
+ XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
+ XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
+ XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
+ XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
+
+ if test -r "$XBSADIR3/dsmapifp.h"; then
+ XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
+ XBSA_XLIBS="-ldl"
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ elif test -r "$XBSADIR4/dsmapifp.h"; then
+ XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
+ XBSA_XLIBS="-ldl"
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ elif test -r "$XBSADIR1/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+ XBSA_XLIBS=""
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ elif test -r "$XBSADIR2/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+ XBSA_XLIBS=""
+ { echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
+ else
+ { echo "$as_me:$LINENO: result: no, missing xbsa.h and dsmapifp.h header files" >&5
+echo "${ECHO_T}no, missing xbsa.h and dsmapifp.h header files" >&6; }
+ fi
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f -r conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
+if test "${ac_cv_header_sys_wait_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
+
+int
+main ()
+{
+ int s;
+ wait (&s);
+ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_sys_wait_h=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_sys_wait_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
+if test $ac_cv_header_sys_wait_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYS_WAIT_H 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+ { echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_opendir=$ac_res
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+ { echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_search_opendir=$ac_res
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+
+
+
+
+
+
+
+for ac_header in stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+for ac_header in mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+for ac_header in sys/mount.h strings.h termios.h signal.h poll.h sys/pag.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+for ac_header in windows.h malloc.h winsock2.h direct.h io.h sys/user.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+for ac_header in security/pam_modules.h siad.h usersec.h ucontext.h regex.h sys/statvfs.h sys/statfs.h sys/bitypes.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ echo "$as_me:$LINENO: checking for fsblkcnt_t" >&5
+echo $ECHO_N "checking for fsblkcnt_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_fsblkcnt_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#ifdef HAVE_SYS_BITYPES_H
+#include <sys/bitypes.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
+#ifdef HAVE_SYS_STATVFS_H
+#include <sys/statvfs.h>
+#endif
+
+
+typedef fsblkcnt_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_fsblkcnt_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_fsblkcnt_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_fsblkcnt_t" >&5
+echo "${ECHO_T}$ac_cv_type_fsblkcnt_t" >&6; }
+if test $ac_cv_type_fsblkcnt_t = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_FSBLKCNT_T 1
+_ACEOF
+
+
+fi
+
+
+if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
+ HAVE_PAM="yes"
+else
+ HAVE_PAM="no"
+fi
+
+
+if test "$enable_probing" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_LINUX_SYSCALL_PROBING 1
+_ACEOF
+
+fi
+
+if test "$enable_login" = yes; then
+ BUILD_LOGIN="yes"
+else
+ BUILD_LOGIN="no"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+for ac_func in setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+for ac_func in setvbuf vsyslog
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
+echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6; }
+if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_cv_func_setvbuf_reversed=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+# ifdef PROTOTYPES
+ int (setvbuf) (FILE *, int, char *, size_t);
+# endif
+int
+main ()
+{
+char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+# ifdef PROTOTYPES
+ int (setvbuf) (FILE *, int, char *, size_t);
+# endif
+int
+main ()
+{
+char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ # It compiles and links either way, so it must not be declared
+ # with a prototype and most likely this is a K&R C compiler.
+ # Try running it.
+ if test "$cross_compiling" = yes; then
+ : # Assume setvbuf is not reversed when cross-compiling.
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+/* This call has the arguments reversed.
+ A reversed system may check and see that the address of buf
+ is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
+ char buf;
+ if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
+ return 1;
+ putchar ('\r');
+ return 0; /* Non-reversed systems SEGV here. */
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_setvbuf_reversed=yes
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ ac_cv_func_setvbuf_reversed=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6; }
+if test $ac_cv_func_setvbuf_reversed = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define SETVBUF_REVERSED 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_func in regcomp regexec regerror
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ echo "$as_me:$LINENO: checking for POSIX regex library" >&5
+echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6; }
+if test "$ac_cv_header_regex_h" = "yes" && \
+ test "$ac_cv_func_regcomp" = "yes" && \
+ test "$ac_cv_func_regexec" = "yes" && \
+ test "$ac_cv_func_regerror" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_POSIX_REGEX 1
+_ACEOF
+
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+{ echo "$as_me:$LINENO: checking for void *" >&5
+echo $ECHO_N "checking for void *... $ECHO_C" >&6; }
+if test "${ac_cv_type_void_p+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef void * ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_void_p=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_void_p=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_void_p" >&5
+echo "${ECHO_T}$ac_cv_type_void_p" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of void *" >&5
+echo $ECHO_N "checking size of void *... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_void_p+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_void_p=$ac_lo;;
+'') if test "$ac_cv_type_void_p" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_void_p=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef void * ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_void_p=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_void_p" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (void *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_void_p=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_void_p" >&5
+echo "${ECHO_T}$ac_cv_sizeof_void_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for unsigned long long" >&5
+echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6; }
+if test "${ac_cv_type_unsigned_long_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef unsigned long long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_unsigned_long_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_long_long=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of unsigned long long" >&5
+echo $ECHO_N "checking size of unsigned long long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_unsigned_long_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_long_long=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_long_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_long_long=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_long_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long_long=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_unsigned_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG_LONG $ac_cv_sizeof_unsigned_long_long
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for unsigned long" >&5
+echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6; }
+if test "${ac_cv_type_unsigned_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef unsigned long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_unsigned_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_long=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of unsigned long" >&5
+echo $ECHO_N "checking size of unsigned long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_unsigned_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_long=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_long=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_long=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_unsigned_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for unsigned int" >&5
+echo $ECHO_N "checking for unsigned int... $ECHO_C" >&6; }
+if test "${ac_cv_type_unsigned_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef unsigned int ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_unsigned_int=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_int=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_int" >&5
+echo "${ECHO_T}$ac_cv_type_unsigned_int" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of unsigned int" >&5
+echo $ECHO_N "checking size of unsigned int... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_unsigned_int+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_unsigned_int=$ac_lo;;
+'') if test "$ac_cv_type_unsigned_int" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_int=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef unsigned int ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_unsigned_int=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_unsigned_int" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (unsigned int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_unsigned_int=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5
+echo "${ECHO_T}$ac_cv_sizeof_unsigned_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
+_ACEOF
+
+
+{ echo "$as_me:$LINENO: checking for ssize_t" >&5
+echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_ssize_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef ssize_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_ssize_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ssize_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
+if test $ac_cv_type_ssize_t = yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+#define ssize_t int
+_ACEOF
+
+fi
+
+{ echo "$as_me:$LINENO: checking for long" >&5
+echo $ECHO_N "checking for long... $ECHO_C" >&6; }
+if test "${ac_cv_type_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+typedef long ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+ return 0;
+if (sizeof (ac__type_new_))
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_long=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_long=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+echo "${ECHO_T}$ac_cv_type_long" >&6; }
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ echo "$as_me:$LINENO: checking size of long" >&5
+echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ 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. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
+test_array [0] = 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_long=$ac_lo;;
+'') if test "$ac_cv_type_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+ typedef long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (ac__type_sizeof_))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%ld\n", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (ac__type_sizeof_))))
+ return 1;
+ fprintf (f, "%lu\n", i);
+ }
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_long=`cat conftest.val`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_long" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+
+{ echo "$as_me:$LINENO: checking size of time_t" >&5
+echo $ECHO_N "checking size of time_t... $ECHO_C" >&6; }
+if test "${ac_cv_sizeof_time_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test "$cross_compiling" = yes; then
+ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+#include <time.h>
+main()
+{
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%d\n", sizeof(time_t));
+ exit(0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_time_t=`cat conftestval`
+else
+ echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_sizeof_time_t=0
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
+_ACEOF
+
+
+
+for ac_func in timegm
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+for ac_func in daemon
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+if test "x$enable_transarc_paths" = "xyes" ; then
+ afsconfdir=${afsconfdir=/usr/afs/etc}
+ viceetcdir=${viceetcdir=/usr/vice/etc}
+ afskerneldir=${afskerneldir=${viceetcdir}}
+ afssrvbindir=${afssrvbindir=/usr/afs/bin}
+ afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
+ afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
+ afsdbdir=${afsdbdir=/usr/afs/db}
+ afslogsdir=${afslogsdir=/usr/afs/logs}
+ afslocaldir=${afslocaldir=/usr/afs/local}
+ afsbackupdir=${afsbackupdir=/usr/afs/backup}
+ afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
+else
+ afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
+ viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
+ afskerneldir=${afskerneldir='${libdir}/openafs'}
+ afssrvbindir=${afssrvbindir='${bindir}'}
+ afssrvsbindir=${afssrvsbindir='${sbindir}'}
+ afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
+ afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
+ afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
+ afslocaldir=${afslocaldir='${localstatedir}/openafs'}
+ afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
+ afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+if test "x$enable_kernel_module" = "xyes"; then
+ENABLE_KERNEL_MODULE=libafs
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+XCFLAGS='${DBG} ${OPTMZ}'
+SHLIB_SUFFIX="so"
+CC="cc"
+CCOBJ="cc"
+MT_CC="cc"
+XLIBS="${LIB_AFSDB} ${XBSA_XLIBS}"
+
+KERN_DBG=-g
+KERN_OPTMZ=-O
+DBG=-g
+OPTMZ=-O
+LWP_DBG=-g
+LWP_OPTMZ=-O
+NO_STRIP_BIN=-ns
+NO_STRIP_KRB=-ns
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+for ac_prog in as
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AS="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+ { echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AS" && break
+done
+test -n "$AS" || AS="${am_missing_run}as"
+
+for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+done
+test -n "$AR" || AR="${am_missing_run}ar"
+
+for ac_prog in mv
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_MV+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$MV"; then
+ ac_cv_prog_MV="$MV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MV="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+MV=$ac_cv_prog_MV
+if test -n "$MV"; then
+ { echo "$as_me:$LINENO: result: $MV" >&5
+echo "${ECHO_T}$MV" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$MV" && break
+done
+test -n "$MV" || MV="${am_missing_run}mv"
+
+for ac_prog in rm
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RM+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$RM"; then
+ ac_cv_prog_RM="$RM" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RM="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RM=$ac_cv_prog_RM
+if test -n "$RM"; then
+ { echo "$as_me:$LINENO: result: $RM" >&5
+echo "${ECHO_T}$RM" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$RM" && break
+done
+test -n "$RM" || RM="${am_missing_run}rm"
+
+for ac_prog in ld
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$LD"; then
+ ac_cv_prog_LD="$LD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LD="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LD=$ac_cv_prog_LD
+if test -n "$LD"; then
+ { echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$LD" && break
+done
+test -n "$LD" || LD="${am_missing_run}ld"
+
+for ac_prog in cp
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$CP"; then
+ ac_cv_prog_CP="$CP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CP="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CP=$ac_cv_prog_CP
+if test -n "$CP"; then
+ { echo "$as_me:$LINENO: result: $CP" >&5
+echo "${ECHO_T}$CP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$CP" && break
+done
+test -n "$CP" || CP="${am_missing_run}cp"
+
+for ac_prog in strip
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$STRIP" && break
+done
+test -n "$STRIP" || STRIP="${am_missing_run}strip"
+
+for ac_prog in lorder
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_LORDER+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$LORDER"; then
+ ac_cv_prog_LORDER="$LORDER" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_LORDER="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+LORDER=$ac_cv_prog_LORDER
+if test -n "$LORDER"; then
+ { echo "$as_me:$LINENO: result: $LORDER" >&5
+echo "${ECHO_T}$LORDER" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$LORDER" && break
+done
+test -n "$LORDER" || LORDER="${am_missing_run}lorder"
+
+
+
+case $AFS_SYSNAME in
+ alpha_dux40)
+ LEX="lex"
+ CSTATIC="-non_shared"
+ DBG="-g3"
+ MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
+ TXLIBS="-lcurses"
+ XCFLAGS="-D_NO_PROTO -DOSF"
+ SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
+ ;;
+
+ alpha_dux50)
+ LEX="flex -l"
+ DBG="-g3"
+ CSTATIC="-non_shared"
+ MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
+ TXLIBS="-lcurses"
+ XCFLAGS="-D_NO_PROTO -DOSF"
+ SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
+ ;;
+
+ alpha_dux51)
+ LEX="flex -l"
+ DBG="-g3"
+ CSTATIC="-non_shared"
+ LWP_OPTMZ="-O2"
+ MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
+ TXLIBS="-lcurses"
+ XCFLAGS="-D_NO_PROTO -DOSF"
+ SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
+ ;;
+
+ alpha_linux_22)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ alpha_linux_24)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ alpha_linux_26)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ arm_linux24)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_OPTMZ=-O2
+ PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ arm_linux26)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_OPTMZ=-O2
+ PAM_CFLAGS="-Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ hp_ux102)
+ AS="/usr/ccs/bin/as"
+ CC="/opt/ansic/bin/cc -Ae"
+ DBM="/lib/libndbm.a"
+ LD="/bin/ld"
+ LEX="/opt/langtools/bin/lex"
+ LWP_OPTMZ="-O"
+ MT_CC="/opt/ansic/bin/cc -Ae"
+ MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-L/opt/dce/lib -ldce"
+ MV="/bin/mv"
+ OPTMZ="-O"
+ PAM_CFLAGS="+DA1.0 +z -Wl,+k"
+ PAM_LIBS="/usr/lib/libpam.1"
+ RANLIB="/usr/bin/ranlib"
+ RM="/bin/rm"
+ SHLIB_LDFLAGS="-b -Bsymbolic"
+ SHLIB_SUFFIX="sl"
+ TXLIBS="/usr/lib/libHcurses.a"
+ VFSCK_CFLAGS="-D_FILE64"
+ XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="${XCFLAGS0} +DA2.0W"
+ XCFLAGS="${XCFLAGS0} +DA1.0"
+ YACC="/opt/langtools/bin/yacc"
+ SHLIB_LINKER="ld -b"
+ ;;
+
+ hp_ux11*)
+ AR="/usr/bin/ar"
+ AS="/usr/ccs/bin/as"
+ CC="/opt/ansic/bin/cc"
+ CCOBJ="/opt/ansic/bin/cc"
+ DBM="/lib/libndbm.a"
+ LD="/bin/ld "
+ LEX="/opt/langtools/bin/lex"
+ LWP_OPTMZ="-O"
+ MT_CC="$CC"
+ MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ MV="/bin/mv"
+ OPTMZ="-O"
+ PAM_CFLAGS="+DA1.0 +z -Wl,+k"
+ PAM_LIBS="/usr/lib/libpam.1"
+ RANLIB="/usr/bin/ranlib"
+ RM="/bin/rm"
+ SHLIB_LDFLAGS="-b -Bsymbolic"
+ SHLIB_SUFFIX="sl"
+ TXLIBS="/usr/lib/libHcurses.a"
+ VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
+ XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="${XCFLAGS0} +DA2.0W"
+ XCFLAGS="${XCFLAGS0} +DA1.0"
+ XLIBELFA="-lelf"
+ #XLIBS="${LIB_AFSDB} -lnsl"
+ YACC="/opt/langtools/bin/yacc"
+ SHLIB_LINKER="ld -b"
+ ;;
+
+ ia64_hpux*)
+ AR="/usr/bin/ar"
+ AS="/usr/ccs/bin/as"
+ CC="/opt/ansic/bin/cc"
+ CCOBJ="/opt/ansic/bin/cc"
+ DBM="/lib/hpux32/libndbm.so"
+ LD="/bin/ld "
+ LEX="/opt/langtools/bin/lex"
+ LWP_OPTMZ=""
+ MT_CC="$CC"
+ MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ MV="/bin/mv"
+ OPTMZ="-O"
+ PAM_CFLAGS="-b +z -Wl,+k"
+ PAM_LIBS="/usr/lib/hpux32/libpam.so"
+ RANLIB="/usr/bin/ranlib"
+ RM="/bin/rm"
+ SHLIB_LDFLAGS="-b -Bsymbolic"
+ SHLIB_SUFFIX="sl"
+ TXLIBS="/usr/lib/hpux32/libcurses.so"
+ VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
+ XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="${XCFLAGS0} +DD64"
+ XCFLAGS="${XCFLAGS0}"
+ XLIBELFA="-lelf"
+ #XLIBS="${LIB_AFSDB} -lnsl"
+ YACC="/opt/langtools/bin/yacc"
+ SHLIB_LINKER="ld -b"
+ ;;
+
+ i386_fbsd_*)
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -pipe"
+ YACC="byacc"
+ ;;
+
+ i386_dfbsd_*)
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_OPTMZ=-O2
+ PAM_CFLAGS="-pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="-lncurses"
+ XCFLAGS="-pipe"
+ YACC="byacc"
+ ;;
+
+ amd64_fbsd_*)
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -pipe -fPIC"
+ YACC="byacc"
+ ;;
+
+ *nbsd2*|*nbsd3*|*nbsd4*)
+ LEX="flex -l"
+ MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT '
+ MT_LIBS="-lpthread" # XXX -pthread soon
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="/usr/lib/libcurses.so"
+ XCFLAGS="-O2 -pipe"
+ YACC="yacc"
+ ;;
+
+ *nbsd15|*nbsd16)
+ LEX="flex -l"
+ MT_CFLAGS='${XCFLAGS}'
+ MT_LIBS=""
+ PAM_CFLAGS="-O2 -pipe -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="/usr/lib/libcurses.so"
+ XCFLAGS="-O2 -pipe"
+ YACC="bison -y"
+ ;;
+
+ ia64_linux24|ia64_linux26)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ amd64_linux*)
+ CCOBJ="${CC} -fPIC"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ ppc64_linux24)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="/usr/lib64/libncurses.so"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ ppc64_linux26)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_CFLAGS="-fPIC"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -fPIC"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_umlinux22)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_linux*)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_umlinux24)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ i386_umlinux26)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ *_obsd*)
+ KRB5CFLAGS="-I/usr/include/kerberosV"
+ KRB5LIBS="-lkrb5 -lcrypto"
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-pthread"
+ PAM_CFLAGS="-O2 -pipe -fpic"
+ OPTMZ="-O2"
+ SHLIB_CFLAGS="-fpic"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ SHLIB_LINKER="${MT_CC} -shared"
+ TXLIBS="/usr/lib/libcurses.a"
+ XCFLAGS=""
+ YACC="yacc"
+ ;;
+
+ parisc_linux24)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ ppc_darwin_12)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-traditional-cpp"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_13)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_14)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_60)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+ LEX="lex -l"
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ TXLIBS="-lncurses"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ ppc_darwin_70)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS}'
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LWP_OPTMZ="-O2"
+ REGEX_OBJ="regex.o"
+ XCFLAGS="-no-cpp-precomp"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ ;;
+
+ *_darwin_80)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ REGEX_OBJ="regex.o"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib -c"
+ ;;
+
+ *_darwin_90)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LD="cc"
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ REGEX_OBJ="regex.o"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib -c"
+ ;;
+
+ *_darwin_100)
+ AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
+ LEX="lex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
+ MT_LIBS="-lresolv"
+ KROOT=
+ KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
+ LD="cc"
+ KERN_OPTMZ="-Os"
+ LWP_OPTMZ="-Os"
+ OPTMZ="-Os"
+ PAM_LIBS="-lpam"
+ REGEX_OBJ="regex.o"
+ TXLIBS="-lncurses"
+ EXTRA_VLIBOBJS="fstab.o"
+ SHLIB_LINKER="${MT_CC} -dynamiclib"
+ SHLIB_SUFFIX="dylib"
+ RANLIB="ranlib"
+ ;;
+
+ ppc_linux*)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ rs_aix42)
+ DBG=""
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32=""
+ AIX64="#"
+ ;;
+
+
+ rs_aix51)
+ DBG=""
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32=""
+ AIX64=""
+ ;;
+
+ rs_aix52)
+ DBG=""
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX64=""
+ ;;
+
+ rs_aix53)
+ DBG="-g"
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32=""
+ AIX32=""
+ AIX64=""
+ ;;
+
+ rs_aix61)
+ DBG="-g"
+ LEX="lex"
+ LIBSYS_AIX_EXP="afsl.exp"
+ MT_CC="xlc_r"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthreads"
+ SHLIB_SUFFIX="o"
+ TXLIBS="-lcurses"
+ XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
+ XLIBS="${LIB_AFSDB} -ldl"
+ SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
+ AIX32="#"
+ AIX64=""
+ ;;
+
+ s390_linux22)
+ CC="gcc"
+ CCOBJ="gcc"
+ LD="ld"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CC="$CC"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ s390_linux24|s390_linux26)
+ CC="gcc"
+ CCOBJ="gcc"
+ LD="ld"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CC="$CC"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ s390x_linux24|s390x_linux26)
+ CC="gcc"
+ CCOBJ="gcc -fPIC"
+ LD="ld"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CC="$CC"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ sgi_62)
+ PINSTALL_LIBS=-lmld
+ AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LEX="lex"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-64 -mips3"
+ XCFLAGS="-o32"
+ XLDFLAGS64="-64"
+ XLDFLAGS="-o32"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sgi_63)
+ PINSTALL_LIBS=-lmld
+ AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LEX="lex"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
+ XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
+ XLDFLAGS64="-64"
+ XLDFLAGS="-o32"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sgi_64)
+ AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LEX="lex"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
+ XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -n32 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552"
+ XLDFLAGS64="-64"
+ XLDFLAGS="-n32"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sgi_65)
+ AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
+ CC="/usr/bin/cc"
+ CCOBJ="/usr/bin/cc"
+ FSINCLUDES="-I/usr/include/sys/fs"
+ LD="/usr/bin/ld"
+ LEX="lex"
+ MT_CC="/usr/bin/cc"
+ MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ TXLIBS="-lcurses"
+ XCFLAGS64="-64 -mips3"
+ XCFLAGS="-n32 -mips3 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552"
+ XLDFLAGS64="-64 -mips3"
+ XLDFLAGS="-n32 -mips3"
+ SHLIB_LINKER="${CC} -shared"
+ ;;
+
+ sparc64_linux*)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ XCFLAGS64="-O2 -D_LARGEFILE64_SOURCE -m64"
+ XLDFLAGS64="-m64"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ sparc_linux22)
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
+ YACC="bison -y"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
+ sun4_413)
+ CCXPG2="/usr/xpg2bin/cc"
+ CC="gcc"
+ CCOBJ="gcc"
+ LEX="lex"
+ SHLIB_CFLAGS="-PIC"
+ TXLIBS="-lcurses -ltermcap"
+ XCFLAGS=""
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB}"
+ LD="ld"
+ ;;
+
+ sun4x_55)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ SHLIB_CFLAGS="-KPIC"
+ TXLIBS="-lcurses"
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ LD="/usr/ccs/bin/ld"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_56)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-L/usr/ccs/lib -lcurses"
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ LD="/usr/ccs/bin/ld"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_57)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_58)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_59)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_510)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=v9'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sun4x_511)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -m64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
+ LWP_OPTMZ="-g"
+ ;;
+
+ sunx86_57)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_58)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_59)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_510)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -xarch=amd64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
+ ;;
+
+ sunx86_511)
+ CC="/opt/SUNWspro/bin/cc"
+ CCOBJ="/opt/SUNWspro/bin/cc"
+ LEX="lex"
+ LD="/usr/ccs/bin/ld"
+ MT_CC="/opt/SUNWspro/bin/cc"
+ MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
+ MT_LIBS="-lpthread -lsocket"
+ PAM_CFLAGS="-KPIC"
+ PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
+ SHLIB_CFLAGS="-KPIC"
+ SHLIB_LDFLAGS="-G -Bsymbolic"
+ TXLIBS="-lcurses"
+ XCFLAGS64='${XCFLAGS} -m64'
+ XCFLAGS="-dy -Bdynamic"
+ XLIBELFA="-lelf"
+ XLIBKVM="-lkvm"
+ XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
+ SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
+ ;;
+esac
+
+#
+# Special build targets
+#
+case $AFS_SYSNAME in
+ sgi_6*)
+
+{ echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5
+echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6; }
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__"
+if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <sys/types.h>
+#include <sys/systm.h>
+int
+main ()
+{
+
+extern void *memcpy(char *, const void *, size_t);
+
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_irix_sys_systm_h_has_mem_funcs=no
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_irix_sys_systm_h_has_mem_funcs=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+CPPFLAGS="$save_CPPFLAGS"
+if test "$ac_cv_irix_sys_systm_h_has_mem_funcs" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define IRIX_HAS_MEM_FUNCS 1
+_ACEOF
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_irix_sys_systm_h_has_mem_funcs" >&5
+echo "${ECHO_T}$ac_cv_irix_sys_systm_h_has_mem_funcs" >&6; }
+
+ XFS_SIZE_CHECK="xfs_size_check"
+ install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
+ dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
+
+
+
+
+ ;;
+
+ sun4x_*|sunx86_*)
+ FS_CONV_SOL26="fs_conv_sol26"
+ install_FS_CONV_SOL26='$(DESTDIR)${afssrvsbindir}/fs_conv_sol26'
+ dest_FS_CONV_SOL26='$(DEST)/root.server/usr/afs/bin/fs_conv_sol26'
+
+
+
+
+ ;;
+
+ alpha_dux*)
+ FS_CONV_OSF40D="fs_conv_dux40D"
+ install_FS_CONV_OSF40D='$(DESTDIR)${afssrvsbindir}/fs_conv_dux40D'
+ dest_FS_CONV_OSF40D='$(DEST)/root.server/usr/afs/bin/fs_conv_dux40D'
+
+
+
+
+ ;;
+esac
+
+if test "x$enable_debug_kernel" = "xno"; then
+ KERN_DBG=
+fi
+
+if test "x$enable_optimize_kernel" = "xno"; then
+ KERN_OPTMZ=
+fi
+
+if test "x$enable_debug" = "xno"; then
+ DBG=
+ NO_STRIP_BIN=
+ NO_STRIP_KRB=-s
+fi
+
+if test "x$enable_optimize" = "xno"; then
+ OPTMZ=
+fi
+
+if test "x$enable_debug_lwp" = "xno"; then
+ LWP_DBG=
+fi
+
+if test "x$enable_optimize_lwp" = "xno"; then
+ LWP_OPTMZ=
+fi
+
+if test "x$enable_strip_binaries" != "xno"; then
+ if test "x$enable_strip_binaries" = "xmaybe" -a "x$enable_debug" = "xyes"; then
+ NO_STRIP_BIN=-ns
+ NO_STRIP_KRB=-ns
+ else
+ NO_STRIP_BIN=
+ NO_STRIP_KRB=-s
+ fi
+else
+ NO_STRIP_BIN=-ns
+ NO_STRIP_KRB=-ns
+fi
+
+if test "x$enable_warnings" = "xyes"; then
+ if test "x$GCC" = "xyes"; then
+ XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition"
+ fi
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-krb5-conf was given.
+if test "${with_krb5_conf+set}" = set; then
+ withval=$with_krb5_conf;
+fi
+
+if test X$with_krb5_conf != X; then
+ conf_krb5=YES
+ if test X$with_krb5_conf = Xyes; then
+ # Extract the first word of "krb5-config", so it can be a program name with args.
+set dummy krb5-config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $KRB5_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_KRB5_CONFIG="$KRB5_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_KRB5_CONFIG" && ac_cv_path_KRB5_CONFIG="not_found"
+ ;;
+esac
+fi
+KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG
+if test -n "$KRB5_CONFIG"; then
+ { echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
+echo "${ECHO_T}$KRB5_CONFIG" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ if test X$KRB5_CONFIG = Xnot_found; then
+ { { echo "$as_me:$LINENO: error: cannot find krb5-config script, you must configure Kerberos manually" >&5
+echo "$as_me: error: cannot find krb5-config script, you must configure Kerberos manually" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ KRB5_CONFIG=$withval
+ fi
+ KRB5CFLAGS=`$KRB5_CONFIG --cflags krb5`
+ retval=$?
+ if test $retval -ne 0; then
+ { { echo "$as_me:$LINENO: error: $KRB5_CONFIG failed with an error code of $retval" >&5
+echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ KRB5LIBS=`$KRB5_CONFIG --libs krb5`
+ retval=$?
+ if test $retval -ne 0; then
+ { { echo "$as_me:$LINENO: error: $KRB5_CONFIG failed with an error code of $retval" >&5
+echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ { echo "$as_me:$LINENO: result: Adding $KRB5CFLAGS to KRB5CFLAGS" >&5
+echo "${ECHO_T}Adding $KRB5CFLAGS to KRB5CFLAGS" >&6; }
+ { echo "$as_me:$LINENO: result: Adding $KRB5LIBS to KRB5LIBS" >&5
+echo "${ECHO_T}Adding $KRB5LIBS to KRB5LIBS" >&6; }
+fi
+
+
+# Check whether --with-krb5 was given.
+if test "${with_krb5+set}" = set; then
+ withval=$with_krb5;
+fi
+
+
+if test X$with_krb5 != X; then
+ if test X$conf_krb5 = XYES; then
+ { { echo "$as_me:$LINENO: error: --with-krb5-config and --with-krb5 are mutually exclusive, choose only one" >&5
+echo "$as_me: error: --with-krb5-config and --with-krb5 are mutually exclusive, choose only one" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ if test "X$KRB5CFLAGS" = X; then
+ { echo "$as_me:$LINENO: WARNING: KRB5CFLAGS is not set" >&5
+echo "$as_me: WARNING: KRB5CFLAGS is not set" >&2;}
+ fi
+ if test "X$KRB5LIBS" = X; then
+ { echo "$as_me:$LINENO: WARNING: KRB5LIBS is not set" >&5
+echo "$as_me: WARNING: KRB5LIBS is not set" >&2;}
+ fi
+ conf_krb5=YES
+fi
+
+BUILD_KRB5=no
+MAKE_KRB5=#
+if test X$conf_krb5 = XYES; then
+ { echo "$as_me:$LINENO: result: Configuring support for Kerberos 5 utilities" >&5
+echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; }
+ BUILD_KRB5=yes
+ MAKE_KRB5=
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $KRB5LIBS"
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket krb5_c_encrypt krb5_c_encrypt_length krb5_cc_register krb5_decode_ticket krb5_get_prompt_types krb5_allow_weak_crypto krb5_enctype_enable
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+for ac_func in krb5_524_convert_creds
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+for ac_func in krb524_convert_creds_kdc
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ { echo "$as_me:$LINENO: checking for krb524_convert_creds_kdc in -lkrb524" >&5
+echo $ECHO_N "checking for krb524_convert_creds_kdc in -lkrb524... $ECHO_C" >&6; }
+if test "${ac_cv_lib_krb524_krb524_convert_creds_kdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lkrb524 $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char krb524_convert_creds_kdc ();
+int
+main ()
+{
+return krb524_convert_creds_kdc ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext &&
+ $as_test_x conftest$ac_exeext; then
+ ac_cv_lib_krb524_krb524_convert_creds_kdc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_krb524_krb524_convert_creds_kdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_krb524_krb524_convert_creds_kdc" >&5
+echo "${ECHO_T}$ac_cv_lib_krb524_krb524_convert_creds_kdc" >&6; }
+if test $ac_cv_lib_krb524_krb524_convert_creds_kdc = yes; then
+ LIBS="-lkrb524 $LIBS"
+ KRB5LIBS="-lkrb524 $LIBS"
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB524_CONVERT_CREDS_KDC 1
+_ACEOF
+
+fi
+
+fi
+done
+
+fi
+done
+
+
+for ac_header in kerberosIV/krb.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in kerberosV/heim_err.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+#include <$ac_header>
+_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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
+ ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+ { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ echo "$as_me:$LINENO: checking for krb5_creds.keyblock existence" >&5
+echo $ECHO_N "checking for krb5_creds.keyblock existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_creds_keyblock_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <krb5.h>
+int
+main ()
+{
+krb5_creds _c;
+printf("%x\n", _c.keyblock);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_krb5_creds_keyblock_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_krb5_creds_keyblock_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_keyblock_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_keyblock_exists" >&6; }
+
+{ echo "$as_me:$LINENO: checking for krb5_creds.session existence" >&5
+echo $ECHO_N "checking for krb5_creds.session existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_creds_session_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <krb5.h>
+int
+main ()
+{
+krb5_creds _c;
+printf("%x\n", _c.session);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_krb5_creds_session_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_krb5_creds_session_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6; }
+
+{ echo "$as_me:$LINENO: checking for krb5_prompt.type existence" >&5
+echo $ECHO_N "checking for krb5_prompt.type existence... $ECHO_C" >&6; }
+if test "${ac_cv_krb5_prompt_type_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&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 <krb5.h>
+int
+main ()
+{
+krb5_prompt _p;
+printf("%x\n", _p.type);
+ ;
+ 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 "echo \"\$as_me:$LINENO: $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
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_krb5_prompt_type_exists=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_krb5_prompt_type_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_cv_krb5_prompt_type_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_prompt_type_exists" >&6; }
+
+if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_CREDS_KEYBLOCK 1
+_ACEOF
+
+fi
+if test "x$ac_cv_krb5_creds_session_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_CREDS_SESSION 1
+_ACEOF
+
+fi
+if test "x$ac_cv_krb5_prompt_type_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_PROMPT_TYPE 1
+_ACEOF
+
+fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LIBS="$save_LIBS"
+fi
+
+if test "x$ac_cv_krb5_cc_register_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KRB5_CC_REGISTER 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+TOP_SRCDIR="${srcdir}/src"
+case $TOP_SRCDIR in
+ /*)
+ ;;
+ *)
+ TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
+ ;;
+esac
+
+TOP_OBJDIR="${SRCDIR_PARENT}"
+TOP_INCDIR="${SRCDIR_PARENT}/include"
+TOP_LIBDIR="${SRCDIR_PARENT}/lib"
+if test "${DEST}x" = "x"; then
+ DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
+fi
+
+HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
+HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
+
+
+
+mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
+
+
+
+ac_config_files="$ac_config_files Makefile src/config/Makefile.config src/config/Makefile.version:src/config/Makefile.version-NOCML.in src/libafs/Makefile.common src/libafs/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "src/config/afsconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config/afsconfig.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "src/config/Makefile.config") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.config" ;;
+ "src/config/Makefile.version") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version:src/config/Makefile.version-NOCML.in" ;;
+ "src/libafs/Makefile.common") CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile.common" ;;
+ "src/libafs/Makefile") CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MACOS_VERSION!$MACOS_VERSION$ac_delim
+LINUX_PKGVER!$LINUX_PKGVER$ac_delim
+LINUX_PKGREL!$LINUX_PKGREL$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+RANLIB!$RANLIB$ac_delim
+YACC!$YACC$ac_delim
+YFLAGS!$YFLAGS$ac_delim
+LEX!$LEX$ac_delim
+LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
+LEXLIB!$LEXLIB$ac_delim
+HEADER_RT!$HEADER_RT$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+P5PLUS_KOPTS!$P5PLUS_KOPTS$ac_delim
+LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
+RHCONFIG_SP!$RHCONFIG_SP$ac_delim
+RHCONFIG_MP!$RHCONFIG_MP$ac_delim
+MPS!$MPS$ac_delim
+PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
+USE_UNIX_SOCKETS!$USE_UNIX_SOCKETS$ac_delim
+XBSA_CFLAGS!$XBSA_CFLAGS$ac_delim
+XBSA_XLIBS!$XBSA_XLIBS$ac_delim
+HAVE_PAM!$HAVE_PAM$ac_delim
+BUILD_LOGIN!$BUILD_LOGIN$ac_delim
+afsconfdir!$afsconfdir$ac_delim
+viceetcdir!$viceetcdir$ac_delim
+afskerneldir!$afskerneldir$ac_delim
+afssrvbindir!$afssrvbindir$ac_delim
+afssrvsbindir!$afssrvsbindir$ac_delim
+afssrvlibexecdir!$afssrvlibexecdir$ac_delim
+afsdbdir!$afsdbdir$ac_delim
+afslogsdir!$afslogsdir$ac_delim
+afslocaldir!$afslocaldir$ac_delim
+afsbackupdir!$afsbackupdir$ac_delim
+afsbosconfigdir!$afsbosconfigdir$ac_delim
+AFS_SYSNAME!$AFS_SYSNAME$ac_delim
+AFS_PARAM_COMMON!$AFS_PARAM_COMMON$ac_delim
+ENABLE_KERNEL_MODULE!$ENABLE_KERNEL_MODULE$ac_delim
+LIB_AFSDB!$LIB_AFSDB$ac_delim
+LINUX_KERNEL_PATH!$LINUX_KERNEL_PATH$ac_delim
+LINUX_KERNEL_BUILD!$LINUX_KERNEL_BUILD$ac_delim
+BSD_KERNEL_PATH!$BSD_KERNEL_PATH$ac_delim
+BSD_KERNEL_BUILD!$BSD_KERNEL_BUILD$ac_delim
+LINUX_VERSION!$LINUX_VERSION$ac_delim
+MKAFS_OSTYPE!$MKAFS_OSTYPE$ac_delim
+TOP_OBJDIR!$TOP_OBJDIR$ac_delim
+TOP_SRCDIR!$TOP_SRCDIR$ac_delim
+TOP_INCDIR!$TOP_INCDIR$ac_delim
+TOP_LIBDIR!$TOP_LIBDIR$ac_delim
+DEST!$DEST$ac_delim
+WITH_OBSOLETE!$WITH_OBSOLETE$ac_delim
+DARWIN_INFOFILE!$DARWIN_INFOFILE$ac_delim
+IRIX_BUILD_IP35!$IRIX_BUILD_IP35$ac_delim
+HTML_XSL!$HTML_XSL$ac_delim
+XSLTPROC!$XSLTPROC$ac_delim
+AS!$AS$ac_delim
+AR!$AR$ac_delim
+MV!$MV$ac_delim
+RM!$RM$ac_delim
+LD!$LD$ac_delim
+CP!$CP$ac_delim
+LORDER!$LORDER$ac_delim
+XFS_SIZE_CHECK!$XFS_SIZE_CHECK$ac_delim
+install_XFS_SIZE_CHECK!$install_XFS_SIZE_CHECK$ac_delim
+dest_XFS_SIZE_CHECK!$dest_XFS_SIZE_CHECK$ac_delim
+FS_CONV_SOL26!$FS_CONV_SOL26$ac_delim
+install_FS_CONV_SOL26!$install_FS_CONV_SOL26$ac_delim
+dest_FS_CONV_SOL26!$dest_FS_CONV_SOL26$ac_delim
+FS_CONV_OSF40D!$FS_CONV_OSF40D$ac_delim
+install_FS_CONV_OSF40D!$install_FS_CONV_OSF40D$ac_delim
+dest_FS_CONV_OSF40D!$dest_FS_CONV_OSF40D$ac_delim
+CCXPG2!$CCXPG2$ac_delim
+CCOBJ!$CCOBJ$ac_delim
+AFSD_LIBS!$AFSD_LIBS$ac_delim
+AFSD_LDFLAGS!$AFSD_LDFLAGS$ac_delim
+AIX32!$AIX32$ac_delim
+AIX64!$AIX64$ac_delim
+DBG!$DBG$ac_delim
+FSINCLUDES!$FSINCLUDES$ac_delim
+KERN_DBG!$KERN_DBG$ac_delim
+KERN_OPTMZ!$KERN_OPTMZ$ac_delim
+LWP_DBG!$LWP_DBG$ac_delim
+LWP_OPTMZ!$LWP_OPTMZ$ac_delim
+MT_CC!$MT_CC$ac_delim
+MT_CFLAGS!$MT_CFLAGS$ac_delim
+MT_LIBS!$MT_LIBS$ac_delim
+NO_STRIP_BIN!$NO_STRIP_BIN$ac_delim
+NO_STRIP_KRB!$NO_STRIP_KRB$ac_delim
+OPTMZ!$OPTMZ$ac_delim
+PAM_CFLAGS!$PAM_CFLAGS$ac_delim
+PAM_LIBS!$PAM_LIBS$ac_delim
+PINSTALL_LIBS!$PINSTALL_LIBS$ac_delim
+REGEX_OBJ!$REGEX_OBJ$ac_delim
+SHLIB_CFLAGS!$SHLIB_CFLAGS$ac_delim
+SHLIB_LDFLAGS!$SHLIB_LDFLAGS$ac_delim
+SHLIB_LINKER!$SHLIB_LINKER$ac_delim
+SHLIB_SUFFIX!$SHLIB_SUFFIX$ac_delim
+TXLIBS!$TXLIBS$ac_delim
+VFSCK_CFLAGS!$VFSCK_CFLAGS$ac_delim
+XCFLAGS!$XCFLAGS$ac_delim
+XCFLAGS64!$XCFLAGS64$ac_delim
+XLDFLAGS!$XLDFLAGS$ac_delim
+XLDFLAGS64!$XLDFLAGS64$ac_delim
+XLIBELFA!$XLIBELFA$ac_delim
+XLIBKVM!$XLIBKVM$ac_delim
+XLIBS!$XLIBS$ac_delim
+KRB5_CONFIG!$KRB5_CONFIG$ac_delim
+BUILD_KRB5!$BUILD_KRB5$ac_delim
+MAKE_KRB5!$MAKE_KRB5$ac_delim
+KRB5CFLAGS!$KRB5CFLAGS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+KRB5LIBS!$KRB5LIBS$ac_delim
+HELPER_SPLINT!$HELPER_SPLINT$ac_delim
+HELPER_SPLINTCFG!$HELPER_SPLINTCFG$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 5; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+_ACEOF
+
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status. If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless. But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
+ac_dB='\\)[ (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+ sed -n '
+ t rset
+ :rset
+ s/^[ ]*#[ ]*define[ ][ ]*//
+ t ok
+ d
+ :ok
+ s/[\\&,]/\\&/g
+ s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+ s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+ ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[ #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
+do
+ # Write a here document:
+ cat >>$CONFIG_STATUS <<_ACEOF
+ # First, check the format of the line:
+ cat >"\$tmp/defines.sed" <<\\CEOF
+/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
+/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
+b
+:def
+_ACEOF
+ sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
+ echo 'CEOF
+ sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+ ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+ sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+ grep . conftest.tail >/dev/null || break
+ rm -f conftest.defines
+ mv conftest.tail conftest.defines
+done
+rm -f conftest.defines conftest.tail
+
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
+cat >>$CONFIG_STATUS <<\_ACEOF
+ if test x"$ac_file" != x-; then
+ echo "/* $configure_input */" >"$tmp/config.h"
+ cat "$ac_result" >>"$tmp/config.h"
+ if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
+ { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f $ac_file
+ mv "$tmp/config.h" $ac_file
+ fi
+ else
+ echo "/* $configure_input */"
+ cat "$ac_result"
+ fi
+ rm -f "$tmp/out12"
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $ac_file | $ac_file:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
+$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X$ac_file : 'X\(//\)[^/]' \| \
+ X$ac_file : 'X\(//\)$' \| \
+ X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
+echo X$ac_file |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
--- /dev/null
- .TH AFS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFS 1"
++.TH AFS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afs \- Introduction to AFS commands
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\s-1AFS\s0 provides many commands that enable users and system administrators to
+use and customize its features. Many of the commands belong to the
+following categories, called \fIcommand suites\fR.
+.IP "backup" 4
+.IX Item "backup"
+Interface for configuring and operating the \s-1AFS\s0 Backup System.
+.IP "bos" 4
+.IX Item "bos"
+Interface to the Basic Overseer (\s-1BOS\s0) Server for administering server
+processes and configuration files.
+.IP "fs" 4
+.IX Item "fs"
+Interface for administering access control lists (ACLs), the Cache
+Manager, and other miscellaneous file system functions.
+.IP "fstrace" 4
+.IX Item "fstrace"
+Interface for tracing Cache Manager operations when debugging problems.
+.IP "kas" 4
+.IX Item "kas"
+Interface to the Authentication Server for administering security and
+authentication information. This aspect of OpenAFS has been deprecated.
+.IP "pts" 4
+.IX Item "pts"
+Interface to the Protection Server for administering \s-1AFS\s0 \s-1ID\s0 and group
+membership information.
+.IP "uss" 4
+.IX Item "uss"
+Interface for automated administration of user accounts.
+.IP "vos" 4
+.IX Item "vos"
+Interface to the Volume Server and Volume Location (\s-1VL\s0) Server for
+administering volumes.
+.PP
+In addition, there are several commands that do not belong to
+suites.
+.Sh "\s-1AFS\s0 Command Syntax"
+.IX Subsection "AFS Command Syntax"
+\&\s-1AFS\s0 commands that belong to suites have the following structure:
+.PP
+\&\fIcommand_suite\fR \fIoperation_code\fR \fB\-switch\fR <\fIvalue\fR>[+] [\fB\-flag\fR]
+.PP
+\fICommand Names\fR
+.IX Subsection "Command Names"
+.PP
+Together, the \fIcommand_suite\fR and \fIoperation_code\fR make up the \fIcommand
+name\fR.
+.PP
+The \fIcommand_suite\fR specifies the group of related commands to which the
+command belongs, and indicates which command interpreter and server
+process perform the command. \s-1AFS\s0 has several command suites, including
+\&\fBbos\fR, \fBfs\fR, \fBkas\fR, \fBpackage\fR, \fBpts\fR, \fBuss\fR and \fBvos\fR. Some of
+these suites have an interactive mode in which the issuer omits the
+\&\fIoperation_code\fR portion of the command name.
+.PP
+The \fIoperation_code\fR tells the command interpreter and server process
+which action to perform. Most command suites include several operation
+codes. The man pages for each command name describe each operation code in
+detail, and the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR describes how to use them
+in the context of performing administrative tasks.
+.PP
+Several \s-1AFS\s0 commands do not belong to a suite and so their names do not
+have a \fIcommand_suite\fR portion. Their structure is otherwise similar to
+the commands in the suites.
+.PP
+\fIOptions\fR
+.IX Subsection "Options"
+.PP
+The term \fIoption\fR refers to both arguments and flags, which are described
+in the following sections.
+.PP
+\fIArguments\fR
+.IX Subsection "Arguments"
+.PP
+One or more arguments can follow the command name. Arguments specify the
+entities on which to act while performing the command (for example, which
+server machine, server process, or file). To minimize the potential for
+error, provide a command's arguments in the order prescribed in its syntax
+definition.
+.PP
+Each argument has two parts, which appear in the indicated order:
+.IP "\(bu" 4
+The \fIswitch\fR specifies the argument's type and is preceded by a hyphen
+(\fB\-\fR). For instance, the switch \fB\-server\fR usually indicates that the
+argument names a server machine. Switches can often be omitted, subject to
+the rules outlined in \*(L"Conditions for Omitting Switches\*(R".
+.IP "\(bu" 4
+The \fIvalue\fR names a particular entity of the type specified by the
+preceding switch. For example, the proper value for a \fB\-server\fR switch is
+a server machine name like \f(CW\*(C`fs3.abc.com\*(C'\fR. Unlike switches (which have a
+required form), values vary depending on what the issuer wants to
+accomplish. Values appear surrounded by angle brackets (\f(CW\*(C`<>\*(C'\fR) in
+command descriptions and the online help to show that they are
+user-supplied variable information.
+.PP
+Some arguments accept multiple values, as indicated by trailing plus sign
+(\f(CW\*(C`+\*(C'\fR) in the command descriptions and online help. How many of a
+command's arguments take multiple values, and their ordering with respect
+to other arguments, determine when it is acceptable to omit switches. See
+\&\*(L"Conditions for Omitting Switches\*(R".
+.PP
+Some commands have optional as well as required arguments; the command
+descriptions and online help show optional arguments in square brackets
+(\f(CW\*(C`[]\*(C'\fR).
+.PP
+\fIFlags\fR
+.IX Subsection "Flags"
+.PP
+Some commands have one or more flags, which specify the manner in which
+the command interpreter and server process perform the command, or what
+kind of output it produces. Flags are preceded by hyphens like switches,
+but they take no values. Although the command descriptions and online help
+generally list a command's flags after its arguments, there is no
+prescribed order for flags. They can appear anywhere on the command line
+following the operation code, except in between the parts of an
+argument. Flags are always optional.
+.PP
+\fIAn Example Command\fR
+.IX Subsection "An Example Command"
+.PP
+The following example illustrates the different parts of a command that
+belongs to an \s-1AFS\s0 command suite.
+.PP
+.Vb 1
+\& % bos getdate \-server fs1.abc.com \-file ptserver kaserver
+.Ve
+.PP
+where
+.IP "\(bu" 4
+\&\fBbos\fR is the command suite. The \s-1BOS\s0 Server executes most of the commands
+in this suite.
+.IP "\(bu" 4
+\&\fBgetdate\fR is the operation code. It tells the \s-1BOS\s0 Server on the specified
+server machine (in this case \f(CW\*(C`fs1.abc.com\*(C'\fR) to report the modification
+dates of binary files in the local \fI/usr/afs/bin\fR directory.
+.IP "\(bu" 4
+\&\f(CW\*(C`\-server fs1.abc.com\*(C'\fR is one argument, with \fB\-server\fR as the switch and
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR as the value. This argument specifies the server machine on
+which \s-1BOS\s0 Server is to collect and report binary dates.
+.IP "\(bu" 4
+\&\f(CW\*(C`\-file ptserver kaserver\*(C'\fR is an argument that takes multiple values. The
+switch is \fB\-file\fR and the values are \f(CW\*(C`ptserver\*(C'\fR and \f(CW\*(C`kaserver\*(C'\fR. This
+argument tells the \s-1BOS\s0 Server to report the modification dates on the
+files \fI/usr/afs/bin/kaserver\fR and \fI/usr/afs/bin/ptserver\fR.
+.PP
+\fIRules for Entering \s-1AFS\s0 Commands\fR
+.IX Subsection "Rules for Entering AFS Commands"
+.PP
+Enter each \s-1AFS\s0 command on a single line (press <Return> only at the end of
+the command). Some commands in this document appear broken across multiple
+lines, but that is for legibility only.
+.PP
+Use a space to separate each element on a command line from its
+neighbors. Spaces rather than commas also separate multiple values of an
+argument.
+.PP
+In many cases, the issuer of a command can reduce the amount of typing
+necessary by using one or both of the following methods:
+.IP "\(bu" 4
+Omitting switches.
+.IP "\(bu" 4
+Using accepted abbreviations for operation codes, switches (if they are
+included at all), and some types of values.
+.PP
+The following sections explain the conditions for omitting or shortening
+parts of the command line. It is always acceptable to type a command in
+full, with all of its switches and no abbreviations.
+.PP
+Conditions for Omitting Switches
+.IX Subsection "Conditions for Omitting Switches"
+.PP
+It is always acceptable to type the switch part of an argument, but in
+many cases it is not necessary. Specifically, switches can be omitted if
+the following conditions are met.
+.IP "\(bu" 4
+All of the command's required arguments appear in the order prescribed by
+the syntax statement.
+.IP "\(bu" 4
+No switch is provided for any argument.
+.IP "\(bu" 4
+There is only one value for each argument (but note the important
+exception discussed in the following paragraph).
+.PP
+Omitting switches is possible only because there is a prescribed order for
+each command's arguments. When the issuer does not include switches, the
+command interpreter relies instead on the order of arguments; it assumes
+that the first element after the operation code is the command's first
+argument, the next element is the command's second argument, and so
+on. The important exception is when a command's final required argument
+accepts multiple values. In this case, the command interpreter assumes
+that the issuer has correctly provided one value for each argument up
+through the final one, so any additional values at the end belong to the
+final argument.
+.PP
+The following list describes the rules for omitting switches from the
+opposite perspective: an argument's switch must be provided when any of
+the following conditions apply.
+.IP "\(bu" 4
+The command's arguments do not appear in the prescribed order.
+.IP "\(bu" 4
+An optional argument is omitted but a subsequent optional argument is
+provided.
+.IP "\(bu" 4
+A switch is provided for a preceding argument.
+.IP "\(bu" 4
+More than one value is supplied for a preceding argument (which must take
+multiple values, of course); without a switch on the current argument, the
+command interpreter assumes that the current argument is another value for
+the preceding argument.
+.PP
+An Example of Omitting Switches
+.IX Subsection "An Example of Omitting Switches"
+.PP
+Consider again the example command from \*(L"An Example Command\*(R".
+.PP
+.Vb 1
+\& % bos getdate \-server fs1.abc.com \-file ptserver kaserver
+.Ve
+.PP
+This command has two required arguments: the server machine name
+(identified by the \fB\-server\fR switch) and binary file name (identified by
+the \fB\-file\fR switch). The second argument accepts multiple values. By
+complying with all three conditions, the issuer can omit the switches:
+.PP
+.Vb 1
+\& % bos getdate fs1.abc.com ptserver kaserver
+.Ve
+.PP
+Because there are no switches, the bos command interpreter relies on the
+order of arguments. It assumes that the first element following the
+operation code, \f(CW\*(C`fs1.abc.com\*(C'\fR, is the server machine name, and that the
+next argument, \f(CW\*(C`ptserver\*(C'\fR, is a binary file name. Then, because the
+command's second (and last) argument accepts multiple values, the command
+interpreter correctly interprets \f(CW\*(C`kaserver\*(C'\fR as an additional value for
+it.
+.PP
+On the other hand, the following is not acceptable because it violates the
+first two conditions in \*(L"Conditions for Omitting Switches\*(R": even though
+there is only one value per argument, the arguments do not appear in the
+prescribed order, and a switch is provided for one argument but not the
+other.
+.PP
+.Vb 1
+\& % bos getdate ptserver \-server fs1.abc.com
+.Ve
+.PP
+\fIRules for Using Abbreviations and Aliases\fR
+.IX Subsection "Rules for Using Abbreviations and Aliases"
+.PP
+This section explains how to abbreviate operation codes, option names,
+server machine names, partition names, and cell names. It is not possible
+to abbreviate other types of values.
+.PP
+Abbreviating Operation Codes
+.IX Subsection "Abbreviating Operation Codes"
+.PP
+It is acceptable to abbreviate an operation code to the shortest form that
+still distinguishes it from the other operation codes in its suite.
+.PP
+For example, it is acceptable to shorten \fBbos install\fR to \fBbos i\fR
+because there are no other operation codes in the \fBbos\fR command suite
+that begin with the letter \f(CW\*(C`i\*(C'\fR. In contrast, there are several \fBbos\fR
+operation codes that start with the letter \f(CW\*(C`s\*(C'\fR, so the abbreviations must
+be longer to remain unambiguous:
+.IP "\fBbos sa\fR for bos salvage" 4
+.IX Item "bos sa for bos salvage"
+.PD 0
+.IP "\fBbos seta\fR for bos setauth" 4
+.IX Item "bos seta for bos setauth"
+.IP "\fBbos setc\fR for bos setcellname" 4
+.IX Item "bos setc for bos setcellname"
+.IP "\fBbos setr\fR for bos setrestart" 4
+.IX Item "bos setr for bos setrestart"
+.IP "\fBbos sh\fR for bos shutdown" 4
+.IX Item "bos sh for bos shutdown"
+.IP "\fBbos start\fR for bos start" 4
+.IX Item "bos start for bos start"
+.IP "\fBbos startu\fR for bos startup" 4
+.IX Item "bos startu for bos startup"
+.IP "\fBbos stat\fR for bos status" 4
+.IX Item "bos stat for bos status"
+.IP "\fBbos sto\fR for bos stop" 4
+.IX Item "bos sto for bos stop"
+.PD
+.PP
+In addition to abbreviations, some operation codes have an \fIalias\fR, a
+short form that is not derived by abbreviating the operation code to its
+shortest unambiguous form. For example, the alias for the \fBfs setacl\fR
+command is \fBfs sa\fR, whereas the shortest unambiguous abbreviation is \fBfs
+seta\fR.
+.PP
+There are two usual reasons an operation code has an alias:
+.IP "\(bu" 4
+Because the command is frequently issued, it is convenient to have a form
+shorter than the one derived by abbreviating. The \fBfs setacl\fR command is
+an example.
+.IP "\(bu" 4
+Because the command's name has changed, but users of previous versions of
+\&\s-1AFS\s0 know the former name. For example, \fBbos listhosts\fR has the alias
+\&\fBbos getcell\fR, its former name. It is acceptable to abbreviate aliases
+to their shortest unambiguous form (for example, \fBbos getcell\fR to \fBbos
+getc\fR).
+.PP
+Even if an operation code has an alias, it is still acceptable to use the
+shortest unambiguous form. Thus, the \fBfs setacl\fR command has three
+acceptable forms: \fBfs setacl\fR (the full form), \fBfs seta\fR (the shortest
+abbreviation), and \fBfs sa\fR (the alias).
+.PP
+Abbreviating Switches and Flags
+.IX Subsection "Abbreviating Switches and Flags"
+.PP
+It is acceptable to shorten a switch or flag to the shortest form that
+distinguishes it from the other switches and flags for its operation
+code. It is often possible to omit switches entirely, subject to the
+conditions listed in \*(L"Conditions for Omitting Switches\*(R".
+.PP
+Abbreviating Server Machine Names
+.IX Subsection "Abbreviating Server Machine Names"
+.PP
+\&\s-1AFS\s0 server machines must have fully-qualified Internet-style host names
+(for example, \f(CW\*(C`fs1.abc.com\*(C'\fR), but it is not always necessary to type the
+full name on the command line. \s-1AFS\s0 commands accept unambiguous shortened
+forms, but depend on the cell's name service (such as the Domain Name
+Service) or a local host table to resolve a shortened name to the
+fully-qualified equivalent when the command is issued.
+.PP
+Most commands also accept the dotted decimal form of the machine's \s-1IP\s0
+address as an identifier.
+.PP
+Abbreviating Partition Names
+.IX Subsection "Abbreviating Partition Names"
+.PP
+Partitions that house \s-1AFS\s0 volumes must have names of the form
+\&\fI/vicep\fIx\fI\fR or \fI/vicep\fIxx\fI\fR, where the variable final portion is one
+or two lowercase letters. By convention, the first server partition
+created on a file server machine is called \fI/vicepa\fR, the second
+\&\fI/vicepb\fR, and so on. The \fIOpenAFS QuickStart Guide\fR explains how to
+configure and name a file server machine's partitions in preparation for
+storing \s-1AFS\s0 volumes on them.
+.PP
+When issuing \s-1AFS\s0 commands, you can abbreviate a partition name using any
+of the following forms:
+.PP
+.Vb 2
+\& /vicepa = vicepa = a = 0
+\& /vicepb = vicepb = b = 1
+.Ve
+.PP
+After /vicepz (for which the index is 25) comes
+.PP
+.Vb 2
+\& /vicepaa = vicepaa = aa = 26
+\& /vicepab = vicepab = ab = 27
+.Ve
+.PP
+and so on through
+.PP
+.Vb 1
+\& /vicepiv = vicepiv = iv = 255
+.Ve
+.PP
+\&\fI/vicepiv\fR is the last permissible \s-1AFS\s0 partition name. In practice it
+will not work well; stopping with \fI/vicepiu\fR is highly recommended.
+.PP
+Abbreviating Cell Names
+.IX Subsection "Abbreviating Cell Names"
+.PP
+A cell's full name usually matches its Internet domain name (such as
+\&\fBstateu.edu\fR for the State University or \f(CW\*(C`abc.com\*(C'\fR for \s-1ABC\s0
+Corporation). Some \s-1AFS\s0 commands accept unambiguous shortened forms,
+usually with respect to the local \fI/usr/vice/etc/CellServDB file\fR but
+sometimes depending on the ability of the local name service to resolve
+the corresponding domain name.
+.PP
+\fIDisplaying Online Help for \s-1AFS\s0 Commands\fR
+.IX Subsection "Displaying Online Help for AFS Commands"
+.PP
+To display online help for \s-1AFS\s0 commands that belong to suites, use the
+\&\fBhelp\fR and \fBapropos\fR operation codes. A \fB\-help\fR flag is also available
+on every almost every \s-1AFS\s0 command.
+.PP
+The online help entry for a command consists of two or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes what it does.
+.IP "\(bu" 4
+If the command has aliases, they appear on the next line.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage:\*(C'\fR, lists the
+command's options in the prescribed order; online help entries use the
+same typographical symbols (brackets and so on) as this documentation.
+.PP
+If no operation code is specified, the \fBhelp\fR operation code displays the
+first line (short description) for every operation code in the suite:
+.PP
+.Vb 1
+\& % <command_suite> help
+.Ve
+.PP
+If the issuer specifies one or more operation codes, the \fBhelp\fR operation
+code displays each command's complete online entry (short description,
+alias if any, and syntax):
+.PP
+.Vb 1
+\& % <command_suite> help <operation_code>+
+.Ve
+.PP
+The \fB\-help\fR flag displays a command's syntax but not the short
+description or alias:
+.PP
+.Vb 1
+\& % <command_name> \-help
+.Ve
+.PP
+The apropos operation code displays the short description of any command
+in a suite whose operation code or short description includes the
+specified keyword:
+.PP
+.Vb 1
+\& % <command_suite> apropos "<help string>"
+.Ve
+.PP
+The following example command displays the complete online help entry for
+the \fBfs setacl\fR command:
+.PP
+.Vb 5
+\& % fs help setacl
+\& fs setacl: set access control list
+\& aliases: sa
+\& Usage: fs setacl \-dir <directory>+ \-acl <access list entries>+
+\& [\-clear] [\-negative] [\-id] [\-if] [\-help]
+.Ve
+.PP
+To see only the syntax statement, use the \fB\-help\fR flag:
+.PP
+.Vb 3
+\& % fs setacl \-help
+\& Usage: fs setacl \-dir <directory>+ \-acl <access list entries>+
+\& [\-clear] [\-negative] [\-id] [\-if] [\-help]
+.Ve
+.PP
+In the following example, a user wants to display the quota for her home
+volume. She knows that the relevant command belongs to the \fBfs\fR suite,
+but cannot remember the operation code. She uses \fBquota\fR as the keyword:
+.PP
+.Vb 4
+\& % fs apropos quota
+\& listquota: list volume quota
+\& quota: show volume quota usage
+\& setquota: set volume quota
+.Ve
+.PP
+The following illustrates the error message that results if no command
+name or short description contains the keyword:
+.PP
+.Vb 2
+\& % fs apropos "list quota"
+\& Sorry, no commands found
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Many \s-1AFS\s0 commands require one or more types of administrative
+privilege. See the reference page for each command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fIafsmonitor\fR\|(1),
+\&\fIbackup\fR\|(8),
+\&\fIbos\fR\|(8),
+\&\fIbosserver\fR\|(8),
+\&\fIbuserver\fR\|(8),
+\&\fIbutc\fR\|(8),
+\&\fIdlog\fR\|(1),
+\&\fIdpass\fR\|(1),
+\&\fIfileserver\fR\|(8),
+\&\fIfms\fR\|(8),
+\&\fIfs\fR\|(1),
+\&\fIfstrace\fR\|(8),
+\&\fIkadb_check\fR\|(8),
+\&\fIkas\fR\|(8),
+\&\fIkaserver\fR\|(8),
+\&\fIkdb\fR\|(8),
+\&\fIklog\fR\|(1),
+\&\fIknfs\fR\|(1),
+\&\fIkpasswd\fR\|(1),
+\&\fIkpwvalid\fR\|(8),
+\&\fIpackage\fR\|(1),
+\&\fIpagsh\fR\|(1),
+\&\fIprdb_check\fR\|(8),
+\&\fIpts\fR\|(1),
+\&\fIptserver\fR\|(8),
+\&\fIrxdebug\fR\|(1),
+\&\fIsalvager\fR\|(8),
+\&\fIscout\fR\|(1),
+\&\fIsys\fR\|(1),
+\&\fItokens\fR\|(1),
+\&\fItranslate_et\fR\|(1),
+\&\fIunlog\fR\|(1),
+\&\fIup\fR\|(1),
+\&\fIupclient\fR\|(8),
+\&\fIupserver\fR\|(8),
+\&\fIuss\fR\|(8),
+\&\fIvldb_check\fR\|(8),
+\&\fIvlserver\fR\|(8),
+\&\fIvolinfo\fR\|(8),
+\&\fIvolserver\fR\|(8),
+\&\fIvos\fR\|(1),
+\&\fIxfs_size_check\fR\|(8),
+\&\fIxstat_cm_test\fR\|(1),
+\&\fIxstat_fs_test\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFS_COMPILE_ET 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFS_COMPILE_ET 1"
++.TH AFS_COMPILE_ET 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afs_compile_et \- Produce error text tables for compilation
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBafs_compile_et\fR [\fB\-debug\fR] [\fB\-language\fR\ <\fIlang\fR>]
+ [\fB\-prefix\fR\ <\fIprefix\fR>] [\fB\-v\fR <\fIversion\fR>] <\fIerror_table\fR>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBafs_compile_et\fR command builds the error text tables for compilation.
+This includes both a header file that contains a set of mappings between
+error names and values and a \fI.c\fR (or \fI.msf\fR) file that provides a text
+table of descriptions.
+.PP
+The <\fIerror_table\fR> argument specifies which error table to generate.
+The error table specification should exist in the current working
+directory or in the directory specified with \fB\-prefix\fR and should be
+named \fIerror_table.et\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is used internally within the build process for OpenAFS.
+Most users will access this information via \fItranslate_et\fR\|(1) rather than
+via \fBafs_compile_et\fR.
+.PP
+This command does not use the standard \s-1AFS\s0 command-line parsing package.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-debug\fR" 4
+.IX Item "-debug"
+Does nothing. It neither adds debugging information to the output nor
+provides additional information on its operation.
+.IP "\fB\-language\fR <\fIlang\fR>" 4
+.IX Item "-language <lang>"
+Specifies the type of output to generate. Currently, only \s-1ANSI\s0 C and K&R
+are supported values (via the \fBc\fR and \fBk&r\-c\fR values, respectively).
+The default is \s-1ANSI\s0 C. There is some support for \*(C+ started, but that is
+not yet supported.
+.IP "\fB\-prefix <\f(BIprefix\fB\fR" 4
+.IX Item "-prefix <prefix"
+Specifies the directory to search for the \fIerror_table.et\fR file.
+.IP "\fB\-v\fR <\fIversion\fR>" 4
+.IX Item "-v <version>"
+Specified the type of output file: valid values are 1 (the default, for C
+files) or 2, for \fB.msf\fR file generation.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command generates the files \fIpterror.h\fR and \fIpterror.c\fR,
+suitable for use with C programs:
+.PP
+.Vb 1
+\& % afs_compile_et \-p path/to/src/ptserver pterror
+.Ve
+.PP
+The following command generates K&R style files instead:
+.PP
+.Vb 1
+\& % afs_compile_et \-p path/to/src/ptserver \-lang \*(Aqk&r\-c\*(Aq pterror
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItranslate_et\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2009 Steven Jenkins <steven@endpoint.com>
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. This
+man page was written by Steven Jenkins for OpenAFS.
--- /dev/null
- .TH AFSMONITOR 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFSMONITOR 1"
++.TH AFSMONITOR 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afsmonitor \- Monitors File Servers and Cache Managers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBafsmonitor\fR [\fBinitcmd\fR] [\-config <\fIconfiguration file\fR>]
+ [\fB\-frequency\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-output\fR\ <\fIstorage\ file\ name\fR>] [\fB\-detailed\fR]
+ [\fB\-debug\fR\ <\fIdebug\ output\ file\fR>]
+ [\fB\-fshosts\fR\ <\fIlist\ of\ file\ servers\ to\ monitor\fR>+]
+ [\fB\-cmhosts\fR\ <\fIlist\ of\ cache\ managers\ to\ monitor\fR>+]
+ [\fB\-buffers\fR\ <\fInumber\ of\ buffer\ slots\fR>] [\fB\-help\fR]
+.PP
+\&\fBafsmonitor\fR [\fBi\fR] [\-co <\fIconfiguration file\fR>]
+ [\fB\-fr\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-o\fR\ <\fIstorage\ file\ name\fR>] [\fB\-det\fR]
+ [\fB\-deb\fR\ <\fIdebug\ output\ file\fR>]
+ [\fB\-fs\fR\ <\fIlist\ of\ file\ servers\ to\ monitor\fR>+]
+ [\fB\-cm\fR\ <\fIlist\ of\ cache\ managers\ to\ monitor\fR>+]
+ [\fB\-b\fR\ <\fInumber\ of\ buffer\ slots\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The afsmonitor command initializes a program that gathers and displays
+statistics about specified File Server and Cache Manager operations. It
+allows the issuer to monitor, from a single location, a wide range of File
+Server and Cache Manager operations on any number of machines in both
+local and foreign cells.
+.PP
+There are 271 available File Server statistics and 571 available Cache
+Manager statistics, listed in the appendix about \fBafsmonitor\fR statistics
+in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR. By default, the command displays
+all of the relevant statistics for the file server machines named by the
+\&\fB\-fshosts\fR argument and the client machines named by the \fB\-cmhosts\fR
+argument. To limit the display to only the statistics of interest, list
+them in the configuration file specified by the \fB\-config\fR argument. In
+addition, use the configuration file for the following purposes:
+.IP "\(bu" 4
+To set threshold values for any monitored statistic. When the value of a
+statistic exceeds the threshold, the \fBafsmonitor\fR command displays it in
+reverse video. There are no default threshold values.
+.IP "\(bu" 4
+To invoke a program or script automatically when a statistic exceeds its
+threshold. The \s-1AFS\s0 distribution does not include any such scripts.
+.IP "\(bu" 4
+To list the file server and client machines to monitor, instead of using
+the \fB\-fshosts\fR and \fB\-cmhosts\fR arguments.
+.PP
+For a description of the configuration file, see \fIafsmonitor\fR\|(5).
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The following software must be accessible to a machine where the
+\&\fBafsmonitor\fR program is running:
+.IP "\(bu" 4
+The \s-1AFS\s0 xstat libraries, which the afsmonitor program uses to gather data.
+.IP "\(bu" 4
+The curses graphics package, which most \s-1UNIX\s0 distributions provide as a
+standard utility.
+.PP
+The \fBafsmonitor\fR screens format successfully both on so-called dumb
+terminals and in windowing systems that emulate terminals. For the output
+to looks its best, the display environment needs to support reverse video
+and cursor addressing. Set the \s-1TERM\s0 environment variable to the correct
+terminal type, or to a value that has characteristics similar to the
+actual terminal type. The display window or terminal must be at least 80
+columns wide and 12 lines long.
+.PP
+The \fBafsmonitor\fR program must run in the foreground, and in its own
+separate, dedicated window or terminal. The window or terminal is
+unavailable for any other activity as long as the \fBafsmonitor\fR program is
+running. Any number of instances of the \fBafsmonitor\fR program can run on a
+single machine, as long as each instance runs in its own dedicated window
+or terminal. Note that it can take up to three minutes to start an
+additional instance.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fBinitcmd\fR" 4
+.IX Item "initcmd"
+Accommodates the command's use of the \s-1AFS\s0 command parser, and is optional.
+.IP "\fB\-config\fR <\fIfile\fR>" 4
+.IX Item "-config <file>"
+Names the configuration file which lists the machines to monitor,
+statistics to display, and threshold values, if any. A partial pathname is
+interpreted relative to the current working directory. Provide this
+argument if not providing the \fB\-fshosts\fR argument, \fB\-cmhosts\fR argument,
+or neither. For instructions on creating this file, see the preceding
+\&\fB\s-1DESCRIPTION\s0\fR section, and the section on the \fBafsmonitor\fR program in
+the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.IP "\fB\-frequency\fR <\fIpoll frequency\fR>" 4
+.IX Item "-frequency <poll frequency>"
+Specifies in seconds how often the afsmonitor program probes the File
+Servers and Cache Managers. Valid values range from \f(CW1\fR to \f(CW86400\fR
+(which is 24 hours); the default value is \f(CW60\fR. This frequency applies to
+both File Servers and Cache Managers, but the \fBafsmonitor\fR program
+initiates the two types of probes, and processes their results,
+separately. The actual interval between probes to a host is the probe
+frequency plus the time required for all hosts to respond.
+.IP "\fB\-output\fR <\fIfile\fR>" 4
+.IX Item "-output <file>"
+Names the file to which the afsmonitor program writes all of the
+statistics that it collects. By default, no output file is created. See
+the section on the \fBafsmonitor\fR command in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration
+Guide\fR for information on this file.
+.IP "\fB\-detailed\fR" 4
+.IX Item "-detailed"
+Formats the information in the output file named by \fB\-output\fR argument in
+a maximally readable format. Provide the \fB\-output\fR argument along with
+this one.
+.IP "\fB\-fshosts\fR <\fIhost\fR>+" 4
+.IX Item "-fshosts <host>+"
+Names one or more machines from which to gather File Server
+statistics. For each machine, provide either a fully qualified host name,
+or an unambiguous abbreviation (the ability to resolve an abbreviation
+depends on the state of the cell's name service at the time the command is
+issued). This argument can be combined with the \fB\-cmhosts\fR argument, but
+not with the \fB\-config\fR argument.
+.IP "\fB\-cmhosts\fR <\fIhost\fR>+" 4
+.IX Item "-cmhosts <host>+"
+Names one or more machines from which to gather Cache Manager
+statistics. For each machine, provide either a fully qualified host name,
+or an unambiguous abbreviation (the ability to resolve an abbreviation
+depends on the state of the cell's name service at the time the command is
+issued). This argument can be combined with the \fB\-fshosts\fR argument, but
+not with the \fB\-config\fR argument.
+.IP "\fB\-buffers\fR <\fIslots\fR>" 4
+.IX Item "-buffers <slots>"
+Is nonoperational and provided to accommodate potential future
+enhancements to the program.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The afsmonitor program displays its data on three screens:
+.IP "System Overview" 4
+.IX Item "System Overview"
+This screen appears automatically when the \fBafsmonitor\fR program
+initializes. It summarizes separately for File Servers and Cache Managers
+the number of machines being monitored and how many of them have \fIalerts\fR
+(statistics that have exceeded their thresholds). It then lists the
+hostname and number of alerts for each machine being monitored, indicating
+if appropriate that a process failed to respond to the last probe.
+.IP "File Server" 4
+.IX Item "File Server"
+This screen displays File Server statistics for each file server machine
+being monitored. It highlights statistics that have exceeded their
+thresholds, and identifies machines that failed to respond to the last
+probe.
+.IP "Cache Managers" 4
+.IX Item "Cache Managers"
+This screen displays Cache Manager statistics for each client machine
+being monitored. It highlights statistics that have exceeded their
+thresholds, and identifies machines that failed to respond to the last
+probe.
+.PP
+Fields at the corners of every screen display the following information:
+.IP "\(bu" 4
+In the top left corner, the program name and version number.
+.IP "\(bu" 4
+In the top right corner, the screen name, current and total page numbers,
+and current and total column numbers. The page number (for example, \f(CW\*(C`p. 1
+of 3\*(C'\fR) indicates the index of the current page and the total number of
+(vertical) pages over which data is displayed. The column number (for
+example, \f(CW\*(C`c. 1 of 235\*(C'\fR) indicates the index of the current leftmost
+column and the total number of columns in which data appears. (The symbol
+\&\f(CW\*(C`>>>\*(C'\fR indicates that there is additional data to the right; the
+symbol \f(CW\*(C`<<<\*(C'\fR indicates that there is additional data to the
+left.)
+.IP "\(bu" 4
+In the bottom left corner, a list of the available commands. Enter the
+first letter in the command name to run that command. Only the currently
+possible options appear; for example, if there is only one page of data,
+the \f(CW\*(C`next\*(C'\fR and \f(CW\*(C`prev\*(C'\fR commands, which scroll the screen up and down
+respectively, do not appear. For descriptions of the commands, see the
+following section about navigating the display screens.
+.IP "\(bu" 4
+In the bottom right corner, the \f(CW\*(C`probes\*(C'\fR field reports how many times the
+program has probed File Servers (\f(CW\*(C`fs\*(C'\fR), Cache Managers (\f(CW\*(C`cm\*(C'\fR), or
+both. The counts for File Servers and Cache Managers can differ. The
+\&\f(CW\*(C`freq\*(C'\fR field reports how often the program sends probes.
+.Sh "Navigating the afsmonitor Display Screens"
+.IX Subsection "Navigating the afsmonitor Display Screens"
+As noted, the lower left hand corner of every display screen displays the
+names of the commands currently available for moving to alternate screens,
+which can either be a different type or display more statistics or
+machines of the current type. To execute a command, press the lowercase
+version of the first letter in its name. Some commands also have an
+uppercase version that has a somewhat different effect, as indicated in
+the following list.
+.ie n .IP """cm""" 4
+.el .IP "\f(CWcm\fR" 4
+.IX Item "cm"
+Switches to the \f(CW\*(C`Cache Managers\*(C'\fR screen. Available only on the \f(CW\*(C`System
+Overview\*(C'\fR and \f(CW\*(C`File Servers\*(C'\fR screens.
+.ie n .IP """fs""" 4
+.el .IP "\f(CWfs\fR" 4
+.IX Item "fs"
+Switches to the \f(CW\*(C`File Servers\*(C'\fR screen. Available only on the \f(CW\*(C`System
+Overview\*(C'\fR and the \f(CW\*(C`Cache Managers\*(C'\fR screens.
+.ie n .IP """left""" 4
+.el .IP "\f(CWleft\fR" 4
+.IX Item "left"
+Scrolls horizontally to the left, to access the data columns situated to
+the left of the current set. Available when the \f(CW\*(C`<<<\*(C'\fR symbol
+appears at the top left of the screen. Press uppercase \f(CW\*(C`L\*(C'\fR to scroll
+horizontally all the way to the left (to display the first set of data
+columns).
+.ie n .IP """next""" 4
+.el .IP "\f(CWnext\fR" 4
+.IX Item "next"
+Scrolls down vertically to the next page of machine names. Available when
+there are two or more pages of machines and the final page is not
+currently displayed. Press uppercase \f(CW\*(C`N\*(C'\fR to scroll to the final page.
+.ie n .IP """oview""" 4
+.el .IP "\f(CWoview\fR" 4
+.IX Item "oview"
+Switches to the \f(CW\*(C`System Overview\*(C'\fR screen. Available only on the \f(CW\*(C`Cache
+Managers\*(C'\fR and \f(CW\*(C`File Servers\*(C'\fR screens.
+.ie n .IP """prev""" 4
+.el .IP "\f(CWprev\fR" 4
+.IX Item "prev"
+Scrolls up vertically to the previous page of machine names. Available
+when there are two or more pages of machines and the first page is not
+currently displayed. Press uppercase \f(CW\*(C`N\*(C'\fR to scroll to the first page.
+.ie n .IP """right""" 4
+.el .IP "\f(CWright\fR" 4
+.IX Item "right"
+Scrolls horizontally to the right, to access the data columns situated to
+the right of the current set. This command is available when the \f(CW\*(C`>>>\*(C'\fR symbol appears at the upper right of the screen. Press uppercase \f(CW\*(C`R\*(C'\fR
+to scroll horizontally all the way to the right (to display the final set
+of data columns).
+.Sh "The System Overview Screen"
+.IX Subsection "The System Overview Screen"
+The \f(CW\*(C`System Overview\*(C'\fR screen appears automatically as the \fBafsmonitor\fR
+program initializes. This screen displays the status of as many File
+Server and Cache Manager processes as can fit in the current window;
+scroll down to access additional information.
+.PP
+The information on this screen is split into File Server information on
+the left and Cache Manager information on the right. The header for each
+grouping reports two pieces of information:
+.IP "\(bu" 4
+The number of machines on which the program is monitoring the indicated
+process.
+.IP "\(bu" 4
+The number of alerts and the number of machines affected by them (an
+\&\fIalert\fR means that a statistic has exceeded its threshold or a process
+failed to respond to the last probe).
+.PP
+A list of the machines being monitored follows. If there are any alerts on
+a machine, the number of them appears in square brackets to the left of
+the hostname. If a process failed to respond to the last probe, the
+letters \f(CW\*(C`PF\*(C'\fR (probe failure) appear in square brackets to the left of the
+hostname.
+.Sh "The File Servers Screen"
+.IX Subsection "The File Servers Screen"
+The \f(CW\*(C`File Servers\*(C'\fR screen displays the values collected at the most
+recent probe for File Server statistics.
+.PP
+A summary line at the top of the screen (just below the standard program
+version and screen title blocks) specifies the number of monitored File
+Servers, the number of alerts, and the number of machines affected by the
+alerts.
+.PP
+The first column always displays the hostnames of the machines running the
+monitored File Servers.
+.PP
+To the right of the hostname column appear as many columns of statistics
+as can fit within the current width of the display screen or window; each
+column requires space for 10 characters. The name of the statistic appears
+at the top of each column. If the File Server on a machine did not respond
+to the most recent probe, a pair of dashes (\f(CW\*(C`\-\-\*(C'\fR) appears in each
+column. If a value exceeds its configured threshold, it is highlighted in
+reverse video. If a value is too large to fit into the allotted column
+width, it overflows into the next row in the same column.
+.Sh "The Cache Managers Screen"
+.IX Subsection "The Cache Managers Screen"
+The \f(CW\*(C`Cache Managers\*(C'\fR screen displays the values collected at the most
+recent probe for Cache Manager statistics.
+.PP
+A summary line at the top of the screen (just below the standard program
+version and screen title blocks) specifies the number of monitored Cache
+Managers, the number of alerts, and the number of machines affected by the
+alerts.
+.PP
+The first column always displays the hostnames of the machines running the
+monitored Cache Managers.
+.PP
+To the right of the hostname column appear as many columns of statistics
+as can fit within the current width of the display screen or window; each
+column requires space for 10 characters. The name of the statistic appears
+at the top of each column. If the Cache Manager on a machine did not
+respond to the most recent probe, a pair of dashes (\f(CW\*(C`\-\-\*(C'\fR) appears in each
+column. If a value exceeds its configured threshold, it is highlighted in
+reverse video. If a value is too large to fit into the allotted column
+width, it overflows into the next row in the same column.
+.Sh "Writing to an Output File"
+.IX Subsection "Writing to an Output File"
+Include the \fB\-output\fR argument to name the file into which the
+\&\fBafsmonitor\fR program writes all of the statistics it collects. The
+output file can be useful for tracking performance over long periods of
+time, and enables the administrator to apply post-processing techniques
+that reveal system trends. The \s-1AFS\s0 distribution does not include any
+post-processing programs.
+.PP
+The output file is in \s-1ASCII\s0 format and records the same information as the
+\&\f(CW\*(C`File Server\*(C'\fR and \f(CW\*(C`Cache Manager\*(C'\fR display screens. Each line in the
+file uses the following format to record the time at which the
+\&\fBafsmonitor\fR program gathered the indicated statistic from the Cache
+Manager (\f(CW\*(C`CM\*(C'\fR) or File Server (\f(CW\*(C`FS\*(C'\fR) running on the machine called
+\&\fIhost_name\fR. If a probe failed, the error code \f(CW\*(C`\-1\*(C'\fR appears in the
+\&\fIstatistic\fR field.
+.PP
+.Vb 1
+\& <time> <host_name> CM|FS <statistic>
+.Ve
+.PP
+If the administrator usually reviews the output file manually, rather than
+using it as input to an automated analysis program or script, including
+the \fB\-detail\fR flag formats the data in a more easily readable form.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+For examples of commands, display screens, and configuration files, see
+the section about the \fBafsmonitor\fR program in the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsmonitor\fR\|(5)
+\&\fIfstrace\fR\|(8),
+\&\fIscout\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AKLOG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AKLOG 1"
++.TH AKLOG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+aklog \- Obtain tokens for authentication to AFS
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBaklog\fR [\fB\-d\fR] [\fB\-hosts\fR] [\fB\-zsubs\fR] [\fB\-noprdb\fR] [\fB\-noauth\fR] [\fB\-linked\fR]
+ [\fB\-force\fR] [\fB\-524\fR] [\fB\-setpag\fR]
+ [[\fB\-cell\fR\ |\ \fB\-c\fR]\ <\fIcell\fR>\ [\fB\-k\fR\ <\fIKerberos\ realm\fR>]]+
+.PP
+\&\fBaklog\fR [\fB\-d\fR] [\fB\-hosts\fR] [\fB\-zsubs\fR] [\fB\-noprdb\fR] [\fB\-noauth\fR] [\fB\-linked\fR]
+ [\fB\-force\fR] [\fB\-524\fR] [\fB\-setpag\fR] [\fB\-path\fR | \fB\-p\fR] <\fIpath\fR>+
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBaklog\fR program authenticates to a cell in \s-1AFS\s0 by obtaining \s-1AFS\s0
+tokens using a Kerberos 5 ticket. If \fBaklog\fR is invoked with no
+command-line arguments, it will obtain tokens for the workstation's local
+cell. It may be invoked with an arbitrary number of cells and pathnames
+to obtain tokens for multiple cells. \fBaklog\fR knows how to expand cell
+name abbreviations, so cells can be referred to by enough letters to make
+the cell name unique among the cells the workstation knows about.
+.PP
+\&\fBaklog\fR obtains tokens by obtaining a Kerberos service ticket for the \s-1AFS\s0
+service and then storing it as a token. By default, it obtains that
+ticket from the realm corresponding to that cell (the uppercase version of
+the cell name), but a different realm for a particular cell can be
+specified with \fB\-k\fR. \fB\-k\fR cannot be used in \fB\-path\fR mode (see below).
+.PP
+When a Kerberos 5 cross-realm trust is used, \fBaklog\fR looks up the \s-1AFS\s0 \s-1ID\s0
+corresponding to the name (Kerberos principal) of the person invoking the
+command, and if the user doesn't exist and the
+system:authuser@FOREIGN.REALM \s-1PTS\s0 group exists, then it attempts automatic
+registration of the user with the foreign cell. The user is then added to
+the system:authuser@FOREIGN.REALM \s-1PTS\s0 group if registration is successful.
+Automatic registration in the foreign cell will fail if the group quota
+for the system:authuser@FOREIGN.REALM group is less than one. Each
+automatic registration decrements the group quota by one.
+.PP
+When using \fBaklog\fR, be aware that \s-1AFS\s0 uses the Kerberos v4 principal
+naming format, not the Kerberos v5 format, when referring to principals in
+\&\s-1PTS\s0 ACLs, \fIUserList\fR, and similar locations. \s-1AFS\s0 will internally map
+Kerberos v5 principal names to the Kerberos v4 syntax by removing any
+portion of the instance after the first period (generally the domain name
+of a host principal), changing any \f(CW\*(C`/\*(C'\fR to \f(CW\*(C`.\*(C'\fR, and changing an initial
+principal part of \f(CW\*(C`host\*(C'\fR to \f(CW\*(C`rcmd\*(C'\fR. In other words, to create a \s-1PTS\s0
+entry for the Kerberos v5 principal \f(CW\*(C`user/admin\*(C'\fR, refer to it as
+\&\f(CW\*(C`user.admin\*(C'\fR, and for the principal \f(CW\*(C`host/shell.example.com\*(C'\fR, refer to
+it as \f(CW\*(C`rcmd.shell\*(C'\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-524\fR" 4
+.IX Item "-524"
+Normally, \fBaklog\fR generates native K5 tokens. This flag tells \fBaklog\fR
+to instead use the krb524 translation service to generate K4 or rxkad2b
+tokens, which may be necessary for \s-1AFS\s0 cells that don't support native K5
+tokens. Support for native K5 tokens were added in OpenAFS 1.2.8.
+.IP "\fB\-cell\fR <\fIcell\fR>, \fB\-c\fR <\fIcell\fR>" 4
+.IX Item "-cell <cell>, -c <cell>"
+This flag tells \fBaklog\fR that the next argument is the name of a cell to
+authenticate to. It normally isn't necessary; \fBaklog\fR normally
+determines whether an argument is a cell or a path name based on whether
+it contains \f(CW\*(C`/\*(C'\fR or is \f(CW\*(C`.\*(C'\fR or \f(CW\*(C`..\*(C'\fR. The cell may be followed by \fB\-k\fR
+to specify the corresponding Kerberos realm.
+.IP "\fB\-d\fR" 4
+.IX Item "-d"
+Turns on printing of debugging information. This option is not intended
+for general users.
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Normally, aklog will not replace tokens with new tokens that appear to be
+identical. If this flag is given, it will skip that check.
+.IP "\fB\-hosts\fR" 4
+.IX Item "-hosts"
+Prints all the server addresses which may act as a single point of failure
+in accessing the specified directory path. Each element of the path is
+examined, and as new volumes are traversed, if they are not replicated,
+the server's \s-1IP\s0 address containing the volume will be displayed. The
+output is of the form:
+.Sp
+.Vb 1
+\& host: <ip\-address>
+.Ve
+.Sp
+This option is only useful in combination with paths as arguments rather
+than cells.
+.IP "\fB\-k\fR <\fIKerberos realm\fR>" 4
+.IX Item "-k <Kerberos realm>"
+This flag is valid only immediately after the name of the cell. It tells
+\&\fBaklog\fR to use that Kerberos realm when authenticating to the preceding
+cell. By default, \fBaklog\fR will use the realm (per the local Kerberos
+configuration) of the first database server in the cell, so this flag
+normally won't be necessary.
+.IP "\fB\-linked\fR" 4
+.IX Item "-linked"
+If the \s-1AFS\s0 cell is linked to a \s-1DCE\s0 cell, get tokens for both.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Don't actually authenticate, just do everything else \fBaklog\fR does up to
+setting tokens.
+.IP "\fB\-noprdb\fR" 4
+.IX Item "-noprdb"
+Ordinarily, \fBaklog\fR looks up the \s-1AFS\s0 \s-1ID\s0 corresponding to the name of the
+person invoking the command, and if the user doesn't exist, the cell is a
+foreign one, the system:authuser@FOREIGN.REALM \s-1PTS\s0 group exists, and has a
+positive group quota, then it attempts automatic registration of the user
+with the foreign cell. Specifying this flag turns off this functionality.
+This may be desirable if the protection database is unavailable for some
+reason and tokens are desired anyway, or if one wants to disable user
+registration.
+.IP "\fB\-path\fR <\fIpathname\fR>, \fB\-p\fR <\fIpathname\fR>" 4
+.IX Item "-path <pathname>, -p <pathname>"
+This flag tells \fBaklog\fR that the next argument is a path in \s-1AFS\s0.
+\&\fBaklog\fR will walk that path and obtain tokens for every cell needed to
+access all of the directories. Normally, this flag isn't necessary;
+\&\fBaklog\fR assumes an argument is a path if it contains \f(CW\*(C`/\*(C'\fR or is \f(CW\*(C`.\*(C'\fR or
+\&\f(CW\*(C`..\*(C'\fR.
+.IP "\fB\-setpag\fR" 4
+.IX Item "-setpag"
+When setting tokens, attempt to put the parent process in a new \s-1PAG\s0. This
+is usually used as part of the login process but can be used any time to
+create a new \s-1AFS\s0 authentication context. Note that this in some cases
+relies on dangerous and tricky manipulations of kernel records and will
+not work on all platforms or with all Linux kernels.
+.IP "\fB\-zsubs\fR" 4
+.IX Item "-zsubs"
+Prints out the Zephyr subscription information to get alerts regarding all
+of the file servers required to access a particular path. The output is
+of the form:
+.Sp
+.Vb 1
+\& zsub: <instance>
+.Ve
+.Sp
+where <instance> is the instance of a class \f(CW\*(C`filsrv\*(C'\fR Zephyr subscription.
+.SH "FILES"
+.IX Header "FILES"
+.IP "\fI~/.xlog\fR" 4
+.IX Item "~/.xlog"
+If this file exists in the user's home directory, it should contain a list
+of \s-1AFS\s0 cells to which to authenticate, one per line. If \fBaklog\fR is
+invoked without any options, it will attempt to obtain tokens in every
+cell listed in this file if it exists, rather than only obtaining tokens
+for the local cell.
+.SH "EXIT CODES"
+.IX Header "EXIT CODES"
+The exit status of \fBaklog\fR will be one of the following:
+.IP "0" 3
+Success \*(-- No error occurred.
+.IP "1" 3
+.IX Item "1"
+Usage \*(-- Bad command syntax; accompanied by a usage message.
+.IP "2" 3
+.IX Item "2"
+Something failed \*(-- More than one cell or pathname was given on the
+command line and at least one failure occurred. A more specific error
+status is returned when only one directive is given.
+.IP "3" 3
+.IX Item "3"
+\&\s-1AFS\s0 \*(-- Unable to get \s-1AFS\s0 configuration or unable to get information about
+a specific cell.
+.IP "4" 3
+.IX Item "4"
+Kerberos \*(-- Unable to get tickets for authentication.
+.IP "5" 3
+.IX Item "5"
+Token \*(-- Unable to get tokens.
+.IP "6" 3
+.IX Item "6"
+Bad pathname \*(-- The path given was not a directory or \fIlstat\fR\|(2) failed on
+some component of the pathname.
+.IP "7" 3
+.IX Item "7"
+Miscellaneous \*(-- An internal failure occurred. For example, \fBaklog\fR
+returns this if it runs out of memory.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+To get tokens for the local cell:
+.PP
+.Vb 1
+\& % aklog
+.Ve
+.PP
+To get tokens for the \f(CW\*(C`athena.mit.edu\*(C'\fR cell:
+.PP
+.Vb 1
+\& % aklog athena.mit.edu
+.Ve
+.PP
+or
+.PP
+.Vb 1
+\& % aklog athena
+.Ve
+.PP
+The latter will work if you local cache manager already knows about the
+\&\f(CW\*(C`athena\*(C'\fR cell.
+.PP
+To get tokens adequate to read \fI/afs/athena.mit.edu/user/p/potato\fR:
+.PP
+.Vb 1
+\& % aklog /afs/athena.mit.edu/user/p/potato
+.Ve
+.PP
+To get tokens for \f(CW\*(C`testcell.mit.edu\*(C'\fR that is in a test Kerberos realm:
+.PP
+.Vb 1
+\& % aklog testcell.mit.edu \-k TESTREALM.MIT.EDU
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkinit\fR\|(1), \fItokens\fR\|(1), \fIunlog\fR\|(1)
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Manpage originally written by Emanuel Jay Berkenbilt (MIT-Project
+Athena). Extensively modified by Russ Allbery <rra@stanford.edu>.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Original manpage is copyright 1990, 1991 Massachusetts Institute of
+Technology. All rights reserved.
+.PP
+Copyright 2006 Russ Allbery <rra@stanford.edu>.
+.PP
+Export of this software from the United States of America may require
+a specific license from the United States Government. It is the
+responsibility of any person or organization contemplating export to
+obtain such a license before exporting.
+.PP
+\&\s-1WITHIN\s0 \s-1THAT\s0 \s-1CONSTRAINT\s0, permission to use, copy, modify, and distribute
+this software and its documentation for any purpose and without fee is
+hereby granted, provided that the above copyright notice appear in all
+copies and that both that copyright notice and this permission notice
+appear in supporting documentation, and that the name of M.I.T. not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission. Furthermore if you
+modify this software you must label your software as modified software and
+not distribute it in such a fashion that it might be confused with the
+original \s-1MIT\s0 software. M.I.T. makes no representations about the
+suitability of this software for any purpose. It is provided \*(L"as is\*(R"
+without express or implied warranty.
+.PP
+\&\s-1THIS\s0 \s-1SOFTWARE\s0 \s-1IS\s0 \s-1PROVIDED\s0 ``\s-1AS\s0 \s-1IS\s0'' \s-1AND\s0 \s-1WITHOUT\s0 \s-1ANY\s0 \s-1EXPRESS\s0 \s-1OR\s0 \s-1IMPLIED\s0
+\&\s-1WARRANTIES\s0, \s-1INCLUDING\s0, \s-1WITHOUT\s0 \s-1LIMITATION\s0, \s-1THE\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0 \s-1OF\s0
+\&\s-1MERCHANTIBILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0.
--- /dev/null
- .TH CMDEBUG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CMDEBUG 1"
++.TH CMDEBUG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+cmdebug \- Reports the status of a host Cache Manager
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBcmdebug\fR \fB\-servers\fR\ <\fImachine\fR> [\fB\-port\fR\ <\fI\s-1IP\s0\ port\fR>]
+ [\fB\-long\fR] [\fB\-refcounts\fR] [\fB\-callbacks\fR] [\fB\-ctime\fR] [\fB\-addrs\fR]
+ [\fB\-cache\fR] [\fB\-cellservdb\fR] [\fB\-help\fR]
+.PP
+\&\fBcmdebug\fR \fB\-s\fR\ <\fImachine\fR> [\fB\-p\fR\ <\fI\s-1IP\s0\ port\fR>] [\fB\-l\fR] [\fB\-r\fR] [\fB\-cal\fR]
+ [\fB\-ct\fR] [\fB\-a\fR] [\fB\-cac\fR] \fB\-ce\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBcmdebug\fR command displays information about the Cache Manager
+and client cache status on a local or remote \s-1AFS\s0 client machine. By
+default, it displays all locked cache entries, but other information
+can be requested via various options.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fB\-ctime\fR option is only available with OpenAFS version 1.4.7 and
+later or version 1.5.28 or later. This option can be used to gather
+information from any version of the Unix OpenAFS client, but can only
+query Windows clients running OpenAFS version 1.5.28 or later.
+.PP
+The \fB\-cellservdb\fR option is only available with OpenAFS version 1.4.7
+and later or version 1.5.31 or later. This option can be used to gather
+information from any version of the Unix OpenAFS client, but can only
+query Windows clients running OpenAFS version 1.5.31 or later.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-servers\fR <\fImachine\fR>" 4
+.IX Item "-servers <machine>"
+Names the client machine for which to display Cache Manager status.
+Provide the machine's \s-1IP\s0 address in dotted decimal format, its fully
+qualified host name (for example, \fBfs1.example.com\fR), or the shortest
+abbreviated form of its host name that distinguishes it from other
+machines. Successful use of an abbreviated form depends on the
+availability of a name resolution service (such as the Domain Name
+Service or a local host table) at the time the command is issued.
+.IP "\fB\-port\fR <\fI\s-1IP\s0 port\fR>" 4
+.IX Item "-port <IP port>"
+Identifies the port on which to contact the Cache Manager. By default,
+the standard port 7001 is used, so this option is very rarely needed.
+.IP "\fB\-long\fR" 4
+.IX Item "-long"
+Reports on all lock statuses and all cache entries, rather than only
+locked cache entries. Do not use this option with \fB\-refcounts\fR,
+\&\fB\-callbacks\fR, \fB\-addrs\fR, \fB\-cache\fR, or \fB\-cellservdb\fR.
+.IP "\fB\-refcounts\fR" 4
+.IX Item "-refcounts"
+Reports only those cache entries with non-zero reference counts. Do not
+use this option with \fB\-long\fR, \fB\-callbacks\fR, \fB\-addrs\fR, or \fB\-cache\fR.
+.IP "\fB\-callbacks\fR" 4
+.IX Item "-callbacks"
+Reports only those cache entries with callbacks. Do not use this option
+with \fB\-long\fR, \fB\-refcounts\fR, \fB\-addrs\fR, or \fB\-cache\fR.
+.IP "\fB\-ctime\fR" 4
+.IX Item "-ctime"
+Causes entry expiration times to be shown in human-readable format. Do
+not use this option with \fB\-addrs\fR or \fB\-cache\fR.
+.IP "\fB\-addrs\fR" 4
+.IX Item "-addrs"
+Rather than showing any cache entries, displays the interfaces the Cache
+Manager answers on, including their netmasks and MTUs. This is useful for
+analyzing clients that are multihomed and identifying problems with
+netmasks or \s-1MTU\s0 settings. Do not use this option with \fB\-long\fR,
+\&\fB\-refcounts\fR, \fB\-callbacks\fR, or \fB\-cache\fR.
+.IP "\fB\-cache\fR" 4
+.IX Item "-cache"
+Rather than showing any cache entries, displays the cache configuration
+for the client machine. The information displayed is essentially the
+information that can be configured via parameters to \fBafsd\fR. Do not use
+this option with \fB\-long\fR, \fB\-refcounts\fR, \fB\-callbacks\fR, or \fB\-addrs\fR.
+.IP "\fB\-cellservdb\fR" 4
+.IX Item "-cellservdb"
+Lists all known volume location database records in a
+CellServDB-compatible format. This includes all records in memory,
+including those from the CellServDB file, \s-1AFSDB\s0 \s-1DNS\s0 records, and the
+\&\fBfs newcell\fR command. This option could be used to see if a client
+has the latest copy of the CellServDB file. Do not use this option
+with \fB\-long\fR, \fB\-refcounts\fR, \fB\-callbacks\fR, or \fB\-cache\fR.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Displays all of the locked cache entries on \f(CW\*(C`client1\*(C'\fR:
+.PP
+.Vb 1
+\& % cmdebug client1
+.Ve
+.PP
+Displays the cache configuration for \f(CW\*(C`client1.example.com\*(C'\fR:
+.PP
+.Vb 1
+\& % cmdebug client1.example.com \-cache
+.Ve
+.PP
+Displays all cache entries for \f(CW\*(C`client2.example.com\*(C'\fR:
+.PP
+.Vb 1
+\& % cmdebug client2.example.com \-long
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fICellServDB\fR\|(5),
+\&\fIfs_newcell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2005 Russ Allbery <rra@stanford.edu>
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. This
+man page was written by Russ Allbery for OpenAFS.
--- /dev/null
- .TH COPYAUTH 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "COPYAUTH 1"
++.TH COPYAUTH 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+copyauth \- Copies user's AFS credentials to a new cell
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBcopyauth\fR <\fIcell\ name\fR>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBcopyauth\fR command copies existing \s-1AFS\s0 credentials in the local
+cell to the foreign cell specified on the command line.
+.PP
+The functionality in this command is largely superseded by \fIaklog\fR\|(1).
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This functionality only works if you have a shared \s-1AFS\s0 key across multiple
+cells, which is strongly discouraged as it weakens security. If you do
+not understand those risks, you should not use this tool.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+.Vb 1
+\& % copyauth other.cell.org
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIaklog\fR\|(1),
+\&\fItokens\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+This documentation was written by Steven Jenkins and is covered
+by the \s-1IBM\s0 Public License Version 1.0.
--- /dev/null
- .TH DLOG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "DLOG 1"
++.TH DLOG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+dlog \- Authenticates to the DCE Security Service
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBdlog\fR [\fB\-principal\fR\ <\fIuser\ name\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-password\fR\ <\fIuser's\ password\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ servers\fR>+]
+ [\fB\-lifetime\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-setpag\fR] [\fB\-pipe\fR] [\fB\-help\fR]
+.PP
+\&\fBdlog\fR [\fB\-pr\fR\ <\fIuser\ name\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-pw\fR\ <\fIuser's\ password\fR>]
+ [\fB\-ser\fR\ <\fIexplicit\ list\ of\ servers\fR>+]
+ [\fB\-l\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-set\fR] [\fB\-pi\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBdlog\fR command obtains \s-1DCE\s0 credentials for the issuer from the \s-1DCE\s0
+Security Service in the cell named by the \fB\-cell\fR argument, and stores
+them on the \s-1AFS\s0 client machine on which the user issues the command. The
+\&\s-1AFS/DFS\s0 Migration Toolkit Protocol Translator processes running on
+machines in the \s-1DCE\s0 cell accept the credentials, which enables the user to
+access the \s-1DCE\s0 cell's filespace from the \s-1AFS\s0 client. The user's identity
+in the local file system is unchanged.
+.PP
+If the issuer does not provide the \fB\-principal\fR argument, the \fBdlog\fR
+command interpreter uses the user name under which the issuer is logged
+into the local file system. Provide the \s-1DCE\s0 password for the appropriate
+user name. As with the \fBklog\fR command, the password does not cross the
+network in clear text (unless the issuer is logged into the \s-1AFS\s0 client
+from a remote machine).
+.PP
+The credentials are valid for a lifetime equivalent to the smallest of the
+following, all but the last of which is defined by the \s-1DCE\s0 cell's Security
+Server:
+.IP "\(bu" 4
+The maximum certificate lifetime for the issuer's \s-1DCE\s0 account.
+.IP "\(bu" 4
+The maximum certificate lifetime for the \s-1AFS\s0 principal's \s-1DCE\s0 account.
+.IP "\(bu" 4
+The registry-wide maximum certificate lifetime.
+.IP "\(bu" 4
+The registry-wide default certificate lifetime.
+.IP "\(bu" 4
+The lifetime requested using the \fB\-lifetime\fR argument.
+.PP
+If the previous maximum certificate lifetime values are set to
+\&\f(CW\*(C`default\-policy\*(C'\fR, the maximum possible ticket lifetime is defined by the
+default certificate lifetime. Refer to the \s-1DCE\s0 vendor's administration
+guide for more information before setting any of these values.
+.PP
+The \s-1AFS\s0 Cache Manager stores the ticket in a credential structure
+associated with the name of the issuer (or the user named by the
+\&\fB\-principal\fR argument. If the user already has a ticket for the \s-1DCE\s0 cell,
+the ticket resulting from this command replaces it in the credential
+structure.
+.PP
+The \s-1AFS\s0 tokens command displays the ticket obtained by the \fBdlog\fR command
+for the server principal \f(CW\*(C`afs\*(C'\fR, regardless of the principal to which it
+is actually granted. Note that the \fBtokens\fR command does not distinguish
+tickets for a \s-1DFSTM\s0 File Server from tickets for an \s-1AFS\s0 File Server.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-principal\fR <\fIuser name\fR>" 4
+.IX Item "-principal <user name>"
+Specifies the \s-1DCE\s0 user name for which to obtain \s-1DCE\s0 credentials. If this
+option is omitted, the \fBdlog\fR command interpreter uses the name under
+which the issuer is logged into the local file system.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the \s-1DCE\s0 cell in which to authenticate. During a single login
+session on a given machine, a user can authenticate in multiple cells
+simultaneously, but can have only one ticket at a time for each cell (that
+is, it is possible to authenticate under only one identity per cell per
+machine). It is legal to abbreviate the cell name to the shortest form
+that distinguishes it from the other cells listed in the
+\&\fI/usr/vice/etc/CellServDB\fR file on the local client machine.
+.Sp
+If the issuer does not provide the \fB\-cell\fR argument, the \fBdlog\fR command
+attempts to authenticate with the \s-1DCE\s0 Security Server for the cell defined
+by
+.RS 4
+.IP "\(bu" 4
+The value of the environment variable \s-1AFSCELL\s0 on the local \s-1AFS\s0 client
+machine, if defined. The issuer can set the \s-1AFSCELL\s0 environment variable
+to name the desired \s-1DCE\s0 cell.
+.IP "\(bu" 4
+The cell name in the \fI/usr/vice/etc/ThisCell\fR file on the local \s-1AFS\s0
+client machine. The machine's administrator can place the desired \s-1DCE\s0
+cell's name in the file.
+.RE
+.RS 4
+.RE
+.IP "\fB\-password\fR <\fIuser's password\fR>" 4
+.IX Item "-password <user's password>"
+Specifies the password for the issuer (or for the user named by the
+\&\fB\-principal\fR argument). Using this argument is not recommended, because
+it makes the password visible on the command line. If this argument is
+omitted, the command prompts for the password and does not echo it
+visibly.
+.IP "\fB\-servers\fR <\fIlist of servers\fR>+" 4
+.IX Item "-servers <list of servers>+"
+Specifies a list of \s-1DFS\s0 database server machines running the Translator
+Server through which the \s-1AFS\s0 client machine can attempt to
+authenticate. Specify each server by hostname, shortened machine name, or
+\&\s-1IP\s0 address. If this argument is omitted, the \fBdlog\fR command interpreter
+randomly selects a machine from the list of \s-1DFS\s0 Fileset Location (\s-1FL\s0)
+Servers in the \fI/usr/vice/etc/CellServDB\fR file for the \s-1DCE\s0 cell specified
+by the \fB\-cell\fR argument. This argument is useful for testing when
+authentication seems to be failing on certain server machines.
+.IP "\fB\-lifetime\fR <\fIticket lifetime\fR>" 4
+.IX Item "-lifetime <ticket lifetime>"
+Requests a ticket lifetime using the format \fIhh\fR\fB:\fR\fImm\fR[\fB:\fR\fIss\fR]
+(hours, minutes, and optionally a number seconds between 00 and 59). For
+example, the value \f(CW\*(C`168:30\*(C'\fR requests a ticket lifetime of 7 days and 30
+minutes, and \f(CW\*(C`96:00\*(C'\fR requests a lifetime of 4 days. Acceptable values
+range from \f(CW\*(C`00:05\*(C'\fR (5 minutes) to \f(CW\*(C`720:00\*(C'\fR (30 days). If this argument
+is not provided and no other determinants of ticket lifetime have been
+changed from their defaults, ticket lifetime is 10 hours.
+.Sp
+The requested lifetime must be smaller than any of the \s-1DCE\s0 cell's
+determinants for ticket lifetime; see the discussion in the preceding
+\&\fBDescription\fR section.
+.IP "\fB\-setpag\fR" 4
+.IX Item "-setpag"
+Creates a process authentication group (\s-1PAG\s0) in which the newly created
+ticket is placed. If this flag is omitted, the ticket is instead
+associated with the issuers' local user \s-1ID\s0 (\s-1UID\s0).
+.IP "\fB\-pipe\fR" 4
+.IX Item "-pipe"
+Suppresses any prompts that the command interpreter otherwise produces,
+including the prompt for the issuer's password. Instead, the command
+interpreter accepts the password via the standard input stream.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the dlog command interpreter cannot contact a Translator
+Server, it produces a message similar to the following:
+.PP
+.Vb 2
+\& dlog: server or network not responding \-\- failed to contact
+\& authentication service
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command authenticates the issuer as cell_admin in the
+\&\f(CW\*(C`dce.abc.com\*(C'\fR cell.
+.PP
+.Vb 2
+\& % dlog \-principal cell_admin \-cell dce.abc.com
+\& Password: <cell_admin\*(Aqs password>
+.Ve
+.PP
+In the following example, the issuer authenticates as cell_admin to the
+\&\f(CW\*(C`dce.abc.com\*(C'\fR cell and request a ticket lifetime of 100 hours. The
+\&\fBtokens\fR command confirms that the user obtained \s-1DCE\s0 credentials as the
+user \f(CW\*(C`cell_admin\*(C'\fR: the \s-1AFS\s0 \s-1ID\s0 is equivalent to the \s-1UNIX\s0 \s-1ID\s0 of \f(CW1\fR
+assigned to \f(CW\*(C`cell_admin\*(C'\fR in \f(CW\*(C`dce.abc.com\*(C'\fR cell's \s-1DCE\s0 registry.
+.PP
+.Vb 2
+\& % dlog \-principal cell_admin \-cell dce.abc.com \-lifetime 100
+\& Password: <cell_admin\*(Aqs password>
+\&
+\& % tokens
+\& Tokens held by the Cache Manager:
+\&
+\& User\*(Aqs (AFS ID 1) tokens for afs@dce.abc.com [Expires Jul 6 14:12]
+\& User\*(Aqs (AFS ID 4758) tokens for afs@abc.com [Expires Jul 2 13:14]
+\&
+\& \-\-End of list\-\-
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIdpass\fR\|(1),
+\&\fIklog\fR\|(1),
+\&\fItokens\fR\|(1),
+\&\fIunlog\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH DPASS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "DPASS 1"
++.TH DPASS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+dpass \- Returns the DCE password for a new DCE account
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBdpass\fR [\fB\-cell\fR\ <\fIoriginal\ \s-1AFS\s0\ cell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBdpass\fR [\fB\-c\fR\ <\fIoriginal\ \s-1AFS\s0\ cell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBdpass\fR command returns the \s-1DCE\s0 password that an administrator
+assigned to the issuer when using the \fBdm pass\fR command to migrate \s-1AFS\s0
+user accounts into a \s-1DCE\s0 cell.
+.PP
+The \fBdpass\fR command, issued on an \s-1AFS\s0 client, requests the issuer's new
+\&\s-1DCE\s0 password from the \s-1AFS\s0 cell specified with the \fB\-cell\fR argument.
+.PP
+The issuer must be authenticated as the \s-1AFS\s0 user whose \s-1AFS\s0 account was
+moved into \s-1DCE\s0, and be able to provide the user's \s-1AFS\s0 password when
+prompted by the \fBdpass\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the name of the \s-1AFS\s0 cell from which the \s-1AFS\s0 account was moved
+into \s-1DCE\s0 and from which to fetch the new \s-1DCE\s0 password.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+By default, the dpass command writes a message similar to the following to
+the standard output stream.
+.PP
+.Vb 1
+\& Please read the following message before entering your password.
+\&
+\& This program will display your new, temporary DCE password on your
+\& terminal, and you should change the assigned password as soon as
+\& possible (from a DCE client). The program assumes that the AFS cell
+\& uses the AFS Authentication Server and that an administrator used the
+\& utilities in the AFS/DFS Migration Toolkit to migrate the account from
+\& AFS to DCE. The password you enter should be the AFS password that was
+\& in effect when your DCE account was created; this is not necessarily
+\& the same password you have at the moment. The cell name (which you may
+\& override with a command line option), must be the name of the AFS cell
+\& from which the authentication information was taken.
+.Ve
+.PP
+To suppress this message, set the \s-1DPASS_NO_MESSAGE\s0 environment
+variable. It is then possible to substitute a customized message if
+desired by using a script similar to the following example:
+.PP
+.Vb 9
+\& #! /bin/csh
+\& echo "I<Start of customized message>"
+\& echo "I<Continuation of customized message>"
+\& .
+\& .
+\& .
+\& echo "I<Conclusion of customized message>"
+\& setenv DPASS_NO_MESSAGE
+\& dpass $*
+.Ve
+.PP
+After the standard or customized message, if any, the dpass command
+generates the following prompt for the original \s-1AFS\s0 password:
+.PP
+.Vb 2
+\& Original password for AFS cell <cell>:
+\& Re\-enter password to verify:
+.Ve
+.PP
+If the \s-1AFS\s0 passwords match and are correct, the command reports the
+temporary \s-1DCE\s0 password in the following message.
+.PP
+.Vb 1
+\& The new DCE password is: <Issuer\*(Aqs_temporary_DCE_password
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example returns the \s-1DCE\s0 password of the issuer, whose \s-1AFS\s0
+account is in the \f(CW\*(C`abc.com\*(C'\fR cell. The \s-1DPASS_NO_MESSAGE\s0 variable has been
+set to suppress the standard message.
+.PP
+.Vb 4
+\& % dpass
+\& Original password for AFS cell abc.com: <Issuer\*(Aqs_AFS_password>
+\& Re\-enter password to verify: <Issuer\*(Aqs_AFS_password>
+\& The new DCE password is: 8655\-\-eg8e\-dcdc\-8157
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be authenticated as the \s-1AFS\s0 user for whom to display the
+corresponding \s-1DCE\s0 password.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIdlog\fR\|(1)
+.PP
+\&\fBdm pass\fR reference page in \fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit
+Administration Guide and Reference\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS 1"
++.TH FS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs \- Introduction to the fs command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBfs\fR command suite constitute the main administrative
+interface to the Cache Manager on an \s-1AFS\s0 client machine, which is
+responsible for fetching \s-1AFS\s0 data from file server machines on behalf of
+applications running on the client machine.
+.PP
+There are several categories of commands in the \fBfs\fR command suite:
+.IP "\(bu" 4
+Commands to set and report how the Cache Manager interacts with server
+machines:
+\&\fBfs checkservers\fR,
+\&\fBfs getcellstatus\fR,
+\&\fBfs getcrypt\fR,
+\&\fBfs getserverprefs\fR,
+\&\fBfs listcells\fR,
+\&\fBfs newcell\fR,
+\&\fBfs setcbaddr\fR,
+\&\fBfs setcell\fR,
+\&\fBfs setcrypt\fR,
+\&\fBfs setserverprefs\fR,
+\&\fBfs sysname\fR,
+\&\fBfs uuid\fR,
+and \fBfs wscell\fR.
+.IP "\(bu" 4
+Commands to administer access control lists (ACLs):
+\&\fBfs cleanacl\fR,
+\&\fBfs copyacl\fR,
+\&\fBfs getcalleraccess\fR,
+\&\fBfs listacl\fR,
+and \fBfs setacl\fR.
+.IP "\(bu" 4
+Commands to administer server machines, volumes or partitions that house a
+given file or directory:
+\&\fBfs diskfree\fR,
+\&\fBfs examine\fR,
+\&\fBfs getfid\fR,
+\&\fBfs listquota\fR,
+\&\fBfs quota\fR,
+\&\fBfs setquota\fR,
+\&\fBfs setvol\fR,
+\&\fBfs whereis\fR,
+and \fBfs whichcell\fR.
+.IP "\(bu" 4
+Commands to administer the local client cache and related information:
+\&\fBfs checkvolumes\fR,
+\&\fBfs cscpolicy\fR,
+\&\fBfs flush\fR,
+\&\fBfs flushall\fR,
+\&\fBfs flushvolume\fR,
+\&\fBfs getcacheparms\fR,
+\&\fBfs listaliases\fR,
+\&\fBfs newalias\fR,
+and \fBfs setcachesize\fR.
+.IP "\(bu" 4
+Commands to administer volume mount points:
+\&\fBfs lsmount\fR,
+\&\fBfs mkmount\fR,
+and \fBfs rmmount\fR.
+.IP "\(bu" 4
+Commands to control monitoring and tracing:
+\&\fBfs debug\fR,
+\&\fBfs memdump\fR,
+\&\fBfs messages\fR,
+\&\fBfs minidump\fR,
+\&\fBfs monitor\fR,
+\&\fBfs rxstatpeer\fR,
+\&\fBfs rxstatproc\fR,
+and \fBfs trace\fR.
+.IP "\(bu" 4
+A command to administer the Cache Manager's interaction with other
+file systems:
+\&\fBfs exportafs\fR.
+.IP "\(bu" 4
+Commands to obtain help:
+\&\fBfs apropos\fR
+and \fBfs help\fR.
+.PP
+The Cache Manager and the fs commands use and maintain the following
+configuration files:
+.IP "\fI/usr/vice/etc/CellServDB\fR" 4
+.IX Item "/usr/vice/etc/CellServDB"
+Lists the database server machines in the local cell and any foreign cell
+to which the administrator wishes to enable \s-1AFS\s0 access for users working
+on the machine. The database server machines run the Authentication,
+Backup, Protection and Volume Location (\s-1VL\s0) Server processes, which
+maintain databases of administrative information. For users to access a
+cell, its \f(CW\*(C`root.cell\*(C'\fR volume must also be mounted in the local cell's \s-1AFS\s0
+file tree.
+.IP "\fI/usr/vice/etc/ThisCell\fR" 4
+.IX Item "/usr/vice/etc/ThisCell"
+Defines the machine's cell membership with respect to the \s-1AFS\s0 command
+suites and Cache Manager access to \s-1AFS\s0 data.
+.IP "\fI/usr/vice/etc/cacheinfo\fR" 4
+.IX Item "/usr/vice/etc/cacheinfo"
+Defines configuration parameters for the cache, including its size and
+whether it is in memory or on disk.
+.PP
+In addition, the Cache Manager automatically creates files on the cache
+partition (by default, \fI/usr/vice/cache\fR for caching and tracking files
+fetched from file server machines.
+.PP
+For more details, see the reference page for each file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following flag is available on every command in the fs suite. The
+reference page for each command also lists it, but it is described here in
+greater detail.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The privileges required for fs commands vary more than for other command
+suites. Pay special attention to the \s-1PRIVILEGE\s0 \s-1REQUIRED\s0 section of each
+command description.
+.PP
+The various types of necessary privilege include:
+.IP "\(bu" 4
+Having permissions on a directory's \s-1ACL\s0. For example, creating and
+removing mount points requires \f(CW\*(C`a\*(C'\fR (administer), \f(CW\*(C`i\*(C'\fR (insert), and \f(CW\*(C`d\*(C'\fR
+(delete) permissions on the \s-1ACL\s0 of the directory in which the mount point
+resides.
+.IP "\(bu" 4
+Being logged onto the machine as the local superuser \f(CW\*(C`root\*(C'\fR. This is
+necessary when issuing commands that affect Cache Manager configuration.
+.IP "\(bu" 4
+Belonging to the system:administrators group in the Protection Database.
+.IP "\(bu" 4
+No privilege. Many \fBfs\fR commands simply list information.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafs_cache\fR\|(5),
+\&\fICellServDB\fR\|(5),
+\&\fIThisCell\fR\|(5)
+\&\fIcacheinfo\fR\|(5),
+\&\fIfs_apropos\fR\|(1),
+\&\fIfs_checkservers\fR\|(1),
+\&\fIfs_checkvolumes\fR\|(1),
+\&\fIfs_cleanacl\fR\|(1),
+\&\fIfs_copyacl\fR\|(1),
+\&\fIfs_cscpolicy\fR\|(1),
+\&\fIfs_diskfree\fR\|(1),
+\&\fIfs_examine\fR\|(1),
+\&\fIfs_exportafs\fR\|(1),
+\&\fIfs_flush\fR\|(1),
+\&\fIfs_flushall\fR\|(1),
+\&\fIfs_flushmount\fR\|(1),
+\&\fIfs_flushvolume\fR\|(1),
+\&\fIfs_getcacheparms\fR\|(1),
+\&\fIfs_getcalleraccess\fR\|(1),
+\&\fIfs_getcellstatus\fR\|(1),
+\&\fIfs_getclientaddrs\fR\|(1),
+\&\fIfs_getcrypt\fR\|(1),
+\&\fIfs_getfid\fR\|(1),
+\&\fIfs_getserverprefs\fR\|(1),
+\&\fIfs_help\fR\|(1),
+\&\fIfs_listacl\fR\|(1),
+\&\fIfs_listaliases\fR\|(1),
+\&\fIfs_listcells\fR\|(1),
+\&\fIfs_listquota\fR\|(1),
+\&\fIfs_lsmount\fR\|(1),
+\&\fIfs_memdump\fR\|(1),
+\&\fIfs_messages\fR\|(1),
+\&\fIfs_minidump\fR\|(1),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIfs_monitor\fR\|(1),
+\&\fIfs_newalias\fR\|(1),
+\&\fIfs_newcell\fR\|(1),
+\&\fIfs_quota\fR\|(1),
+\&\fIfs_rmmount\fR\|(1),
+\&\fIfs_rxstatpeer\fR\|(1),
+\&\fIfs_rxstatproc\fR\|(1),
+\&\fIfs_setacl\fR\|(1),
+\&\fIfs_setcachesize\fR\|(1),
+\&\fIfs_setcbattr\fR\|(1),
+\&\fIfs_setcell\fR\|(1),
+\&\fIfs_setclientaddrs\fR\|(1),
+\&\fIfs_setcrypt\fR\|(1),
+\&\fIfs_setquota\fR\|(1),
+\&\fIfs_setserverprefs\fR\|(1),
+\&\fIfs_setvol\fR\|(1),
+\&\fIfs_storebehind\fR\|(1),
+\&\fIfs_sysname\fR\|(1),
+\&\fIfs_trace\fR\|(1),
+\&\fIfs_whereis\fR\|(1),
+\&\fIfs_whichcell\fR\|(1),
+\&\fIfs_wscell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_APROPOS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_APROPOS 1"
++.TH FS_APROPOS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBfs ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs apropos\fR command displays the first line of the online help entry
+for any \fBfs\fR command that has in its name or short description the string
+specified by the \fB\-topic\fR argument.
+.PP
+To display the syntax for a command, use the \fBfs help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes ("") or
+other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any \fBfs\fR
+command where the string specified with the \fB\-topic\fR argument is part of
+the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists all fs commands that include the word \f(CW\*(C`cache\*(C'\fR
+in their names or short online descriptions:
+.PP
+.Vb 5
+\& % fs apropos cache
+\& setcachesize: set cache size
+\& flush: flush file from cache
+\& getcacheparms: get cache usage info
+\& monitor: set cache monitor host address
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1),
+\&\fIfs_help\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_CHECKSERVERS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_CHECKSERVERS 1"
++.TH FS_CHECKSERVERS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_checkservers \- Displays the status of server machines
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs checkservers\fR [\fB\-cell\fR\ <\fIcell\ to\ check\fR>] [\fB\-all\fR] [\fB\-fast\fR]
+ [\fB\-interval\fR\ <\fIseconds\ between\ probes\fR>] [\fB\-help\fR]
+.PP
+\&\fBfs checks\fR [\fB\-c\fR\ <\fIcell\ to\ check\fR>] [\fB\-a\fR] [\fB\-f\fR]
+ [\fB\-i\fR\ <\fIseconds\ between\ probes\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs checkservers\fR command reports whether certain \s-1AFS\s0 server machines
+are accessible from the local client machine. The machines belong to one
+of two classes, and the Cache Manager maintains a list of them in kernel
+memory:
+.IP "\(bu" 4
+The database server machines in every cell listed in the local
+\&\fI/usr/vice/etc/CellServDB file\fR, plus any machines added to the memory
+list by the \fBfs newcell\fR command since the last reboot.
+.IP "\(bu" 4
+All file server machines the Cache Manager has recently contacted, and
+which it probably needs to contact again soon. In most cases, the Cache
+Manager holds a callback on a file or volume fetched from the machine.
+.PP
+If the Cache Manager is unable to contact the vlserver process on a
+database server machine or the \fBfileserver\fR process on a file server
+machine, it marks the machine as inaccessible. (Actually, if a file server
+machine is multihomed, the Cache Manager attempts to contact all of the
+machine's interfaces, and only marks the machine as down if the
+\&\fBfileserver\fR fails to reply via any of them.) The Cache Manager then
+periodically (by default, every three minutes) sends a probe to each
+marked machine, to see if it is still inaccessible. If a previously
+inaccessible machine responds, the Cache Manager marks it as accessible
+and no longer sends the periodic probes to it.
+.PP
+The \fBfs checkservers\fR command updates the list of inaccessible machines
+by having the Cache Manager probe a specified set of them:
+.IP "\(bu" 4
+By default, only machines that are marked inaccessible and belong to the
+local cell (the cell listed in the local \fI/usr/vice/etc/ThisCell\fR
+file).
+.IP "\(bu" 4
+If the \fB\-cell\fR argument is included, only machines that are marked
+inaccessible and belong to the specified cell.
+.IP "\(bu" 4
+If the \fB\-all\fR flag is included, all machines marked inaccessible.
+.PP
+If the \fB\-fast\fR flag is included, the Cache Manager does not probe any
+machines, but instead reports the results of the most recent previous
+probe.
+.PP
+To set the interval between probes rather than produce a list of
+inaccessible machines, use the \fB\-interval\fR argument. The non-default
+setting persists until the machine reboots; to preserve it across reboots,
+put the appropriate \fBfs checkservers\fR command in the machine's \s-1AFS\s0
+initialization files.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The command can take quite a while to complete, if a number of machines do
+not respond to the Cache Manager's probe. The Cache Manager probes
+machines sequentially and waits a standard timeout period before marking
+the machine as unresponsive, to allow for slow network communication. To
+make the command shell prompt return quickly, put the command in the
+background. It is harmless to interrupt the command by typing Ctrl-C or
+another interrupt signal.
+.PP
+Note that the Cache Manager probes only server machines marked
+inaccessible in its memory list. A server machine's absence from the
+output does not necessarily mean that it is functioning, because it
+possibly is not included in the memory list at all (if, for example, the
+Cache Manager has not contacted it recently). For the same reason, the
+output is likely to vary on different client machines.
+.PP
+Unlike most \fBfs\fR commands, the fs checkservers command does not refer to
+the \s-1AFSCELL\s0 environment variable.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell to check\fR>" 4
+.IX Item "-cell <cell to check>"
+Names each cell in which to probe server machines marked as
+inaccessible. Provide the fully qualified domain name, or a shortened form
+that disambiguates it from the other cells listed in the local
+\&\fI/usr/vice/etc/CellServDB\fR file. Combine this argument with the \fB\-fast\fR
+flag if desired, but not with the \fB\-all\fR flag. Omit both this argument
+and the \fB\-all\fR flag to probe machines in the local cell only.
+.IP "\fB\-all\fR" 4
+.IX Item "-all"
+Probes all machines in the Cache Manager's memory list that are marked
+inaccessible. Combine this argument with the \fB\-fast\fR flag if desired, but
+not with the \fB\-cell\fR argument. Omit both this flag and the \fB\-cell\fR
+argument to probe machines in the local cell only.
+.IP "\fB\-fast\fR" 4
+.IX Item "-fast"
+Displays the Cache Manager's current list of machines that are
+inaccessible, rather than sending new probes. The output can as old as the
+current setting of the probe interval (by default three minutes, and
+maximum ten minutes).
+.IP "\fB\-interval\fR <\fIseconds between probes\fR>" 4
+.IX Item "-interval <seconds between probes>"
+Sets or reports the number of seconds between the Cache Manager's probes
+to machines in the memory list that are marked inaccessible:
+.RS 4
+.IP "\(bu" 4
+To set the interval, specify a value from the range between 1 and \f(CW600\fR
+(10 minutes); the default is \f(CW180\fR (three minutes). The issuer must be
+logged in as the local superuser \f(CW\*(C`root\*(C'\fR. The altered setting persists
+until again changed with this command, or until the machine reboots, at
+which time the setting returns to the default.
+.IP "\(bu" 4
+Provide a value of \f(CW0\fR (zero) to display the current interval setting. No
+privilege is required. Do not combine this argument with any other.
+.RE
+.RS 4
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If there are no machines marked as inaccessible, or if all of them now
+respond to the Cache Manager's probe, the output is:
+.PP
+.Vb 1
+\& All servers are running.
+.Ve
+.PP
+Note that this message does not mean that all server machines in each
+relevant cell are running. The output indicates the status of only those
+machines that the Cache Manager probes.
+.PP
+If a machine fails to respond to the probe within the timeout period, the
+output begins with the string
+.PP
+.Vb 1
+\& These servers unavailable due to network or server problems:
+.Ve
+.PP
+and lists the hostname of each machine on its own line. The Cache Manager
+stores machine records by Internet address, so the format of each hostname
+(uppercase or lowercase letters, or an Internet address in dotted decimal
+format) depends on how the local cell's name service translates it at the
+time the command is issued. If a server machine is multihomed, the output
+lists only one of its interfaces (usually, the currently most preferred
+one).
+.PP
+If the \fB\-interval\fR argument is provided with a value between \f(CW1\fR and
+\&\f(CW600\fR, there is no output. If the value is \f(CW0\fR, the output reports the
+probe interval as follows:
+.PP
+.Vb 1
+\& The current down server probe interval is <interval> secs
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the Cache Manager's current list of
+unresponsive machines in the local cell, rather than probing them
+again. The output indicates that if there were any machines marked
+inaccessible, they all responded to the previous probe.
+.PP
+.Vb 2
+\& % fs checkservers \-fast
+\& All servers are running.
+.Ve
+.PP
+The following example probes machines in the Cache Manager's memory list
+that belong to the \f(CW\*(C`stateu.edu\*(C'\fR cell:
+.PP
+.Vb 2
+\& % fs checkservers \-cell stateu.edu
+\& All servers are running.
+.Ve
+.PP
+The following example probes all server machines in the Cache Manager's
+memory list. It reports that two machines did not respond to the probe.
+.PP
+.Vb 3
+\& % fs checkservers \-all
+\& These servers unavailable due to network or server problems:
+\& fs1.abc.com SV3.STATE.EDU.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To set the probe interval, the issuer must be logged in as the local
+superuser \f(CW\*(C`root\*(C'\fR. Otherwise, no privilege is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIThisCell\fR\|(5),
+\&\fIfs_newcell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_CHECKVOLUMES 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_CHECKVOLUMES 1"
++.TH FS_CHECKVOLUMES 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_checkvolumes \- Forces the Cache Manager to update volume information
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs checkvolumes\fR [\fB\-help\fR]
+.PP
+\&\fBfs checkv\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs checkvolumes\fR command discards the table of mappings between
+volume names and volume \s-1ID\s0 numbers that the Cache Manager stores in memory
+and uses when fetching data from volumes. The next time an application
+requests \s-1AFS\s0 data, the Cache Manager must contact the Volume Location (\s-1VL\s0)
+Server for volume location information, and then an appropriate file
+server machine for the actual data.
+.PP
+The Cache Manager updates the table of mappings periodically (by default,
+hourly), but this command is useful if the issuer knows that a volume's
+name has changed, or that new read-only replicas of a volume have been
+released, because issuing it forces the Cache Manager to reference the
+changed volume.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The following message confirms that the command ran successfully.
+.PP
+.Vb 1
+\& All volumeID/name mappings checked.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_CLEANACL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_CLEANACL 1"
++.TH FS_CLEANACL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_cleanacl \- Remove obsolete entries from an ACL
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs cleanacl\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs cl\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs cleanacl\fR command removes from the access control list (\s-1ACL\s0) of
+each specified directory or file any entry that refers to a user or group
+that no longer has a Protection Database entry. Such an entry appears on
+the \s-1ACL\s0 as an \s-1AFS\s0 user \s-1ID\s0 number (\s-1UID\s0) rather than a name, because without
+a Protection Database entry, the File Server cannot translate the \s-1UID\s0 into
+a name.
+.PP
+Cleaning access control lists in this way not only keeps them from
+becoming crowded with irrelevant information, but also prevents the new
+possessor of a recycled \s-1AFS\s0 \s-1UID\s0 from obtaining access intended for the
+former possessor of the \s-1AFS\s0 \s-1UID\s0. (Note that recycling UIDs is not
+recommended in any case.)
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names each directory for which to clean the \s-1ACL\s0 (specifying a filename
+cleans its directory's \s-1ACL\s0). If this argument is omitted, the current
+working directory's \s-1ACL\s0 is cleaned.
+.Sp
+Specify the read/write path to each directory, to avoid the failure that
+results from attempting to change a read-only volume. By convention, the
+read/write path is indicated by placing a period before the cell name at
+the pathname's second level (for example, \fI/afs/.abc.com\fR). For further
+discussion of the concept of read/write and read-only paths through the
+filespace, see the \fBfs mkmount\fR reference page.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If there are no obsolete entries on the \s-1ACL\s0, the following message
+appears:
+.PP
+.Vb 1
+\& Access list for <path> is fine.
+.Ve
+.PP
+Otherwise, the output reports the resulting state of the \s-1ACL\s0, following the
+header
+.PP
+.Vb 1
+\& Access list for <path> is now
+.Ve
+.PP
+At the same time, the following error message appears for each file in the
+cleaned directories:
+.PP
+.Vb 1
+\& fs: \*(Aq<filename>\*(Aq: Not a directory
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example illustrates the cleaning of the ACLs on the current
+working directory and two of its subdirectories. Only the second
+subdirectory had obsolete entries on it.
+.PP
+.Vb 7
+\& % fs cleanacl \-path . ./reports ./sources
+\& Access list for . is fine.
+\& Access list for ./reports is fine.
+\& Access list for ./sources is now
+\& Normal rights:
+\& system:authuser rl
+\& pat rlidwka
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`a\*(C'\fR (administer) permission on each directory's
+\&\s-1ACL\s0 (or the \s-1ACL\s0 of each file's parent directory); the directory's owner
+and the members of the system:administrators group have the right
+implicitly, even if it does not appear on the \s-1ACL\s0.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_listacl\fR\|(1),
+\&\fIfs_mkmount\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_COPYACL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_COPYACL 1"
++.TH FS_COPYACL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_copyacl \- Copies an ACL from a directory to one or more other directories
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs copyacl\fR \fB\-fromdir\fR\ <\fIsource\ directory\ (or\ \s-1DFS\s0\ file)\fR>
+ \fB\-todir\fR\ <\fIdestination\ directory\ (or\ \s-1DFS\s0\ file)\fR>+
+ [\fB\-clear\fR] [\fB\-id\fR] [\fB\-if\fR] [\-help]
+.PP
+\&\fBfs co\fR \fB\-f\fR\ <\fIsource\ directory\ (or\ \s-1DFS\s0\ file)\fR>
+ \fB\-t\fR\ <\fIdestination\ directory\ (or\ \s-1DFS\s0\ file)\fR>+
+ [\fB\-c\fR] [\fB\-id\fR] [\fB\-if\fR] [\-h]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The fs copyacl command copies the access control list (\s-1ACL\s0) from a source
+directory to each specified destination directory. The source directory's
+\&\s-1ACL\s0 is unchanged, and changes to the destination directory's \s-1ACL\s0 obey the
+following rules:
+.IP "\(bu" 4
+If an entry on the source \s-1ACL\s0 does not already exist on the destination
+\&\s-1ACL\s0, it is added.
+.IP "\(bu" 4
+If an entry exists on both the source and destination ACLs, the
+permissions from the source \s-1ACL\s0 entry replace the current permissions on
+the destination \s-1ACL\s0 entry.
+.IP "\(bu" 4
+If an entry on the destination \s-1ACL\s0 has no corresponding entry on the
+source \s-1ACL\s0, it is removed if the \fB\-clear\fR flag is included and is
+unchanged otherwise. In other words, if the \fB\-clear\fR flag is provided,
+the source \s-1ACL\s0 completely replaces the destination \s-1ACL\s0.
+.PP
+When using this command to copy ACLs between objects in \s-1DFS\s0 filespace
+accessed via the \s-1AFS/DFS\s0 Migration Toolkit Protocol Translator, it is
+possible to specify files, as well as directories, with the \fB\-fromdir\fR
+and \fB\-todir\fR arguments. For more information on copying ACLs between \s-1DFS\s0
+directories and files, refer to the \fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit
+Administration Guide and Reference\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not copy ACLs between \s-1AFS\s0 and \s-1DFS\s0 files or directories. The \s-1ACL\s0 formats
+are incompatible.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-fromdir\fR <\fIsource directory\fR>" 4
+.IX Item "-fromdir <source directory>"
+Specifies the source directory from which to copy the \s-1ACL\s0. (Specifying an
+\&\s-1AFS\s0 file copies its directory's \s-1ACL\s0, but specifying a \s-1DFS\s0 file copies its
+own \s-1ACL\s0.) A partial pathname is interpreted relative to the current
+working directory.
+.IP "\fB\-todir\fR <\fIdestination directory\fR>" 4
+.IX Item "-todir <destination directory>"
+Specifies each directory for which to alter the \s-1ACL\s0 to match the source
+\&\s-1ACL\s0. (Specifying an \s-1AFS\s0 file halts the command with an error, but
+specifying a \s-1DFS\s0 file alters the file's \s-1ACL\s0). A partial pathname is
+interpreted relative to the current working directory.
+.Sp
+Specify the read/write path to each directory (or \s-1DFS\s0 file), to avoid the
+failure that results from attempting to change a read-only volume. By
+convention, the read/write path is indicated by placing a period before
+the cell name at the pathname's second level (for example,
+\&\f(CW\*(C`/afs/.abc.com\*(C'\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the \fBfs mkmount\fR reference
+page.
+.IP "\fB\-clear\fR" 4
+.IX Item "-clear"
+Replaces the \s-1ACL\s0 of each destination directory with the source \s-1ACL\s0.
+.IP "\fB\-id\fR" 4
+.IX Item "-id"
+Modifies the Initial Container \s-1ACL\s0 of each \s-1DFS\s0 directory named by the
+\&\fB\-todir\fR argument, rather than the regular Object \s-1ACL\s0. This argument is
+supported only when both the source and each destination directory reside
+in \s-1DFS\s0 and are accessed via the \s-1AFS/DFS\s0 Migration Toolkit Protocol
+Translator.
+.IP "\fB\-if\fR" 4
+.IX Item "-if"
+Modifies the Initial Object \s-1ACL\s0 of each \s-1DFS\s0 directory named by the
+\&\fB\-todir\fR argument, rather than the regular Object \s-1ACL\s0. This argument is
+supported only when both the source and each destination directory reside
+in \s-1DFS\s0 and are accessed via the \s-1AFS/DFS\s0 Migration Toolkit Protocol
+Translator.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command copies the current working directory's \s-1ACL\s0
+to its subdirectory called \fIreports\fR. Note that the source directory's
+\&\s-1ACL\s0 is unaffected. Entries on the \fIreports\fR directory's that are not on
+the source \s-1ACL\s0 of the current directory remain unaffected as well, because
+the \fB\-clear\fR flag is not used.
+.PP
+.Vb 11
+\& % fs listacl . reports
+\& Access list for . is
+\& Normal rights:
+\& pat rlidwka
+\& smith rlidwk
+\& Access list for reports is
+\& Normal rights:
+\& pat rl
+\& pat:friends rl
+\& Negative rights
+\& jones rlidwka
+\&
+\& % fs copyacl \-fromdir . \-todir reports
+\&
+\& % fs listacl . reports
+\& Access list for . is
+\& Normal rights:
+\& pat rlidwka
+\& smith rlidwk
+\& Access list for reports is
+\& Normal rights:
+\& pat rlidwka
+\& pat:friends rl
+\& smith rlidwk
+\& Negative rights
+\& jones rlidwka
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To copy an \s-1ACL\s0 between \s-1AFS\s0 objects, the issuer must have the \f(CW\*(C`l\*(C'\fR (lookup)
+permission on the source directory's \s-1ACL\s0 and the \f(CW\*(C`a\*(C'\fR (administer)
+permission on each destination directory's \s-1ACL\s0. If the \fB\-fromdir\fR
+argument names a file rather than a directory, the issuer must have both
+the \f(CW\*(C`l\*(C'\fR and \f(CW\*(C`r\*(C'\fR (read) permissions on the \s-1ACL\s0 of the file's directory.
+.PP
+To copy an \s-1ACL\s0 between \s-1DFS\s0 objects, the issuer must have the r permission
+on the source directory or file's \s-1ACL\s0 and the \f(CW\*(C`c\*(C'\fR (control) permission on
+each destination directory or file's \s-1ACL\s0.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_listacl\fR\|(1),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIfs_setacl\fR\|(1)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit Administration Guide and Reference\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_CSCPOLICY 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_CSCPOLICY 1"
++.TH FS_CSCPOLICY 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_cscpolicy \- Change client side caching policy for AFS shares
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs cscpolicy\fR [\fB\-share\fR\ \fIsharename\fR\ [\fB\-manual\fR|\fB\-programs\fR|\fB\-documents\fR|\fB\-disable\fR]\ ]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The fs cscpolicy command sets the client side caching policy for a
+particular \s-1AFS\s0 share, or displays a list of policies.
+.PP
+This command can change the policy of only one share at a time.
+.PP
+Only one of the policy options \fB\-manual\fR, \fB\-programs\fR, \fB\-documents\fR, or
+\&\fB\-disable\fR, may be selected. The default policy is \fB\-manual\fR.
+.PP
+After changing the policy for a share, you must close all applications
+that accessed files on this share, or restart \s-1AFS\s0 Client, for the change
+to take effect.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is only available on Windows.
+.PP
+Use of this functionality is not recommended. Windows Offline Folders do
+not work well with \s-1AFS\s0 since the \s-1AFS\s0 server is always present. When this
+functionality was contributed and incorporated, it was believed to be safe
+for the \s-1AFS\s0 cache manager to return \s-1BADNETPATH\s0 errors when a single file
+server or volume was inaccessible. It is now known that returning such
+errors causes the Microsoft \s-1SMB\s0 redirector to drop the connection to the
+\&\s-1AFS\s0 server resulting in serious side effects.
+.PP
+This functionality is specific to use with the Microsoft \s-1SMB\s0 redirector.
+Client Side Caching (Offline Folders) is built into that driver and will
+not be present in the native \s-1AFS\s0 redirector, so this functionality will be
+removed at a future date.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-share\fR \fIsharename\fR" 4
+.IX Item "-share sharename"
+The name of the share whose policy is to be changed. (If omitted, no
+share policy is changed.)
+.IP "\fB\-manual\fR" 4
+.IX Item "-manual"
+Specifies manual caching of documents.
+.IP "\fB\-programs\fR" 4
+.IX Item "-programs"
+Specifies automatic caching of programs and documents.
+.IP "\fB\-documents\fR" 4
+.IX Item "-documents"
+Specifies automatic caching of documents.
+.IP "\fB\-disable\fR" 4
+.IX Item "-disable"
+Disables caching.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+When changing the policy of a share, the output is:
+.PP
+.Vb 2
+\& CSC policy on share "share" changed to "policy".
+\& Close all applications that accessed files on this share or restart AFS Client for the change to take effect.
+.Ve
+.PP
+When displaying policies, the output is:
+.PP
+.Vb 1
+\& policyname = policy
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command disables all caching on the share \*(L"\s-1AFS1\s0\*(R":
+.PP
+.Vb 1
+\& % fs cscpolicy \-share AFS1 \-disable
+.Ve
+.PP
+The following command displays all policies currently in effect:
+.PP
+.Vb 1
+\& % fs cscpolicy
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be have \s-1AFS\s0 Client Administrator access, either to display
+or to set policies.
+.PP
+In addition, to change policies, the issuer must be a Windows
+Administrator, since policy information is stored in a protected area of
+the Windows Registry.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+This document was written by Mike Robinson, and is released under the \s-1IBM\s0
+Public License Version 1.0. Jeffrey Altman made several corrections,
+clarifications, and additions.
--- /dev/null
- .TH FS_DISKFREE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_DISKFREE 1"
++.TH FS_DISKFREE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_diskfree \- Shows data about the partition housing a directory or file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs diskfree\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs df\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.PP
+\&\fBfs di\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs diskfree\fR command formats and displays information about the
+partition that houses the volume containing the specified directory or
+file, including its size and how much space is currently used.
+.PP
+To display information about the volume itself, use the \fBfs examine\fR
+command. The \fBfs examine\fR and \fBfs quota\fR commands also display
+information about a volume.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The partition-related statistics in this command's output do not always
+agree with the corresponding values in the output of the standard \s-1UNIX\s0
+\&\fBdf\fR command. The statistics reported by this command can be up to five
+minutes old, because the Cache Manager polls the File Server for partition
+information at that frequency. Also, on some operating systems, the \fBdf\fR
+command's report of partition size includes reserved space not included in
+this command's calculation, and so is likely to be about 10% larger.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names a file or directory that resides on the partition about which to
+produce output. Partial pathnames are interpreted relative to the current
+working directory, which is also the default value if this argument is
+omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output reports the following information about the volume and
+partition that houses each file or directory:
+.IP "Volume Name" 4
+.IX Item "Volume Name"
+The name of the volume.
+.IP "kbytes" 4
+.IX Item "kbytes"
+The partition's total size in kilobytes.
+.IP "used" 4
+.IX Item "used"
+The number of kilobytes used on the partition.
+.IP "avail" 4
+.IX Item "avail"
+The number of kilobytes available on the partition.
+.ie n .IP "%used" 4
+.el .IP "\f(CW%used\fR" 4
+.IX Item "%used"
+The percentage of the partition's total space that is used (the \f(CW\*(C`used\*(C'\fR
+statistic divided by the \f(CW\*(C`kbytes\*(C'\fR statistic, times 100).
+.PP
+If the \f(CW%used\fR statistic is greater than 90%, it is marked with the
+string \f(CW\*(C`<<WARNING\*(C'\fR at the right margin.
+.PP
+If the volume is a read-only volume, the output includes information about
+only one of the partitions that houses it, generally the one on the file
+server machine with the lowest preference rank. To verify which machine
+the output is referring to, use the \fBvos listvldb\fR command to list the
+volume's locations, and the \fBvos partinfo\fR command to display the size of
+each one.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output for the partitions housing the
+volumes \f(CW\*(C`user.smith\*(C'\fR and \f(CW\*(C`sun4x_56.bin\*(C'\fR:
+.PP
+.Vb 4
+\& % fs diskfree \-path /afs/abc.com/usr/smith /afs/abc.com/sun4x_56/bin
+\& Volume Name kbytes used avail %used
+\& user.smith 4177920 3841258 336662 92% <<WARNING
+\& sun4x_56.bin 4423680 3174500 1249180 72%
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`r\*(C'\fR (read) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and \f(CW\*(C`l\*(C'\fR (list) permission on the \s-1ACL\s0 of each
+directory that precedes it in the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_examine\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_EXAMINE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_EXAMINE 1"
++.TH FS_EXAMINE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_examine \- Shows data about the volume containing a directory or file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs examine\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs exa\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.PP
+\&\fBfs listvol\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.PP
+\&\fBfs listv\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.PP
+\&\fBfs lv\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The fs examine command displays information about the volume containing
+each specified directory or file, including its volume \s-1ID\s0 number, quota
+and the percentage of its quota that is used.
+.PP
+This command provides the most information about a volume, but the \fBfs
+listquota\fR command displays similar information in tabular format, and the
+\&\fBfs quota\fR command reports only the percentage of quota used.
+.PP
+To set volume quota, use the \fBfs setquota\fR or \fBfs setvol\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The partition-related statistics in this command's output do not always
+agree with the corresponding values in the output of the standard \s-1UNIX\s0
+\&\fBdf\fR command. The statistics reported by this command can be up to five
+minutes old, because the Cache Manager polls the File Server for partition
+information at that frequency. Also, on some operating systems, the \fBdf\fR
+command's report of partition size includes reserved space not included in
+this command's calculation, and so is likely to be about 10% larger.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names a file or directory that resides in the volume about which to
+produce output. Partial pathnames are interpreted relative to the current
+working directory, which is also the default value if this argument is
+omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output displays information about the volume that houses each
+specified directory or file, in the following format
+.PP
+.Vb 6
+\& Volume status for vid = I<volume ID> named I<volume name>
+\& Current offline message is I<message>
+\& Current disk quota is I<quota in kilobytes>
+\& Current blocks used are I<volume size in kilobytes>
+\& The partition has I<available partition> blocks available out of
+\& I<partition size>
+.Ve
+.PP
+where the first line specifies the volume's \s-1ID\s0 number and name. The
+\&\f(CW\*(C`Current offline message\*(C'\fR line appears only if an administrator has
+included the \fB\-offlinemsg\fR argument to the \fBfs setvol\fR command. The
+remaining lines report, respectively,
+.IP "\(bu" 4
+The volume's quota in kilobytes, or the string \f(CW\*(C`unlimited\*(C'\fR to indicate an
+unlimited quota.
+.IP "\(bu" 4
+The volume's current size in kilobytes.
+.IP "\(bu" 4
+The number of blocks available and total size of the host partition, both
+in kilobytes.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output for the volume \f(CW\*(C`user.smith\*(C'\fR and
+the partition housing it:
+.PP
+.Vb 5
+\& % fs examine \-path /afs/abc.com/usr/smith
+\& Volume status for vid = 50489902 named user.smith
+\& Current maximum quota is 15000
+\& Current blocks used are 5073
+\& The partition has 336662 blocks available out of 4177920
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`r\*(C'\fR (read) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and \f(CW\*(C`l\*(C'\fR (list) permission on the \s-1ACL\s0 of each
+directory that precedes it in the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_listquota\fR\|(1),
+\&\fIfs_quota\fR\|(1),
+\&\fIfs_setquota\fR\|(1),
+\&\fIfs_setvol\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_EXPORTAFS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_EXPORTAFS 1"
++.TH FS_EXPORTAFS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_exportafs \- Configures export of AFS to clients of other file systems
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs exportafs\fR \fB\-type\fR\ <\fIexporter\ name\fR>
+ [\fB\-start\fR\ <\fIstart/stop\ translator\ (on\ |\ off)\fR>]
+ [\fB\-convert\fR\ <\fIconvert\ from\ afs\ to\ unix\ mode\ (on\ |\ off)\fR>]
+ [\fB\-uidcheck\fR\ <\fIrun\ on\ strict\ 'uid\ check'\ mode\ (on\ |\ off)\fR>]
+ [\fB\-submounts\fR\ <\fIallow\ nfs\ mounts\ to\ subdirs\ of\ /afs/..\ (on\ |\ off)\fR>]
+ [\fB\-help\fR]
+.PP
+\&\fBfs exp\fR \fB\-t\fR\ <\fIexporter\ name\fR>
+ [\fB\-st\fR\ <\fIstart/stop\ translator\ (on\ |\ off)\fR>]
+ [\fB\-c\fR\ <\fIconvert\ from\ afs\ to\ unix\ mode\ (on\ |\ off)\fR>]
+ [\fB\-u\fR\ <\fIrun\ on\ strict\ 'uid\ check'\ mode\ (on\ |\ off)\fR>]
+ [\fB\-su\fR\ <\fIallow\ nfs\ mounts\ to\ subdirs\ of\ /afs/..\ (on\ |\ off)\fR>]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs exportafs\fR command sets (if the \fB\-start\fR argument is provided)
+or reports (if it is omitted) whether the machine can reexport the \s-1AFS\s0
+filespace to clients of a non-AFS file system. To control certain features
+of the translation protocol, use the following arguments:
+.IP "\(bu" 4
+To control whether the \s-1UNIX\s0 group and other mode bits on an \s-1AFS\s0 file or
+directory are set to match the owner mode bits when it is exported to the
+non-AFS file system, use the \fB\-convert\fR argument.
+.IP "\(bu" 4
+To control whether tokens can be placed in a credential structure
+identified by a \s-1UID\s0 that differs from the local \s-1UID\s0 of the entity that is
+placing the tokens in the structure, use the \fB\-uidcheck\fR argument. The
+most common use is to control whether issuers of the \fBknfs\fR command can
+specify a value for its \fB\-id\fR argument that does not match their local
+\&\s-1UID\s0 on the \s-1NFS/AFS\s0 translator machine.
+.IP "\(bu" 4
+To control whether users can create mounts in the non-AFS filespace to an
+\&\s-1AFS\s0 directory other than \fI/afs\fR, use the \fB\-submounts\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-type\fR <\fIexporter name\fR>" 4
+.IX Item "-type <exporter name>"
+Names the alternate file system to which to reexport the \s-1AFS\s0
+filespace. The only acceptable value is \f(CW\*(C`nfs\*(C'\fR, in lowercase letters only.
+.IP "\fB\-start\fR on =item \fB\-start\fR off" 4
+.IX Item "-start on =item -start off"
+Enables the local machine to reexport the \s-1AFS\s0 filespace if the value is
+\&\f(CW\*(C`on\*(C'\fR, or disables it if the value is \f(CW\*(C`off\*(C'\fR. Omit this argument to report
+the current setting for all of the configurable parameters.
+.IP "\fB\-convert\fR on =item \fB\-convert\fR off" 4
+.IX Item "-convert on =item -convert off"
+Controls the setting of the \s-1UNIX\s0 group and other mode bits on \s-1AFS\s0 files
+and directories exported to the non-AFS file system. If the value is
+\&\f(CW\*(C`on\*(C'\fR, they are set to match the \fBowner\fR mode bits. If the value is
+\&\f(CW\*(C`off\*(C'\fR, the bits are not changed. If this argument is omitted, the default
+value is \f(CW\*(C`on\*(C'\fR.
+.IP "\fB\-uidcheck\fR on =item \fB\-uidcheck\fR off" 4
+.IX Item "-uidcheck on =item -uidcheck off"
+Controls whether tokens can be placed in a credential structure identified
+by a \s-1UID\s0 that differs from the local \s-1UID\s0 of the entity that is placing the
+tokens in the structure.
+.RS 4
+.IP "\(bu" 4
+If the value is on, the \s-1UID\s0 that identifies the credential structure must
+match the local \s-1UID\s0.
+.Sp
+With respect to the \fBknfs\fR command, this value means that the value of
+\&\fB\-id\fR argument must match the issuer's local \s-1UID\s0 on the translator
+machine. In practice, this setting makes it pointless to include the
+\&\fB\-id\fR argument to the \fBknfs\fR command, because the only acceptable value
+(the issuer's local \s-1UID\s0) is already used when the \fB\-id\fR argument is
+omitted.
+.Sp
+Enabling \s-1UID\s0 checking also makes it impossible to issue the \fBklog\fR and
+\&\fBpagsh\fR commands on a client machine of the non-AFS file system even
+though it is a system type supported by \s-1AFS\s0. For an explanation, see
+\&\fIklog\fR\|(1).
+.IP "\(bu" 4
+If the value is off (the default), tokens can be assigned to a local \s-1UID\s0
+in the non-AFS file system that does not match the local \s-1UID\s0 of the entity
+assigning the tokens.
+.Sp
+With respect to the \fBknfs\fR command, it means that the issuer can use the
+\&\fB\-id\fR argument to assign tokens to a local \s-1UID\s0 on the \s-1NFS\s0 client machine
+that does not match his or her local \s-1UID\s0 on the translator machine. (An
+example is assigning tokens to the \s-1MFS\s0 client machine's local superuser
+\&\f(CW\*(C`root\*(C'\fR.) This setting allows more than one issuer of the \fBknfs\fR command
+to make tokens available to the same user on the \s-1NFS\s0 client machine. Each
+time a different user issues the \fBknfs\fR command with the same value for
+the \fB\-id\fR argument, that user's tokens overwrite the existing ones. This
+can result in unpredictable access for the user on the \s-1NFS\s0 client machine.
+.RE
+.RS 4
+.RE
+.IP "\fB\-submounts\fR on =item \fB\-submounts\fR off" 4
+.IX Item "-submounts on =item -submounts off"
+Controls whether a user of the non-AFS filesystem can mount any directory
+in the \s-1AFS\s0 filespace other than the top-level \fI/afs\fR directory. If the
+value is \f(CW\*(C`on\*(C'\fR, such submounts are allowed. If the value is \f(CW\*(C`off\*(C'\fR, only
+mounts of the \fI/afs\fR directory are allowed. If this argument is omitted,
+the default value is \f(CW\*(C`off\*(C'\fR.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the machine is not even configured as a server of the non-AFS file
+system, the following message appears:
+.PP
+.Vb 2
+\& Sorry, the <file_system>\-exporter type is currently not supported on
+\& this AFS client
+.Ve
+.PP
+If the machine is configured as a server of the non-AFS file system but is
+not currently enabled to reexport \s-1AFS\s0 to it (because the \fB\-start\fR
+argument to this command is not set to \f(CW\*(C`on\*(C'\fR), the message is as follows:
+.PP
+.Vb 1
+\& \*(Aq<file_system>\*(Aq translator is disabled
+.Ve
+.PP
+If the machine is enabled to reexport \s-1AFS\s0, the following message precedes
+messages that report the settings of the other parameters.
+.PP
+.Vb 1
+\& \*(Aq<file_system>\*(Aq translator is enabled with the following options:
+.Ve
+.PP
+The following messages indicate that the \fB\-convert\fR argument is set to
+\&\f(CW\*(C`on\*(C'\fR or \f(CW\*(C`off\*(C'\fR respectively:
+.PP
+.Vb 2
+\& Running in convert owner mode bits to world/other mode
+\& Running in strict unix mode
+.Ve
+.PP
+The following messages indicate that the \fB\-uidcheck\fR argument is set to
+\&\f(CW\*(C`on\*(C'\fR or \f(CW\*(C`off\*(C'\fR respectively:
+.PP
+.Vb 2
+\& Running in strict \*(Aqpasswd sync\*(Aq mode
+\& Running in no \*(Aqpasswd sync\*(Aq mode
+.Ve
+.PP
+The following messages indicate that the \fB\-submounts\fR argument is set to
+\&\f(CW\*(C`on\*(C'\fR or \f(CW\*(C`off\*(C'\fR respectively:
+.PP
+.Vb 2
+\& Allow mounts of /afs/.. subdirs
+\& Only mounts to /afs allowed
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows that the local machine can export \s-1AFS\s0 to \s-1NFS\s0
+client machines.
+.PP
+.Vb 5
+\& % fs exportafs nfs
+\& \*(Aqnfs\*(Aq translator is enabled with the following options:
+\& Running in convert owner mode bits to world/other mode
+\& Running in no \*(Aqpasswd sync\*(Aq mode
+\& Only mounts to /afs allowed
+.Ve
+.PP
+The following example enables the machine as an \s-1NFS\s0 server and converts
+the \s-1UNIX\s0 group and other mode bits on exported \s-1AFS\s0 directories and files
+to match the \s-1UNIX\s0 owner mode bits.
+.PP
+.Vb 1
+\& % fs exportafs \-type nfs \-start on \-convert on
+.Ve
+.PP
+The following example disables the machine from reexporting \s-1AFS\s0 to \s-1NFS\s0
+client machines:
+.PP
+.Vb 1
+\& % fs exportafs \-type nfs \-start off
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIklog\fR\|(1),
+\&\fIknfs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_FLUSH 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_FLUSH 1"
++.TH FS_FLUSH 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_flush \- Forces the Cache Manager to discard a cached file or directory
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs flush\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs flush\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs flush\fR command removes from the cache all data and status
+information associated with each specified file or directory. The next
+time an application requests data from the flushed directory or file, the
+Cache Manager fetches the most current version from a File Server, along
+with a new callback (if necessary) and associated status information. This
+command has no effect on two types of data:
+.IP "\(bu" 4
+Data in application program buffers.
+.IP "\(bu" 4
+Data that has been changed locally and written to the cache but not yet
+written to the copy on the file server machine.
+.PP
+To flush all data in the cache that was fetched from the same volume as a
+specified file or directory, use the \fBfs flushvolume\fR command. To flush
+a corrupted mount point, use the \fBfs flushmount\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names each file or directory to flush from the cache. If it is a
+directory, only the directory element itself is flushed, not data cached
+from files or subdirectories that reside in it. Partial pathnames are
+interpreted relative to the current working directory, which is also the
+default value if this argument is omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command flushes from the cache the file \f(CW\*(C`projectnotes\*(C'\fR in
+the current working directory and all data from the subdirectory \f(CW\*(C`plans\*(C'\fR:
+.PP
+.Vb 1
+\& % fs flush \-path projectnotes ./plans/*
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (lookup) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and on the \s-1ACL\s0 of each directory that precedes it in
+the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_flushmount\fR\|(1),
+\&\fIfs_flushvolume\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_FLUSHALL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_FLUSHALL 1"
++.TH FS_FLUSHALL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_flushall \- Force the AFS Cache Manager to discard all data
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs flushall\fR [\fB\-help\fR]
+.PP
+\&\fBfs flusha\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs flushall\fR command flushes all data from the \s-1AFS\s0 cache.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is only available on Windows.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command has no output.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Aside from the help, there is only one way to run \fBfs flushall\fR, which is
+as follows:
+.PP
+.Vb 2
+\& % fs flushall
+\& %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+No special privileges are required for this command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_flush\fR\|(1),
+\&\fIfs_flushmount\fR\|(1),
+\&\fIfs_flushvolume\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_FLUSHMOUNT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_FLUSHMOUNT 1"
++.TH FS_FLUSHMOUNT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_flushmount \- Forces the Cache Manager to discard a mount point
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs flushmount\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs flushm\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs flushmount\fR command removes from the cache all information
+associated with each mount point named by the \fB\-path\fR argument. The next
+time an application accesses the mount point, the Cache Manager fetches
+the most current version of it from the File Server. Data cached from the
+associated volume is not affected.
+.PP
+The command's intended use is to discard information about mount points
+that has become corrupted in the cache. (The Cache Manager periodically
+refreshes cached mount points, but the only other way to discard them
+immediately is to reinitialize the Cache Manager by rebooting the
+machine.) Symptoms of a corrupted mount point included garbled output from
+the \fBfs lsmount\fR command, and failed attempts to change directory to or
+list the contents of a mount point.
+.PP
+To flush cached data rather than a mount point, use the \fBfs flush\fR or
+\&\fBfs flushvolume\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names each mount point to flush from the cache. Partial pathnames are
+interpreted relative to the current working directory, which is also the
+default value if this argument is omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command flushes from the cache the mount point for user
+\&\f(CW\*(C`pat\*(C'\fR's home directory:
+.PP
+.Vb 1
+\& % fs flushm /afs/abc.com/usr/pat
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (lookup) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and on the \s-1ACL\s0 of each directory that precedes it in
+the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_flush\fR\|(1),
+\&\fIfs_flushvolume\fR\|(1),
+\&\fIfs_lsmount\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_FLUSHVOLUME 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_FLUSHVOLUME 1"
++.TH FS_FLUSHVOLUME 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_flushvolume \- Forces the Cache Manager to discard cached data from a volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs flushvolume\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs flushv\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs flushvolume\fR command removes from the cache all data that was
+fetched from the same volume as each specified directory or file. It does
+not discard cached status information. The next time an application
+requests data from a flushed directory or file, the Cache Manager fetches
+the most current version from a File Server, along with a new callback (if
+necessary) and associated status information. This command has no effect
+on two types of data:
+.IP "\(bu" 4
+Data in application program buffers.
+.IP "\(bu" 4
+Data that has been changed locally and written to the cache but not yet
+written to the copy on the file server machine.
+.PP
+To discard the data and status information associated with individual
+files and directories, use the \fBfs flush\fR command. To flush a corrupted
+mount point, use the \fBfs flushmount\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names a file or directory from each volume for which to discard all cached
+data. Partial pathnames are interpreted relative to the current working
+directory, which is also the default value if this argument is omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command flushes from the cache all data fetched from the
+volume that contains the current working directory:
+.PP
+.Vb 1
+\& % fs flushvolume
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (lookup) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and on the \s-1ACL\s0 of each directory that precedes it in
+the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_flush\fR\|(1),
+\&\fIfs_flushmount\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_GETCACHEPARMS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETCACHEPARMS 1"
++.TH FS_GETCACHEPARMS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getcacheparms \- Displays the current size and usage of the cache
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getcacheparms\fR [\fB\-help\fR]
+.PP
+\&\fBfs getca\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs getcacheparms\fR command displays the current size of the cache
+(which can be in memory or on disk), and the amount currently in use.
+.PP
+The reported statistics are from kernel memory, so the reported size can
+differ from the setting specified in the \fI/usr/vice/etc/cacheinfo\fR file
+on a machine using a disk cache, if the \fBfs setcachesize\fR command has
+been used to alter cache size.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output reports
+.PP
+.Vb 1
+\& AFS using <amount> of the cache\*(Aqs available <size> 1K byte blocks.
+.Ve
+.PP
+where <amount> is the number of kilobyte blocks currently used to cache
+data and status information, and <size> is the total current cache size.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output on a machine with a 25000 kilobyte
+cache.
+.PP
+.Vb 2
+\& % fs getcacheparms
+\& AFS using 22876 of the cache\*(Aqs available 25000 1K byte blocks.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_setcachesize\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_GETCALLERACCESS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETCALLERACCESS 1"
++.TH FS_GETCALLERACCESS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getcalleraccess \- Show the current user's access to a file or directory
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getcalleraccess\fR [\fB\-path\fR\ <\fIpath\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs gca\fR [\fB\-p\fR\ <\fIpath\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs getcalleraccess\fR command displays the access that the current
+user has to the specified path using the same representation as \fBfs
+listacl\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.IP "\fB\-path\fR <\fIpath\fR>+" 4
+.IX Item "-path <path>+"
+The \fB\-path\fR option specifies the path on which to operate. \fB\-path\fR may
+be omitted. If this option isn't given, the default is to act on the
+current directory.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+For each path, \fBfs getcalleraccess\fR outputs a line like:
+.PP
+.Vb 1
+\& Callers access to <directory> is <rights>
+.Ve
+.PP
+where <directory> is the path on which it is operating and <rights> is an
+\&\s-1ACL\s0 string in the same format as is returned by \fBfs listacl\fR. See
+\&\fIfs_listacl\fR\|(1) for more information about \s-1AFS\s0 \s-1ACL\s0 strings.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command shows the current user's access to the path
+\&\fI/afs/openafs.org\fR, which is read and lookup access.
+.PP
+.Vb 3
+\& % fs getcalleraccess /afs/openafs.org
+\& Callers access to /afs/openafs.org is rl
+\& %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+No special privileges are required for this command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_listacl\fR\|(1),
+\&\fIfs_setacl\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_GETCELLSTATUS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETCELLSTATUS 1"
++.TH FS_GETCELLSTATUS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getcellstatus \- Reports whether setuid programs are honored in a cell
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getcellstatus\fR \fB\-cell\fR\ <\fIcell\ name\fR>+ [\fB\-help\fR]
+.PP
+\&\fBfs getce\fR \fB\-c\fR\ <\fIcell\ name\fR>+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs getcellstatus\fR command reports whether the Cache Manager allows
+programs fetched from each specified cell to run with setuid
+permission. To set a cell's setuid status, use the \fBfs setcell\fR command;
+\&\fIfs_setcell\fR\|(1) fully describes how \s-1AFS\s0 treats setuid programs.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>+" 4
+.IX Item "-cell <cell name>+"
+Names each cell for which to report setuid status. Provide the fully
+qualified domain name, or a shortened form that disambiguates it from the
+other cells listed in the local \fI/usr/vice/etc/CellServDB\fR file.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output reports one of the following two values as appropriate:
+.PP
+.Vb 2
+\& Cell <cell> status: setuid allowed
+\& Cell <cell> status: no setuid allowed
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example indicates that programs from the cell \f(CW\*(C`abc.com\*(C'\fR are
+not allowed to run with setuid permission.
+.PP
+.Vb 2
+\& % fs getcellstatus abc.com
+\& Cell abc.com status: no setuid allowed
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIfs_setcell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_GETCLIENTADDRS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETCLIENTADDRS 1"
++.TH FS_GETCLIENTADDRS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getclientaddrs \- Displays the client interfaces to register
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getclientaddrs\fR [\fB\-help\fR]
+.PP
+\&\fBfs gc\fR [\fB\-h\fR]
+.PP
+\&\fBfs getcl\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs getclientaddrs\fR command displays the \s-1IP\s0 addresses of the
+interfaces that the local Cache Manager registers with a File Server when
+first establishing a connection to it.
+.PP
+The File Server uses the addresses when it initiates a remote procedure
+call (\s-1RPC\s0) to the Cache Manager (as opposed to responding to an \s-1RPC\s0 sent
+by the Cache Manager). There are two common circumstances in which the
+File Server initiates RPCs: when it breaks callbacks and when it pings the
+client machine to verify that the Cache Manager is still accessible.
+.PP
+If an \s-1RPC\s0 to that interface fails, the File Server simultaneously sends
+RPCs to all of the other interfaces in the list, to learn which of them
+are still available. Whichever interface replies first is the one to which
+the File Server then sends pings and RPCs to break callbacks.
+.PP
+\&\fIfs_setclientaddrs\fR\|(1) explains how the Cache Manager constructs the list
+automatically in kernel memory as it initializes, and how to use that
+command to alter the kernel list after initialization.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The File Server uses the list of interfaces displayed by this command only
+when selecting an alternative interface after a failed attempt to break a
+callback or ping the Cache Manager. When responding to the Cache Manager's
+request for file system data, the File Server replies to the interface
+which the Cache Manager used when sending the request. If the File
+Server's reply to a data request fails, the file server machine's network
+routing configuration determines which alternate network routes to the
+client machine are available for resending the reply.
+.PP
+The displayed list applies to all File Servers to which the Cache Manager
+connects in the future. It is not practical to register different sets of
+addresses with different File Servers, because it requires using the \fBfs
+setclientaddrs\fR command to change the list and then rebooting each
+relevant File Server immediately.
+.PP
+The displayed list is not necessarily governing the behavior of a given
+File Server, if an administrator has issued the \fBfs setclientaddrs\fR
+command since the Cache Manager first contacted that File Server. It
+determines only which addresses the Cache Manager registers when
+connecting to File Servers in the future.
+.PP
+The list of interfaces does not influence the Cache Manager's choice of
+interface when establishing a connection to a File Server.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output displays the \s-1IP\s0 address of each interface that the Cache
+Manager is currently registering with File Server processes that it
+contacts, with one address per line. The File Server initially uses the
+first address for breaking callbacks and pinging the Cache Manager, but
+the ordering of the other interfaces is not meaningful.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the two interfaces that the Cache Manager
+is registering with File Servers.
+.PP
+.Vb 3
+\& % fs getclientaddrs
+\& 192.12.105.68
+\& 192.12.108.84
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfileserver\fR\|(8),
+\&\fIfs_setclientaddrs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_GETCRYPT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETCRYPT 1"
++.TH FS_GETCRYPT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getcrypt \- Displays the state of encryption for AFS file transfers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getcrypt\fR [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs getcrypt\fR command shows the status of network traffic encryption
+for file traffic in the \s-1AFS\s0 client. This encryption applies to file
+traffic going to and coming from the \s-1AFS\s0 server for users with valid
+tokens. The complement of this command is \fBfs setcrypt\fR which sets the
+status of encryption on the client.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\s-1AFS\s0 uses an encryption scheme called fcrypt, based on but slightly weaker
+than \s-1DES\s0. Because fcrypt and \s-1DES\s0 are obsolete, the user must decide how
+much to trust the encryption. Consider using a Virtual Private Network at
+the \s-1IP\s0 level if better encryption is needed.
+.PP
+Encrypting file traffic requires a token. Unauthenticated connections or
+connections authorized via IP-based ACLs will not be encrypted even when
+encryption is turned on.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If encryption is enabled, the output is:
+.PP
+.Vb 1
+\& Security level is currently crypt (data security).
+.Ve
+.PP
+If encryption if disabled, the output is:
+.PP
+.Vb 1
+\& Security level is currently clear.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+There is only one way to invoke \fBfs getcrypt\fR:
+.PP
+.Vb 1
+\& % fs getcrypt
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+No special priviledges are required for this command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_setcrypt\fR\|(1)
+.PP
+The description of the fcrypt encryption mechanism at
+<http://surfvi.com/~ota/fcrypt\-paper.txt>.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_GETFID 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETFID 1"
++.TH FS_GETFID 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getfid \- Display the fid for a given path in AFS
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getfid\fR [\fB\-path\fR]\ \fIpath\fR [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The fs getfid command displays the \s-1FID\s0 for a given path in \s-1AFS\s0. The \s-1FID\s0
+is the internal identifier used by \s-1AFS\s0 encoding the volume name and the
+file within a volume.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is not available on Windows prior to version 1.5.60.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR \fIpath\fR" 4
+.IX Item "-path path"
+The path of the file (or directory).
+.IP "\fB\-literal\fR" 4
+.IX Item "-literal"
+Windows only: for a symlink or mount point, evaluates the specified object
+rather than the object it refers to.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output contains the name of the file or directory, the \s-1FID\s0, and the
+volume containing the \s-1FID\s0. The Windows version also outputs the object
+type instead of using \*(L"File\*(R" to describe all objects.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+On Unix:
+.PP
+.Vb 2
+\& % fs getfid .
+\& File . (536870918.1.1) contained in volume 536870918
+\&
+\& % fs getfid /afs/example.com/foo
+\& File /afs/example.com/foo (536870918.20404.20997) contained in volume 536870918
+.Ve
+.PP
+On Windows:
+.PP
+.Vb 4
+\& % fs.exe getfid \e\eafs\eexample.edu\euser\eb\eo\ebob \e
+\& \e\eafs\eexample.org\eusr\ebob\elinktests\ebroken
+\& Directory \e\eafs\eexample.edu\euser\eb\eo\ebob (537235559.1.1) contained in cell example.edu
+\& fs: File \*(Aq\e\eafs\eexample.org\eusr\ebob\elinktests\ebroken\*(Aq doesn\*(Aqt exist
+\&
+\& % fs.exe getfid \e\eafs\eexample.edu\euser\eb\eo\ebob \e
+\& \e\eafs\eexample.org\eusr\ebob\elinktests\ebroken \-literal
+\& Mountpoint \e\eafs\eexample.edu\euser\eb\eo\ebob (536873032.1162.16997) contained in cell example.edu
+\& Symlink \e\eafs\eexample.org\eusr\ebob\elinktests\ebroken (536874416.27618.488969) contained in cell example.org
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be have read access in the directory containing the path
+to be resolved.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+This document was written by Steven Jenkins, and is released under the \s-1IBM\s0
+Public License Version 1.0. Jeffrey Altman made several suggestions and
+additions.
--- /dev/null
- .TH FS_GETSERVERPREFS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_GETSERVERPREFS 1"
++.TH FS_GETSERVERPREFS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_getserverprefs \- Displays preference ranks for file servers or VL servers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs getserverprefs\fR [\fB\-file\fR\ <\fIoutput\ to\ named\ file\fR>]
+ [\fB\-numeric\fR] [\fB\-vlservers\fR] [\fB\-help\fR]
+.PP
+\&\fBfs gets\fR [\fB\-f\fR\ <\fIoutput\ to\ named\ file\fR>] [\fB\-n\fR] [\fB\-v\fR] [\fB\-h\fR]
+.PP
+\&\fBfs gp\fR [\fB\-f\fR\ <\fIoutput\ to\ named\ file\fR>] [\fB\-n\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs getserverprefs\fR command displays preference ranks for file server
+machine interfaces (file server machines run the \fBfs\fR process) or, if the
+\&\fB\-vlserver\fR flag is provided, for Volume Location (\s-1VL\s0) Server machines
+(which run the \fBvlserver\fR process). For file server machines, the Cache
+Manager tracks up to 15 interfaces per machine and assigns a separate rank
+to each interface. The ranks indicate the order in which the local Cache
+Manager attempts to contact the interfaces of machines that are housing a
+volume when it needs to fetch data from the volume. For \s-1VL\s0 Server
+machines, the ranks indicate the order in which the Cache Manager attempts
+to contact a cell's \s-1VL\s0 Servers when requesting \s-1VLDB\s0 information. For both
+types of rank, lower integer values are more preferred.
+.PP
+The Cache Manager stores ranks in kernel memory. Once set, a rank persists
+until the machine reboots, or until the \fBfs setserverprefs\fR command is
+used to change it. The reference page for the \fBfs setserverprefs\fR command
+explains how the Cache Manager sets default ranks, and how to use that
+command to change the default values.
+.PP
+Default \s-1VL\s0 Server ranks range from 10,000 to 10,126, and the Cache Manager
+assigns them to every machine listed in its copy of the
+\&\fI/usr/vice/etc/CellServDB\fR file. When the Cache Manager needs to fetch
+\&\s-1VLDB\s0 information from a cell, it compares the ranks for the \s-1VL\s0 Server
+machines belonging to that cell, and attempts to contact the \s-1VL\s0 Server
+with the lowest integer rank. If the Cache Manager cannot reach the \s-1VL\s0
+Server (because of server process, machine or network outage), it tries to
+contact the \s-1VL\s0 Server with the next lowest integer rank, and so on. If all
+of a cell's \s-1VL\s0 Server machines are unavailable, the Cache Manager cannot
+fetch data from the cell.
+.PP
+Default file server ranks range from 5,000 to 40,000, excluding the range
+used for \s-1VL\s0 Servers (10,000 to 10,126); the maximum possible rank is
+65,534. When the Cache Manager needs to fetch data from a volume, it
+compares the ranks for the interfaces of machines that house the volume,
+and attempts to contact the interface that has the lowest integer rank. If
+it cannot reach the \fBfileserver\fR process via that interface (because of
+server process, machine or network outage), it tries to contact the
+interface with the next lowest integer rank, and so on. If it cannot reach
+any of the interfaces for machines that house the volume, it cannot fetch
+data from the volume.
+.PP
+For both file server machines and \s-1VL\s0 Server machines, it is possible for a
+machine or interface in a foreign cell to have the same rank as a machine
+or interface in the local cell. This does not present a problem, because
+the Cache Manager only ever compares ranks for machines belonging to one
+cell at a time.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-file\fR <\fIoutput file\fR>" 4
+.IX Item "-file <output file>"
+Specifies the full pathname of a file to which to write the preference
+ranks. If the specified file already exists, the command overwrites its
+contents. If the pathname is invalid, the command fails. If this argument
+is not provided, the preference ranks appear on the standard output
+stream.
+.IP "\fB\-numeric\fR" 4
+.IX Item "-numeric"
+Displays the \s-1IP\s0 addresses of file server machine interfaces or \s-1VL\s0 Server
+machines, rather than their hostnames. If this argument is not provided,
+the \fBfs\fR command interpreter has the \s-1IP\s0 addresses translated to hostnames
+such as \f(CW\*(C`fs1.abc.com\*(C'\fR.
+.IP "\fB\-vlservers\fR" 4
+.IX Item "-vlservers"
+Displays preference ranks for \s-1VL\s0 Server machines rather than file server
+machine interfaces.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output consists of a separate line for each file server machine
+interface or \s-1VL\s0 Server machine, pairing the machine's hostname or \s-1IP\s0
+address with its rank. The Cache Manager stores \s-1IP\s0 addresses in its kernel
+list of ranks, but the command by default identifies interfaces by
+hostname, by calling a translation routine that refers to either the
+cell's name service (such as the Domain Name Server) or the local host
+table. If an \s-1IP\s0 address appears in the output, it is because the
+translation attempt failed. To bypass the translation step and display \s-1IP\s0
+addresses rather than hostnames, include the \fB\-numeric\fR flag. This can
+significantly speed the production of output.
+.PP
+By default, the command writes to the standard output stream. Use the
+\&\fB\-file\fR argument to write the output to a file instead.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the local Cache Manager's preference ranks
+for file server machines. The local machine belongs to the \s-1AFS\s0 cell named
+\&\fBabc.com\fR, and in this example the ranks of file server machines in its
+local cell are lower than the ranks of file server machines from the
+foreign cell, \f(CW\*(C`def.com\*(C'\fR. It is not possible to translate the \s-1IP\s0 addresses
+of two machines on the 138.255 network.
+.PP
+.Vb 9
+\& % fs getserverprefs
+\& fs2.abc.com 20007
+\& fs3.abc.com 30002
+\& fs1.abc.com 20011
+\& fs4.abc.com 30010
+\& server1.def.com 40002
+\& 138.255.33.34 40000
+\& server6.def.com 40012
+\& 138.255.33.37 40005
+.Ve
+.PP
+The following example shows hows the output displays \s-1IP\s0 addresses when the
+\&\fB\-numeric\fR flag is included, and illustrates how network proximity
+determines default ranks (as described on the \fBfs setserverprefs\fR
+reference page). The local machine has \s-1IP\s0 address 192.12.107.210, and the
+two file server machines on its subnetwork have ranks of 20,007 and
+20,011. The two file server machines on a different subnetwork of the
+local machine's network have higher ranks, 30,002 and 30,010, whereas the
+ranks of the remaining machines range from 40,000 to 40,012 because they
+are in a completely different network.
+.PP
+.Vb 9
+\& % fs getserverprefs \-numeric
+\& 192.12.107.214 20007
+\& 192.12.105.99 30002
+\& 192.12.107.212 20011
+\& 192.12.105.100 30010
+\& 138.255.33.41 40002
+\& 138.255.33.34 40000
+\& 138.255.33.36 40012
+\& 138.255.33.37 40005
+.Ve
+.PP
+The example shows how the \fB\-vlservers\fR flag displays preference ranks for
+\&\s-1VL\s0 Server machines:
+.PP
+.Vb 4
+\& % fs getserverprefs \-vlservers
+\& fs2.abc.com 10052
+\& fs3.abc.com 10113
+\& fs1.abc.com 10005
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_setserverprefs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_HELP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_HELP 1"
++.TH FS_HELP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_help \- Displays help for fs commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBfs\fR command.
+.PP
+To display every \fBfs\fR command whose name or short description includes a
+specified keyword, use the \fBfs apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBfs\fR part of the command name, providing only the
+operation code (for example, specify \f(CW\*(C`setacl\*(C'\fR, not \f(CW\*(C`fs setacl\*(C'\fR). If this
+argument is omitted, the output briefly describes every \fBfs\fR command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each fs command consists of the following two or
+three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBfs setacl\fR
+command:
+.PP
+.Vb 5
+\& % fs help setacl
+\& fs setacl: set access control list
+\& aliases: sa
+\& Usage: fs setacl \-dir <directory>+
+\& \-acl <access list entries>+ [\-clear] [\-negative] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1),
+\&\fIfs_apropos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_LISTACL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_LISTACL 1"
++.TH FS_LISTACL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_listacl \- Displays ACLs
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs listacl\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-id\fR] [\fB\-if\fR] [\fB\-help\fR]
+.PP
+\&\fBfs la\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-id\fR] [\fB\-if\fR] [\fB\-h\fR]
+.PP
+\&\fBfs lista\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-id\fR] [\fB\-if\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs listacl\fR command displays the access control list (\s-1ACL\s0)
+associated with each specified file, directory, or symbolic link. The
+specified element can reside in the \s-1DFS\s0 filespace if the issuer is using
+the \s-1AFS/DFS\s0 Migration Toolkit Protocol Translator to access \s-1DFS\s0 data (and
+\&\s-1DFS\s0 does implement per-file ACLs). To display the \s-1ACL\s0 of the current
+working directory, omit the \fB\-path\fR argument.
+.PP
+To alter an \s-1ACL\s0, use the fs setacl command. To copy an \s-1ACL\s0 from one
+directory to another, use the \fBfs copyacl\fR command. To remove obsolete
+entries from an \s-1ACL\s0, use the \fBfs cleanacl\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Placing a user or group on the \f(CW\*(C`Negative rights\*(C'\fR section of the \s-1ACL\s0 does
+not guarantee denial of permissions, if the \f(CW\*(C`Normal rights\*(C'\fR section
+grants the permissions to members of the system:anyuser group. In that
+case, the user needs only to issue the \fBunlog\fR command to obtain the
+permissions granted to the system:anyuser group.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names each directory or file for which to display the \s-1ACL\s0. For \s-1AFS\s0 files,
+the output displays the \s-1ACL\s0 from the file's parent directory; \s-1DFS\s0 files do
+have their own \s-1ACL\s0. Incomplete pathnames are interpreted relative to the
+current working directory, which is also the default value if this
+argument is omitted.
+.IP "\fB\-id\fR" 4
+.IX Item "-id"
+Displays the Initial Container \s-1ACL\s0 of each \s-1DFS\s0 directory. This argument is
+supported only on \s-1DFS\s0 directories accessed via the \s-1AFS/DFS\s0 Migration
+Toolkit Protocol Translator.
+.IP "\fB\-if\fR" 4
+.IX Item "-if"
+Displays the Initial Object \s-1ACL\s0 of each \s-1DFS\s0 directory. This argument is
+supported only on \s-1DFS\s0 directories accessed via the \s-1AFS/DFS\s0 Migration
+Toolkit Protocol Translator.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of the output for each file, directory, or symbolic link
+reads as follows:
+.PP
+.Vb 1
+\& Access list for <directory> is
+.Ve
+.PP
+If the issuer used shorthand notation in the pathname, such as the period
+(\f(CW\*(C`.\*(C'\fR) to represent the current current directory, that notation sometimes
+appears instead of the full pathname of the directory.
+.PP
+Next, the \f(CW\*(C`Normal rights\*(C'\fR header precedes a list of users and groups who
+are granted the indicated permissions, with one pairing of user or group
+and permissions on each line. If negative permissions have been assigned
+to any user or group, those entries follow a \f(CW\*(C`Negative rights\*(C'\fR
+header. The format of negative entries is the same as those on the
+\&\f(CW\*(C`Normal rights\*(C'\fR section of the \s-1ACL\s0, but the user or group is denied
+rather than granted the indicated permissions.
+.PP
+\&\s-1AFS\s0 does not implement per-file ACLs, so for a file the command displays
+the \s-1ACL\s0 on its directory. The output for a symbolic link displays the \s-1ACL\s0
+that applies to its target file or directory, rather than the \s-1ACL\s0 on the
+directory that houses the symbolic link.
+.PP
+The permissions for \s-1AFS\s0 enable the possessor to perform the indicated
+action:
+.IP "a (administer)" 4
+.IX Item "a (administer)"
+Change the entries on the \s-1ACL\s0.
+.IP "d (delete)" 4
+.IX Item "d (delete)"
+Remove files and subdirectories from the directory or move them to other
+directories.
+.IP "i (insert)" 4
+.IX Item "i (insert)"
+Add files or subdirectories to the directory by copying, moving or
+creating.
+.IP "k (lock)" 4
+.IX Item "k (lock)"
+Set read locks or write locks on the files in the directory.
+.IP "l (lookup)" 4
+.IX Item "l (lookup)"
+List the files and subdirectories in the directory, stat the directory
+itself, and issue the \fBfs listacl\fR command to examine the directory's
+\&\s-1ACL\s0.
+.IP "r (read)" 4
+.IX Item "r (read)"
+Read the contents of files in the directory; issue the \f(CW\*(C`ls \-l\*(C'\fR command to
+stat the elements in the directory.
+.IP "w (write)" 4
+.IX Item "w (write)"
+Modify the contents of files in the directory, and issue the \s-1UNIX\s0 \fBchmod\fR
+command to change their mode bits
+.IP "A, B, C, D, E, F, G, H" 4
+.IX Item "A, B, C, D, E, F, G, H"
+Have no default meaning to the \s-1AFS\s0 server processes, but are made
+available for applications to use in controlling access to the directory's
+contents in additional ways. The letters must be uppercase.
+.PP
+For \s-1DFS\s0 files and directories, the permissions are similar, except that
+the \s-1DFS\s0 \f(CW\*(C`x\*(C'\fR (execute) permission replaces the \s-1AFS\s0 \f(CW\*(C`l\*(C'\fR (lookup)
+permission, \s-1DFS\s0 \f(CW\*(C`c\*(C'\fR (control) replaces \s-1AFS\s0 \f(CW\*(C`a\*(C'\fR (administer), and there
+is no \s-1DFS\s0 equivalent to the \s-1AFS\s0 \f(CW\*(C`k\*(C'\fR (lock) permission. The meanings of
+the various permissions also differ slightly, and \s-1DFS\s0 does not implement
+negative permissions. For a complete description of \s-1DFS\s0 permissions, see
+the \s-1DFS\s0 documentation and the \fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit
+Administration Guide and Reference\fR.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the \s-1ACL\s0 on the home directory of the user
+\&\f(CW\*(C`pat\*(C'\fR (the current working directory), and on its \f(CW\*(C`private\*(C'\fR
+subdirectory.
+.PP
+.Vb 11
+\& % fs listacl \-path . private
+\& Access list for . is
+\& Normal rights:
+\& system:authuser rl
+\& pat rlidwka
+\& pat:friends rlid
+\& Negative rights:
+\& smith rlidwka
+\& Access list for private is
+\& Normal rights:
+\& pat rlidwka
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+If the \fB\-path\fR argument names an \s-1AFS\s0 directory, the issuer must have the
+\&\f(CW\*(C`l\*(C'\fR (lookup) permission on its \s-1ACL\s0 and the \s-1ACL\s0 for every directory that
+precedes it in the pathname.
+.PP
+If the \fB\-path\fR argument names an \s-1AFS\s0 file, the issuer must have the \f(CW\*(C`l\*(C'\fR
+(lookup) and \f(CW\*(C`r\*(C'\fR (read) permissions on the \s-1ACL\s0 of the file's directory,
+and the \fBl\fR permission on the \s-1ACL\s0 of each directory that precedes it in
+the pathname.
+.PP
+If the \fB\-path\fR argument names a \s-1DFS\s0 directory or file, the issuer must
+have the \f(CW\*(C`x\*(C'\fR (execute) permission on its \s-1ACL\s0 and on the \s-1ACL\s0 of each
+directory that precedes it in the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_cleanacl\fR\|(1),
+\&\fIfs_copyacl\fR\|(1),
+\&\fIfs_setacl\fR\|(1)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit Administration Guide and Reference\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_LISTALIASES 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_LISTALIASES 1"
++.TH FS_LISTALIASES 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_listaliases \- Displays the current list of aliases for AFS cells
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs listaliases\fR [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs listaliases\fR command shows the list of cell aliases currently in
+effect, both from \fICellAlias\fR and created using \fBfs newalias\fR. Cell
+aliases can only be used when the using a Dynamic Root (the \fB\-dynroot\fR
+option to \fBafsd\fR).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If an alias \f(CW\*(C`openafs\*(C'\fR exists for the cell \f(CW\*(C`openafs.org\*(C'\fR, the output
+include the following line:
+.PP
+.Vb 1
+\& Alias openafs for cell openafs.org
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+There is only one way to invoke \fBfs listaliases\fR:
+.PP
+.Vb 1
+\& % fs listaliases
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+No special priviledges are required for this command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fICellAlias\fR\|(5),
+\&\fIfs_newalias\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_LISTCELLS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_LISTCELLS 1"
++.TH FS_LISTCELLS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_listcells \- Displays the database server machines known to the Cache Manager
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs listcells\fR [\fB\-numeric\fR] [\fB\-help\fR]
+.PP
+\&\fBfs listc\fR [\fB\-n\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs listcells\fR command formats and displays the list of the database
+server machines that the Cache Manager stores in kernel memory for its
+home cell and foreign cells.
+.PP
+At each reboot of the client machine, the Cache Manager copies the
+contents of \fI/usr/vice/etc/CellServDB\fR into kernel memory. To modify the
+list between reboots, use the \fBfs newcell\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-numeric\fR" 4
+.IX Item "-numeric"
+Displays each database server machine's \s-1IP\s0 address rather than hostname.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes a line for each cell included in the Cache Manager's
+kernel memory list, in the following format:
+.PP
+.Vb 1
+\& Cell <cell> on hosts <database server machines>
+.Ve
+.PP
+The Cache Manager stores \s-1IP\s0 addresses, but by default has them translated
+to hostnames before reporting them, by passing them to the cell's name
+service (such as the Domain Name Service or a local host table). The name
+service sometimes returns hostnames in uppercase letters, or an \s-1IP\s0 address
+if it cannot resolve a name.
+.PP
+Using the \fB\-numeric\fR flag bypasses the translation to hostnames, which
+can result in significantly faster production of output. The output
+includes \s-1IP\s0 addresses only.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows output for several cells as illustrations of
+the different formats for machine names:
+.PP
+.Vb 5
+\& % fs listcells
+\& Cell abc.com on hosts fs1.abc.com fs2.abc.com fs3.abc.com
+\& Cell stateu.edu on hosts DB1.FS.STATEU.EDU
+\& DB2.FS.STATEU.EDU DB3.FS.STATEU.EDU
+\& Cell def.gov on hosts 138.255.0.2 sv3.def.gov
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIfs_newcell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_LISTQUOTA 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_LISTQUOTA 1"
++.TH FS_LISTQUOTA 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_listquota \- Displays quota information for a volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs listquota\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs listq\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.PP
+\&\fBfs lq\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs listquota\fR command displays information about the volume
+containing each specified directory or file (its name, quota, and amount
+of disk space used), along with an indicator of the percentage of space
+used on the host partition.
+.PP
+To display more information about the host partition, use the \fBfs
+examine\fR command.
+.PP
+To set volume quota, use the \fBfs setquota\fR or \fBfs setvol\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names a file or directory that resides in the volume about which to
+produce output. Partial pathnames are interpreted relative to the current
+working directory, which is also the default value if this argument is
+omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output displays information about the volume that houses each
+specified directory or file, in a tabular format that uses the following
+headers:
+.IP "Volume Name" 4
+.IX Item "Volume Name"
+The name of the volume.
+.IP "Quota" 4
+.IX Item "Quota"
+The volume's quota in kilobytes, or the string \f(CW\*(C`no limit\*(C'\fR to indicate an
+unlimited quota.
+.IP "Used" 4
+.IX Item "Used"
+The number of kilobytes of quota used.
+.IP "% Used" 4
+.IX Item "% Used"
+The percentage of the volume's quota that is used (the \f(CW\*(C`Used\*(C'\fR statistic
+divided by the \f(CW\*(C`Quota\*(C'\fR statistic, times 100).
+.IP "Partition" 4
+.IX Item "Partition"
+The percentage of space used on the partition that houses the
+volume. Although not directly related to how much of the user's quota is
+used, it is reported because a full partition can cause writing of data
+back to the volume to fail even when the volume has not reached its quota.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output for the volume \f(CW\*(C`user.smith\*(C'\fR:
+.PP
+.Vb 3
+\& % fs listquota \-path /afs/abc.com/usr/smith
+\& Volume Name Quota Used % Used Partition
+\& user.smith 15000 5071 34% 86%
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (lookup) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and \f(CW\*(C`l\*(C'\fR (list) permission on the \s-1ACL\s0 of each
+directory that precedes it in the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_diskfree\fR\|(1),
+\&\fIfs_examine\fR\|(1),
+\&\fIfs_quota\fR\|(1),
+\&\fIfs_setquota\fR\|(1),
+\&\fIfs_setvol\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_LSMOUNT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_LSMOUNT 1"
++.TH FS_LSMOUNT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_lsmount \- Reports the volume for which a directory is the mount point.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs lsmount\fR \fB\-dir\fR\ <\fIdirectory\fR>+ [\fB\-help\fR]
+.PP
+\&\fBfs\ ls\ \-d\fR\ <\fIdirectory\fR>+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs lsmount\fR command reports the volume for which each specified
+directory is a mount point, or indicates with an error message that a
+directory is not a mount point or is not in \s-1AFS\s0.
+.PP
+To create a mount point, use the \fBfs mkmount\fR command. To remove one, use
+the \fBfs rmmount\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dir\fR <\fIdirectory\fR>+" 4
+.IX Item "-dir <directory>+"
+Names the directory that serves as a mount point for a volume. The last
+element in the pathname provided must be an actual name, not a shorthand
+notation such as one or two periods (\f(CW\*(C`.\*(C'\fR or \f(CW\*(C`..\*(C'\fR).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options
+are ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the specified directory is a mount point, the output is of the
+following form:
+.PP
+.Vb 1
+\& \*(Aq<directory>\*(Aq is a mount point for volume \*(Aq<volume name>\*(Aq
+.Ve
+.PP
+where
+.IP "\(bu" 4
+A number sign (\f(CW\*(C`#\*(C'\fR) precedes the <volume name> string for a regular mount
+point.
+.IP "\(bu" 4
+A percent sign (\f(CW\*(C`%\*(C'\fR) precedes the <volume name> string for a read/write
+mount point.
+.IP "\(bu" 4
+A cell name and colon (\f(CW\*(C`:\*(C'\fR) follow the number or percent sign and precede
+the <volume name> string for a cellular mount point.
+.PP
+The \fBfs mkmount\fR reference page explains how the Cache Manager interprets
+each of the three types of mount points.
+.PP
+If the directory is a symbolic link to a mount point, the output is of the
+form:
+.PP
+.Vb 2
+\& \*(Aq<directory>\*(Aq is a symbolic link, leading to a mount point for volume
+\& \*(Aq<volume name>\*(Aq
+.Ve
+.PP
+If the directory is not a mount point or is not in \s-1AFS\s0, the output reads:
+.PP
+.Vb 1
+\& \*(Aq<directory>\*(Aq is not a mount point.
+.Ve
+.PP
+If the output is garbled, it is possible that the mount point has become
+corrupted in the local \s-1AFS\s0 client cache. Use the \fBfs flushmount\fR command
+to discard it, which forces the Cache Manager to refetch the mount point.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the mount point for the home directory of user
+\&\f(CW\*(C`smith\*(C'\fR:
+.PP
+.Vb 2
+\& % fs lsmount /afs/abc.com/usr/smith
+\& \*(Aq/afs/abc.com/usr/smith\*(Aq is a mount point for volume \*(Aq#user.smith\*(Aq
+.Ve
+.PP
+The following example shows both the regular and read/write mount points
+for the \s-1ABC\s0 Corporation cell's \f(CW\*(C`root.cell\*(C'\fR volume.
+.PP
+.Vb 2
+\& % fs lsmount /afs/abc.com
+\& \*(Aq/afs/abc.com\*(Aq is a mount point for volume \*(Aq#root.cell\*(Aq
+\&
+\& % fs lsmount /afs/.abc.com
+\& \*(Aq/afs/.abc.com\*(Aq is a mount point for volume \*(Aq%root.cell\*(Aq
+.Ve
+.PP
+The following example shows a cellular mount point: the State University
+cell's \f(CW\*(C`root.cell\*(C'\fR volume as mounted in the \s-1ABC\s0 Corporation cell's tree.
+.PP
+.Vb 2
+\& % fs lsmount /afs/stateu.edu
+\& \*(Aq/afs/stateu.edu\*(Aq is a mount point for volume \*(Aq#stateu.edu:root.cell\*(Aq
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (lookup) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-dir\fR argument, and on the \s-1ACL\s0 of each directory that precedes it in the
+pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_flushmount\fR\|(1),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIfs_rmmount\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_MEMDUMP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_MEMDUMP 1"
++.TH FS_MEMDUMP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_memdump \- Dump AFS cache state and memory allocations
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs memdump\fR [\fB\-begin\fR|\fB\-end\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This command dumps the state of \s-1AFS\s0 cache manager objects and statistics.
+If a checked build of the C run-time library is in use, memory allocations
+will also be included.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is only available on Windows.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+(One of either \fB\-begin\fR or \fB\-end\fR must be specified.)
+.IP "\fB\-begin\fR" 4
+.IX Item "-begin"
+Set a memory checkpoint.
+.IP "\fB\-end\fR" 4
+.IX Item "-end"
+Create a dump-file containing information about memory allocation that has
+taken place since the \fB\-begin\fR command was issued.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If successful, the output of this command (for \fB\-begin\fR \fIor\fR \fB\-end\fR)
+will be:
+.PP
+.Vb 1
+\& AFS memdump created
+.Ve
+.PP
+If unsuccessful:
+.PP
+.Vb 1
+\& AFS memdump failed
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command starts a memory allocation dump:
+.PP
+.Vb 1
+\& % fs memdump \-begin
+.Ve
+.PP
+The following command ends it:
+.PP
+.Vb 1
+\& % fs memdump \-end
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be have \s-1AFS\s0 Client Administrator access to issue this
+command.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+This document was written by Mike Robinson, and is released under the \s-1IBM\s0
+Public License Version 1.0.
--- /dev/null
- .TH FS_MESSAGES 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_MESSAGES 1"
++.TH FS_MESSAGES 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_messages \- Sets whether the Cache Manager writes log messages
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs messages\fR [\fB\-show\fR\ (user|console|all|none)] [\fB\-help\fR]
+.PP
+\&\fBfs me\fR [\fB\-s\fR\ (user|console|all|none)] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs messages\fR command controls whether the Cache Manager displays
+status and warning messages on user screens, the client machine console,
+on both, or on neither.
+.PP
+There are two types of Cache Manager messages:
+.IP "\(bu" 4
+User messages provide user-level status and warning information, and the
+Cache Manager directs them to user screens.
+.IP "\(bu" 4
+Console messages provide system-level status and warning information, and
+the Cache Manager directs them to the client machine's designated console.
+.PP
+Disabling messaging completely is not recommended, because the messages
+provide useful status and warning information.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-show\fR (user|console|all|none)" 4
+.IX Item "-show (user|console|all|none)"
+Specifies the types of messages to display. Choose one of the following
+values:
+.RS 4
+.IP "user" 4
+.IX Item "user"
+Send user messages to user screens.
+.IP "console" 4
+.IX Item "console"
+Send console messages to the console.
+.IP "all" 4
+.IX Item "all"
+Send user messages to user screens and console messages to the console
+(the default if the \fB\-show\fR argument is omitted).
+.IP "none" 4
+.IX Item "none"
+Do not send any messages to user screens or the console.
+.RE
+.RS 4
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command instructs the Cache Manager to display both types of
+messages:
+.PP
+.Vb 1
+\& % fs messages \-show all
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_MINIDUMP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_MINIDUMP 1"
++.TH FS_MINIDUMP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_minidump \- Generate a minidump from the current afsd service
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs minidump\fR [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBfs minidump\fR generates a mini dump file containing the current stack
+of the afsd_service.exe process. This output can be very helpful when
+debugging the \s-1AFS\s0 Client Service when it is unresponsive to \s-1SMB/CIFS\s0
+requests.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is only available in OpenAFS for Windows version 1.4 and later.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_MKMOUNT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_MKMOUNT 1"
++.TH FS_MKMOUNT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_mkmount \- Creates a mount point for a volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs mkmount\fR \fB\-dir\fR\ <\fIdirectory\fR> \fB\-vol\fR\ <\fIvolume\ name\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-rw\fR] [\fB\-fast\fR] [\fB\-help\fR]
+.PP
+\&\fBfs mk\fR \fB\-d\fR\ <\fIdirectory\fR> \fB\-v\fR\ <\fIvolume\ name\fR>
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-r\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs mkmount\fR command creates a mount point for the volume named by
+the \fB\-vol\fR argument at the location in the \s-1AFS\s0 file space specified by
+the \fB\-dir\fR argument. The mount point looks like a standard directory
+element, and serves as the volume's root directory, but is actually a
+special file system object that refers to an \s-1AFS\s0 volume. When the Cache
+Manager first encounters a given mount point during pathname traversal, it
+contacts the \s-1VL\s0 Server to learn which file server machines house the
+indicated volume, then fetches a copy of the volume's root directory from
+the appropriate file server machine.
+.PP
+It is possible, although not recommended, to create more than one mount
+point to a volume. The Cache Manager can become confused if a volume is
+mounted in two places along the same path through the filespace.
+.PP
+The Cache Manager observes three basic rules as it traverses the \s-1AFS\s0
+filespace and encounters mount points:
+.IP "Rule 1: Access Backup and Read-only Volumes When Specified" 4
+.IX Item "Rule 1: Access Backup and Read-only Volumes When Specified"
+When the Cache Manager encounters a mount point that specifies a volume
+with either a \f(CW\*(C`.readonly\*(C'\fR or a \f(CW\*(C`.backup\*(C'\fR extension, it accesses that
+type of volume only. If a mount point does not have either a \f(CW\*(C`.backup\*(C'\fR or
+\&\f(CW\*(C`.readonly\*(C'\fR extension, the Cache Manager uses Rules 2 and 3.
+.Sp
+For example, the Cache Manager never accesses the read/write version of a
+volume if the mount point names the backup version. If the specified
+version is inaccessible, the Cache Manager reports an error.
+.IP "Rule 2: Follow the Read-only Path When Possible" 4
+.IX Item "Rule 2: Follow the Read-only Path When Possible"
+If a mount point resides in a read-only volume and the volume that it
+references is replicated, the Cache Manager attempts to access a read-only
+copy of the volume; if the referenced volume is not replicated, the Cache
+Manager accesses the read/write copy. The Cache Manager is thus said to
+prefer a \fIread-only path\fR through the filespace, accessing read-only
+volumes when they are available.
+.Sp
+The Cache Manager starts on the read-only path in the first place because
+it always accesses a read-only copy of the \fBroot.afs\fR volume if it
+exists; the volume is mounted at the root of a cell's \s-1AFS\s0 filespace (named
+\&\fI/afs\fR by convention). That is, if the \f(CW\*(C`root.afs\*(C'\fR volume is replicated,
+the Cache Manager attempts to access a read-only copy of it rather than
+the read/write copy. This rule then keeps the Cache Manager on a read-only
+path as long as each successive volume is replicated. The implication is
+that both the \f(CW\*(C`root.afs\*(C'\fR and \f(CW\*(C`root.cell\*(C'\fR volumes must be replicated for
+the Cache Manager to access replicated volumes mounted below them in the
+\&\s-1AFS\s0 filespace. The volumes are conventionally mounted at the \fI/afs\fR and
+\&\fI/afs/\fIcellname\fI\fR directories, respectively.
+.IP "Rule 3: Once on a Read/write Path, Stay There" 4
+.IX Item "Rule 3: Once on a Read/write Path, Stay There"
+If a mount point resides in a read/write volume and the volume name does
+not have a \f(CW\*(C`.readonly\*(C'\fR or a \f(CW\*(C`.backup\*(C'\fR extension, the Cache Manager
+attempts to access only the a read/write version of the volume. The access
+attempt fails with an error if the read/write version is inaccessible,
+even if a read-only version is accessible. In this situation the Cache
+Manager is said to be on a \fIread/write path\fR and cannot switch back to
+the read-only path unless mount point explicitly names a volume with a
+\&\f(CW\*(C`.readonly\*(C'\fR extension. (Cellular mount points are an important exception
+to this rule, as explained in the following discussion.
+.PP
+There are three types of mount points, each appropriate for a different
+purpose because of the manner in which the Cache Manager interprets them.
+.IP "\(bu" 4
+When the Cache Manager crosses a \fIregular\fR mount point, it obeys all
+three of the mount point traversal rules previously described. To create a
+regular mount point, include only the required \fB\-dir\fR and \fB\-vol\fR
+arguments to the \fBfs mkmount\fR command.
+.IP "\(bu" 4
+When the Cache Manager crosses a \fIread/write\fR mount point, it attempts to
+access only the volume version named in the mount point. If the volume
+name is the base (read/write) form, without a \f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR
+extension, the Cache Manager accesses the read/write version of the
+volume, even if it is replicated. In other words, the Cache Manager
+disregards the second mount point traversal rule when crossing a
+read/write mount point: it switches to the read/write path through the
+filespace.
+.Sp
+To create a read/write mount point, include the \fB\-rw\fR flag on the \fBfs
+mkmount\fR command. It is conventional to create only one read/write mount
+point in a cell's filespace, using it to mount the cell's \f(CW\*(C`root.cell\*(C'\fR
+volume just below the \s-1AFS\s0 filespace root (by convention,
+\&\fI/afs/.\fIcellname\fI\fR). See the \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR for
+instructions and the chapter about volume management in the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR for further discussion.
+.Sp
+Creating a read/write mount point for a read-only or backup volume is
+acceptable, but unnecessary. The first rule of mount point traversal
+already specifies that the Cache Manager accesses them if the volume name
+in a regular mount point has a \f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR extension.
+.IP "\(bu" 4
+When the Cache Manager crosses a \fIcellular\fR mount point, it accesses the
+indicated volume in the specified cell, which is normally a foreign
+cell. (If the mount point does not name a cell along with the volume, the
+Cache Manager accesses the volume in the cell where the mount point
+resides.) The Cache Manager disregards the third mount point traversal
+rule when crossing a regular cellular mount point: it accesses a read-only
+version of the volume if it is replicated, even if the volume that houses
+the mount point is read/write. Switching to the read-only path in this way
+is designed to avoid imposing undue load on the file server machines in
+foreign cells.
+.Sp
+To create a regular cellular mount point, include the \fB\-cell\fR argument on
+the \fBfs mkmount\fR command. It is conventional to create cellular mount
+points only at the second level in a cell's filespace, using them to mount
+foreign cells' \fBroot.cell\fR volumes just below the \s-1AFS\s0 filespace root (by
+convention, at \fI/afs/\fIforeign_cellname\fI\fR). The mount point enables local
+users to access the foreign cell's filespace, assuming they have the
+necessary permissions on the \s-1ACL\s0 of the volume's root directory and that
+there is an entry for the foreign cell in each local client machine's
+\&\fI/usr/vice/etc/CellServDB\fR file. In the output of the \fBfs lsmount\fR
+command, the cell name and a colon (\f(CW\*(C`:\*(C'\fR) appear between the initial
+number sign and the volume name in a regular cellular mount point name.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dir\fR <\fIdirectory\fR>+" 4
+.IX Item "-dir <directory>+"
+Names the directory to create as a mount point. The directory must not
+already exist. Relative pathnames are interpreted with respect to the
+current working directory.
+.Sp
+Specify the read/write path to the directory, to avoid the failure that
+results from attempting to create a new mount point in a read-only
+volume. By convention, the read/write path is indicated by placing a
+period before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see \s-1DESCRIPTION\s0.
+.IP "\fB\-vol\fR <\fIvolume name\fR>" 4
+.IX Item "-vol <volume name>"
+Specifies the name or volume \s-1ID\s0 number of the volume to mount. If
+appropriate, add the \f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR extension to the name, or
+specify the appropriate volume \s-1ID\s0 number.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which the volume resides (creates a cellular mount
+point). Provide the fully qualified domain name, or a shortened form that
+disambiguates it from the other cells listed in the local
+\&\fI/usr/vice/etc/CellServDB\fR file.
+.Sp
+If this argument is omitted, no cell indicator appears in the mount
+point. When the Cache Manager interprets it, it assumes that the volume
+named in the mount point resides in the same cell as the volume that
+houses the mount point.
+.IP "\fB\-rw\fR" 4
+.IX Item "-rw"
+Creates a read/write mount point. Omit this flag to create a regular mount
+point.
+.IP "\fB\-fast\fR" 4
+.IX Item "-fast"
+Prevents the Volume Location (\s-1VL\s0) Server from checking that the volume has
+a \s-1VLDB\s0 entry and printing a warning message if it does not. Whether or not
+this flag is included, the File Server creates the mount point even when
+the volume has no \s-1VLDB\s0 entry.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command creates a regular mount point, mounting the volume
+\&\f(CW\*(C`user.smith\*(C'\fR at \fI/afs/abc.com/usr/smith\fR:
+.PP
+.Vb 2
+\& % cd /afs/abc.com/usr
+\& % fs mkmount \-dir smith \-vol user.smith
+.Ve
+.PP
+The following commands create a read/write mount point and a regular mount
+point for the \s-1ABC\s0 Corporation cell's \f(CW\*(C`root.cell\*(C'\fR volume in that cell's
+file tree. The second command follows the convention of putting a period
+at the beginning of the read/write mount point's name.
+.PP
+.Vb 2
+\& % fs mkmount \-dir /afs/abc.com \-vol root.cell
+\& % fs mkmount \-dir /afs/.abc.com \-vol root.cell \-rw
+.Ve
+.PP
+The following command mounts the State University cell's \f(CW\*(C`root.cell\*(C'\fR
+volume in the \s-1ABC\s0 Corporation cell's file tree, creating a regular
+cellular mount point called \fI/afs/stateu.edu\fR. When a \s-1ABC\s0 Corporation
+Cache Manager encounters this mount point, it crosses into the State
+University cell on a read-only path.
+.PP
+.Vb 1
+\& % fs mkmount \-dir /afs/stateu.edu \-vol root.cell \-c stateu.edu
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`i\*(C'\fR (insert) and \f(CW\*(C`a\*(C'\fR (administer) permissions
+on the \s-1ACL\s0 of the directory that is to house the mount point.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIfs_lsmount\fR\|(1),
+\&\fIfs_rmmount\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_MONITOR 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_MONITOR 1"
++.TH FS_MONITOR 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_monitor \- Enable client logging to a remote monitoring station
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs monitor\fR [\fB\-server\fR\ <\fIhostname/IP\ address\ or\ 'off'\fR>] [\fB\-help\fR]
+.PP
+\&\fBfs mariner\fR [\fB\-server\fR\ <\fIhostname/IP\ address\ or\ 'off'\fR>] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs monitor\fR command (aka \fBmariner\fR) sets the cache monitor host
+address (or turns it off).
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is hidden since the necessary remote monitoring component,
+\&\fBvenusmon\fR, is not part of OpenAFS. This system is not currently
+distributed or supported.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIhostname/IP address or 'off'\fR>" 4
+.IX Item "-server <hostname/IP address or 'off'>"
+Name (or address) of the \fBvenusmon\fR host that monitoring information
+should be sent to. Setting the server to \fIoff\fR turns off monitoring.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be super-user on the local machine.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2009 Steven Jenkins <steven@endpoint.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Steven Jenkins for
+OpenAFS.
--- /dev/null
- .TH FS_NEWALIAS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_NEWALIAS 1"
++.TH FS_NEWALIAS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_newalias \- Creates a new alias for a cell
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs newalias\fR [\fB\-alias\fR]\ <\fIalias\ name\fR>
+ [\fB\-name\fR]\ <\fIcell\ name\fR> [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs newalias\fR command is used when the \s-1AFS\s0 Cache Manager is in
+Dynamic Root (\fB\-dynroot\fR) mode. It creates a symbolic link in \fI/afs\fR
+from an alias to the full name of the cell. It also creates a symbolic
+link from the alias prepended with \f(CW\*(C`.\*(C'\fR to the full name of the cell
+prepended with \f(CW\*(C`.\*(C'\fR, the convention for access to the read/write version
+of the \f(CW\*(C`root.cell\*(C'\fR volume of that cell.
+.PP
+This command is used to supplement aliases created via the \fICellAlias\fR
+configuration file when \fBafsd\fR starts.
+.PP
+Traditionally, these aliases would be created by the local \s-1AFS\s0
+administrator by creating symbolic links in the \f(CW\*(C`root.afs\*(C'\fR volume. Such
+symlinks do not appear when Dynamic Root is enabled because, with Dynamic
+Root, the Cache Manager does not mount or look at the \f(CW\*(C`root.afs\*(C'\fR
+volume. This alias capability is a replacement that allows such short
+names to be created under client control.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Aliases created with \fBfs newcell\fR are only temporary and will be lost
+when the \s-1AFS\s0 Cache Manager is restarted or the client machine is
+rebooted. In order to make the alias permanent, it must be put into the
+\&\fICellAlias\fR file.
+.PP
+There is no way to remove an alias once created without restarting the
+\&\s-1AFS\s0 Cache Manager.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-alias\fR <\fIalias name\fR>" 4
+.IX Item "-alias <alias name>"
+This is the short name to which the user wants to map the real cell name.
+.IP "\fB\-name\fR <\fIcell name\fR>" 4
+.IX Item "-name <cell name>"
+This is the real cell name.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command has no output.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+There are two ways to call \fBfs newalias\fR:
+.PP
+.Vb 2
+\& % fs newalias openafs openafs.org
+\& % fs newalias \-alias openafs \-name openafs.org
+.Ve
+.PP
+Both of the above examples create an alias \f(CW\*(C`openafs\*(C'\fR for the cell
+\&\f(CW\*(C`openafs.org\*(C'\fR. Two links wil be created in \fI/afs\fR:
+.PP
+.Vb 2
+\& /afs/openafs \-> /afs/openafs.org
+\& /afs/.openafs \-> /afs/.openafs.org
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fICellAlias\fR\|(5),
+\&\fIfs_listaliases\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_NEWCELL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_NEWCELL 1"
++.TH FS_NEWCELL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_newcell \- Changes the kernel\-resident list of a cell's database servers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs newcell\fR \fB\-name\fR\ <\fIcell\ name\fR> \-servers <\fIprimary servers\fR>+
+ [\fB\-linkedcell\fR\ <\fIlinked\ cell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBfs n\fR \fB\-n\fR\ <\fIcell\ name\fR> \fB\-s\fR\ <\fIprimary\ servers\fR>+
+ [\fB\-l\fR\ <\fIlinked\ cell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs newcell\fR command removes the Cache Manager's kernel-resident list
+of database server machines for the cell specified by the \fB\-name\fR
+argument and replaces it with the database server machines named by the
+\&\fB\-servers\fR argument.
+.PP
+Each time the machine reboots, the Cache Manager constructs the kernel
+list of cells and database server machines by reading the local
+\&\fI/usr/vice/etc/CellServDB\fR file. This command does not change the
+\&\fICellServDB\fR file, so any changes made with it persist only until the
+next reboot, unless the issuer also edits the file. The output of the \fBfs
+listcells\fR command reflects changes made with this command, because that
+command consults the kernel-resident list rather than the \fICellServDB\fR
+file.
+.PP
+This command can introduce a completely new cell into the kernel-resident
+list, but cannot make a cell inaccessible (it is not possible to remove a
+cell's entry from the kernel-resident list by providing no values for the
+\&\fB\-server\fR argument). To make a cell inaccessible, remove its entry from
+the \fICellServDB\fR file and reboot the machine.
+.PP
+If the \fB\-name\fR argument names a \s-1DCE\s0 cell, then the \fB\-servers\fR argument
+names \s-1DFS\s0 Fileset Location (\s-1FL\s0) Server machines. The \fB\-linkedcell\fR
+argument specifies the name of the \s-1AFS\s0 cell to link to a \s-1DCE\s0 cell for the
+purpose of \s-1DFS\s0 fileset location. Refer to the \fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration
+Toolkit Administration Guide and Reference\fR for more information on
+linking \s-1AFS\s0 clients to \s-1DCE\s0 cells using this command or by editing the
+\&\fI/usr/vice/etc/CellServDB\fR file.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Some commands, such as the \fBklog\fR command, work correctly only when the
+information is accurate for a cell in both the \fICellServDB\fR file and the
+kernel-resident list.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIcell name\fR>" 4
+.IX Item "-name <cell name>"
+Specifies the fully-qualified cell name of the \s-1AFS\s0 or \s-1DCE\s0 cell.
+.IP "\fB\-servers\fR <\fIprimary servers\fR>+" 4
+.IX Item "-servers <primary servers>+"
+Specifies the fully-qualified hostnames of all \s-1AFS\s0 database server
+machines or \s-1DFS\s0 Fileset Location (\s-1FL\s0) Server machines for the cell named
+by the \fB\-name\fR argument. If \s-1FL\s0 Server machines are specified, the local
+machine must be running the \s-1AFS/DFS\s0 Migration Toolkit Protocol Translator.
+.IP "\fB\-linkedcell\fR <\fIlinked cell name\fR>" 4
+.IX Item "-linkedcell <linked cell name>"
+Specifies the name of the \s-1AFS\s0 cell to link to a \s-1DCE\s0 cell for the purpose
+of \s-1DFS\s0 fileset location.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example changes the machine's kernel-resident list of
+database server machines for the \s-1ABC\s0 Corporation cell to include the
+machines \f(CW\*(C`db1.abc.com\*(C'\fR and \f(CW\*(C`db2.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % fs newcell \-name abc.com \-servers db1.abc.com db2.abc.com
+.Ve
+.PP
+The following example links the \s-1DCE\s0 cell \f(CW\*(C`dce.abc.com\*(C'\fR to the \s-1AFS\s0 cell
+\&\f(CW\*(C`abc.com\*(C'\fR. The \s-1AFS\s0 client contacts the Fileset Location (\s-1FL\s0) servers
+\&\f(CW\*(C`db1.dce.abc.com\*(C'\fR and \f(CW\*(C`db2.dce.abc.com\*(C'\fR for fileset location information
+as it interprets a \s-1DFS\s0 pathname.
+.PP
+.Vb 3
+\& % fs newcell \-name dce.abc.com \e
+\& \-servers db1.dce.abc.com db2.dce.abc.com \e
+\& \-linkedcell abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIfs_listcells\fR\|(1)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit Administration Guide and Reference\fR
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit Administration Installation and
+Configuration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_QUOTA 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_QUOTA 1"
++.TH FS_QUOTA 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_quota \- Displays the quota used in the volume containing a directory or file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs quota\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs q\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs quota\fR command displays the percent of quota consumed in the
+volume that contains each specified directory or file.
+.PP
+To display more detailed information about the volume and the partition it
+resides on, use the \fBfs examine\fR and \fBfs listquota\fR commands.
+.PP
+To set volume quota, use the \fBfs setquota\fR or \fBfs setvol\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>" 4
+.IX Item "-path <dir/file path>"
+Names each file or directory for which to display the quota consumed in
+its parent volume. Partial pathnames are interpreted relative to the
+current working directory, which is also the default value if this
+argument is omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output reports the percent of volume quota used, in the following
+format:
+.PP
+.Vb 1
+\& <percent>% of quota used.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists the percent quota used of the volume housing
+the current working directory:
+.PP
+.Vb 2
+\& % fs quota
+\& 17% of quota used.
+.Ve
+.PP
+The following command lists the percent quota used of both the volume
+housing the current working directory's parent directory and the volume
+housing the directory \fI/afs/abc.com/usr/smith\fR:
+.PP
+.Vb 3
+\& % fs quota \-path .. /afs/abc.com/usr/smith
+\& 43% of quota used.
+\& 92% of quota used.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`r\*(C'\fR (read) permission on the \s-1ACL\s0 of the root
+directory of the volume that houses the file or directory named by the
+\&\fB\-path\fR argument, and \f(CW\*(C`l\*(C'\fR (list) permission on the \s-1ACL\s0 of each
+directory that precedes it in the pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_examine\fR\|(1),
+\&\fIfs_listquota\fR\|(1),
+\&\fIfs_setquota\fR\|(1),
+\&\fIfs_setvol\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_RMMOUNT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_RMMOUNT 1"
++.TH FS_RMMOUNT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_rmmount \- Removes a mount point
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs rmmount\fR \fB\-dir\fR\ <\fIdirectory\fR>+ [\fB\-help\fR]
+.PP
+\&\fBfs rm\fR \fB\-d\fR\ <\fIdirectory\fR>+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The fs rmmount command removes the mount point named by the \fB\-dir\fR
+argument from the file system. The corresponding volume remains on its
+host partition or partitions, but is inaccessible if there are no other
+mount points for it.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dir\fR <\fIdirectory\fR>+" 4
+.IX Item "-dir <directory>+"
+Names the mount point to delete from the file system. The last element in
+the pathname must be an actual name, not a shorthand notation such as
+\&\*(L"dot\*(R" (\f(CW\*(C`.\*(C'\fR) or \*(L"dot dot\*(R" (\f(CW\*(C`..\*(C'\fR).
+.Sp
+Specify the read/write path to the directory, to avoid the failure that
+results from attempting to delete a mount point from a read-only
+volume. By convention, the read/write path is indicated by placing a
+period before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the \fBfs mkmount\fR reference
+page.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the mount points \fIjones\fR and \fIterry\fR from
+the current working directory (the \fI/afs/abc.com/usr\fR directory).
+.PP
+.Vb 1
+\& % fs rmmount jones terry
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`d\*(C'\fR (delete) permission on the \s-1ACL\s0 of the
+directory that houses each mount point.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_lsmount\fR\|(1),
+\&\fIfs_mkmount\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_RXSTATPEER 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_RXSTATPEER 1"
++.TH FS_RXSTATPEER 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_rxstatpeer \- Manage per\-peer Rx statistics collection
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs rxstatpeer\fR [\fB\-clear\fR] [\fB\-disable\fR] [\fB\-enable\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBfs rxstatpeer\fR manipulates some of the Rx protocol counters in the
+OpenAFS kernel interface.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-clear\fR" 4
+.IX Item "-clear"
+Clear the Rx stats for peers in the kernel module.
+.IP "\fB\-disable\fR" 4
+.IX Item "-disable"
+Disable logging of Rx stats for peers in the kernel module.
+.IP "\fB\-enable\fR" 4
+.IX Item "-enable"
+Enable logging of Rx stats for peers in the kernel module.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output other than error messages.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Enable Rx Stats for peers:
+.PP
+.Vb 1
+\& % fs rxstatpeer \-enable
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1),
+\&\fIfs_rxstatproc\fR\|(1),
+\&\fIrxdebug\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_RXSTATPROC 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_RXSTATPROC 1"
++.TH FS_RXSTATPROC 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_rxstatproc \- Manage per\-process Rx statistics collection
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs rxstatproc\fR [\fB\-enable\fR] [\fB\-disable\fR] [\fB\-clear\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This command enables or disables the updating of \s-1RPC\s0 statistics counters
+related to the entire \s-1RX\s0 process, or sets the accumulated counter values
+back to zero.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+One or more of the following options must be specified:
+.IP "\fB\-enable\fR" 4
+.IX Item "-enable"
+Enable the collection of process \s-1RPC\s0 statistics
+.IP "\fB\-disable\fR" 4
+.IX Item "-disable"
+Enable the collection of process \s-1RPC\s0 statistics
+.IP "\fB\-clear\fR" 4
+.IX Item "-clear"
+Resets all trace counters to zero.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output other than error-messages.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command starts collecting statistics:
+.PP
+.Vb 1
+\& % fs rxstatproc \-enable
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1),
+\&\fIfs_rxstatpeer\fR\|(1),
+\&\fIrxdebug\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008. This documentation is covered by the \s-1BSD\s0 License as
+written in the doc/LICENSE file. This man page was written by Mike
+Robinson (mike@endpoint.com) for OpenAFS.
--- /dev/null
- .TH FS_SETACL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETACL 1"
++.TH FS_SETACL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setacl \- Sets the ACL for a directory
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setacl\fR \fB\-dir\fR\ <\fIdirectory\fR>+ \fB\-acl\fR\ <\fIaccess\ list\ entries\fR>+
+ [\fB\-clear\fR] [\fB\-negative\fR] [\fB\-id\fR] [\fB\-if\fR] [\fB\-help\fR]
+.PP
+\&\fBfs sa\fR \fB\-d\fR\ <\fIdirectory\fR>+ \fB\-a\fR\ <\fIaccess\ list\ entries\fR>+
+ [\fB\-c\fR] [\fB\-n\fR] [\fB\-id\fR] [\fB\-if\fR] [\fB\-h\fR]
+.PP
+\&\fBfs seta\fR \fB\-d\fR\ <\fIdirectory\fR>+ \fB\-a\fR\ <\fIaccess\ list\ entries\fR>+
+ [\fB\-c\fR] [\fB\-n\fR] [\fB\-id\fR] [\fB\-if\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setacl\fR command adds the access control list (\s-1ACL\s0) entries
+specified with the \fB\-acl\fR argument to the \s-1ACL\s0 of each directory named by
+the \fB\-dir\fR argument.
+.PP
+If the \fB\-dir\fR argument designates a pathname in \s-1DFS\s0 filespace (accessed
+via the \s-1AFS/DFS\s0 Migration Toolkit Protocol Translator), it can be a file
+as well as a directory. The \s-1ACL\s0 must already include an entry for
+\&\f(CW\*(C`mask_obj\*(C'\fR, however. For more details, refer to the \fI\s-1IBM\s0 \s-1AFS/DFS\s0
+Migration Toolkit Administration Guide and Reference\fR.
+.PP
+Only user and group entries are acceptable values for the \fB\-acl\fR
+argument. Do not place machine entries (\s-1IP\s0 addresses) directly on an \s-1ACL\s0;
+instead, make the machine entry a group member and place the group on the
+\&\s-1ACL\s0.
+.PP
+To completely erase the existing \s-1ACL\s0 before adding the new entries,
+provide the \fB\-clear\fR flag. To add the specified entries to the \f(CW\*(C`Negative
+rights\*(C'\fR section of the \s-1ACL\s0 (deny rights to specified users or groups),
+provide the \fB\-negative\fR flag.
+.PP
+To display an \s-1ACL\s0, use the fs listacl command. To copy an \s-1ACL\s0 from one
+directory to another, use the \fBfs copyacl\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If the \s-1ACL\s0 already grants certain permissions to a user or group, the
+permissions specified with the \fBfs setacl\fR command replace the existing
+permissions, rather than being added to them.
+.PP
+Setting negative permissions is generally unnecessary and not
+recommended. Simply omitting a user or group from the \f(CW\*(C`Normal rights\*(C'\fR
+section of the \s-1ACL\s0 is normally adequate to prevent access. In particular,
+note that it is futile to deny permissions that are granted to members of
+the system:anyuser group on the same \s-1ACL\s0; the user needs only to issue the
+\&\fBunlog\fR command to receive the denied permissions.
+.PP
+When including the \fB\-clear\fR option, be sure to reinstate an entry for
+each directory's owner that includes at least the \f(CW\*(C`l\*(C'\fR (lookup)
+permission. Without that permission, it is impossible to resolve the \*(L"dot\*(R"
+(\f(CW\*(C`.\*(C'\fR) and \*(L"dot dot\*(R" (\f(CW\*(C`..\*(C'\fR) shorthand from within the directory. (The
+directory's owner does implicitly have the \f(CW\*(C`a\*(C'\fR (administer) permission
+even on a cleared \s-1ACL\s0, but must know to use it to add other permissions.)
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dir\fR <\fIdirectory\fR>+" 4
+.IX Item "-dir <directory>+"
+Names each \s-1AFS\s0 directory, or \s-1DFS\s0 directory or file, for which the set the
+\&\s-1ACL\s0. Partial pathnames are interpreted relative to the current working
+directory.
+.Sp
+Specify the read/write path to each directory (or \s-1DFS\s0 file), to avoid the
+failure that results from attempting to change a read-only volume. By
+convention, the read/write path is indicated by placing a period before
+the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the \fBfs mkmount\fR reference
+page.
+.IP "\fB\-acl\fR <\fIaccess list entries\fR>+" 4
+.IX Item "-acl <access list entries>+"
+Defines a list of one or more \s-1ACL\s0 entries, each a pair that names:
+.RS 4
+.IP "\(bu" 4
+A user name or group name as listed in the Protection Database.
+.IP "\(bu" 4
+One or more \s-1ACL\s0 permissions, indicated either by combining the individual
+letters or by one of the four acceptable shorthand words.
+.RE
+.RS 4
+.Sp
+in that order, separated by a space (thus every instance of this argument
+has two parts). The accepted \s-1AFS\s0 abbreviations and shorthand words, and
+the meaning of each, are as follows:
+.IP "a (administer)" 4
+.IX Item "a (administer)"
+Change the entries on the \s-1ACL\s0.
+.IP "d (delete)" 4
+.IX Item "d (delete)"
+Remove files and subdirectories from the directory or move them to other
+directories.
+.IP "i (insert)" 4
+.IX Item "i (insert)"
+Add files or subdirectories to the directory by copying, moving or
+creating.
+.IP "k (lock)" 4
+.IX Item "k (lock)"
+Set read locks or write locks on the files in the directory.
+.IP "l (lookup)" 4
+.IX Item "l (lookup)"
+List the files and subdirectories in the directory, stat the directory
+itself, and issue the \fBfs listacl\fR command to examine the directory's
+\&\s-1ACL\s0.
+.IP "r (read)" 4
+.IX Item "r (read)"
+Read the contents of files in the directory; issue the \f(CW\*(C`ls \-l\*(C'\fR command to
+stat the elements in the directory.
+.IP "w (write)" 4
+.IX Item "w (write)"
+Modify the contents of files in the directory, and issue the \s-1UNIX\s0 \fBchmod\fR
+command to change their mode bits.
+.IP "A, B, C, D, E, F, G, H" 4
+.IX Item "A, B, C, D, E, F, G, H"
+Have no default meaning to the \s-1AFS\s0 server processes, but are made
+available for applications to use in controlling access to the directory's
+contents in additional ways. The letters must be uppercase.
+.IP "all" 4
+.IX Item "all"
+Equals all seven permissions (\f(CW\*(C`rlidwka\*(C'\fR).
+.IP "none" 4
+.IX Item "none"
+No permissions. Removes the user/group from the \s-1ACL\s0, but does not
+guarantee they have no permissions if they belong to groups that remain on
+the \s-1ACL\s0.
+.IP "read" 4
+.IX Item "read"
+Equals the \f(CW\*(C`r\*(C'\fR (read) and \f(CW\*(C`l\*(C'\fR (lookup) permissions.
+.IP "write" 4
+.IX Item "write"
+Equals all permissions except \f(CW\*(C`a\*(C'\fR (administer), that is, \f(CW\*(C`rlidwk\*(C'\fR.
+.RE
+.RS 4
+.Sp
+It is acceptable to mix entries that combine the individual letters with
+entries that use the shorthand words, but not use both types of notation
+within an individual pairing of user or group and permissions.
+.Sp
+To learn the proper format and acceptable values for \s-1DFS\s0 \s-1ACL\s0 entries, see
+the \fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit Administration Guide and Reference\fR.
+.RE
+.IP "\fB\-clear\fR" 4
+.IX Item "-clear"
+Removes all existing entries on each \s-1ACL\s0 before adding the entries
+specified with the \fB\-acl\fR argument.
+.IP "\fB\-negative\fR" 4
+.IX Item "-negative"
+Places the specified \s-1ACL\s0 entries in the \f(CW\*(C`Negative rights\*(C'\fR section of each
+\&\s-1ACL\s0, explicitly denying the rights to the user or group, even if entries
+on the accompanying \f(CW\*(C`Normal rights\*(C'\fR section of the \s-1ACL\s0 grant them
+permissions.
+.Sp
+This argument is not supported for \s-1DFS\s0 files or directories, because \s-1DFS\s0
+does not implement negative \s-1ACL\s0 permissions.
+.IP "\fB\-id\fR" 4
+.IX Item "-id"
+Places the \s-1ACL\s0 entries on the Initial Container \s-1ACL\s0 of each \s-1DFS\s0 directory,
+which are the only file system objects for which this flag is supported.
+.IP "\fB\-if\fR" 4
+.IX Item "-if"
+Places the \s-1ACL\s0 entries on the Initial Object \s-1ACL\s0 of each \s-1DFS\s0 directory,
+which are the only file system objects for which this flag is supported.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example adds two entries to the \f(CW\*(C`Normal rights\*(C'\fR section of
+the current working directory's \s-1ACL:\s0 the first entry grants \f(CW\*(C`r\*(C'\fR (read)
+and \f(CW\*(C`l\*(C'\fR (lookup) permissions to the group pat:friends, while the other
+(using the \f(CW\*(C`write\*(C'\fR shorthand) gives all permissions except \f(CW\*(C`a\*(C'\fR
+(administer) to the user \f(CW\*(C`smith\*(C'\fR.
+.PP
+.Vb 1
+\& % fs setacl \-dir . \-acl pat:friends rl smith write
+\&
+\& % fs listacl \-path .
+\& Access list for . is
+\& Normal rights:
+\& pat:friends rl
+\& smith rlidwk
+.Ve
+.PP
+The following example includes the \fB\-clear\fR flag, which removes the
+existing permissions (as displayed with the \fBfs listacl\fR command) from
+the current working directory's \fIreports\fR subdirectory and replaces them
+with a new set.
+.PP
+.Vb 9
+\& % fs listacl \-dir reports
+\& Access list for reports is
+\& Normal rights:
+\& system:authuser rl
+\& pat:friends rlid
+\& smith rlidwk
+\& pat rlidwka
+\& Negative rights:
+\& terry rl
+\&
+\& % fs setacl \-clear \-dir reports \-acl pat all smith write system:anyuser rl
+\&
+\& % fs listacl \-dir reports
+\& Access list for reports is
+\& Normal rights:
+\& system:anyuser rl
+\& smith rlidwk
+\& pat rlidwka
+.Ve
+.PP
+The following example use the \fB\-dir\fR and \fB\-acl\fR switches because it sets
+the \s-1ACL\s0 for more than one directory (both the current working directory
+and its \fIpublic\fR subdirectory).
+.PP
+.Vb 1
+\& % fs setacl \-dir . public \-acl pat:friends rli
+\&
+\& % fs listacl \-path . public
+\& Access list for . is
+\& Normal rights:
+\& pat rlidwka
+\& pat:friends rli
+\& Access list for public is
+\& Normal rights:
+\& pat rlidwka
+\& pat:friends rli
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`a\*(C'\fR (administer) permission on the directory's
+\&\s-1ACL\s0, a member of the system:administrators group, or, as a special case,
+must be the \s-1UID\s0 owner of the top-level directory of the volume containing
+this directory. The last provision allows the \s-1UID\s0 owner of a volume to
+repair accidental \s-1ACL\s0 errors without requiring intervention by a member of
+system:administrators.
+.PP
+Earlier versions of OpenAFS also extended implicit administer permission
+to the owner of any directory. In current versions of OpenAFS, only the
+owner of the top-level directory of the volume has this special
+permission.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_copyacl\fR\|(1),
+\&\fIfs_listacl\fR\|(1),
+\&\fIfs_mkmount\fR\|(1)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS/DFS\s0 Migration Toolkit Administration Guide and Reference\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SETCACHESIZE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETCACHESIZE 1"
++.TH FS_SETCACHESIZE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setcachesize \- Sets the size of the disk cache
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setcachesize\fR [\fB\-blocks\fR <\fIsize in 1K byte blocks (0 =\fR reset)>>]
+ [\fB\-reset\fR] [\fB\-help\fR]
+.PP
+\&\fBfs setca\fR [\fB\-b\fR <\fIsize in 1K byte blocks (0 =\fR reset)>>]
+ [\fB\-r\fR] [\fB\-h\fR]
+.PP
+\&\fBfs cachesize\fR [\fB\-b\fR <\fIsize in 1K byte blocks (0 =\fR reset)>>]
+ [\fB\-r\fR] [\fB\-h\fR]
+.PP
+\&\fBfs ca\fR [\fB\-b\fR <\fIsize in 1K byte blocks (0 =\fR reset)>>]
+ [\fB\-r\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setcachesize\fR command changes the number of kilobyte blocks of
+local disk space available to the Cache Manager for its data cache, on
+machines that use a disk cache. The command is not operative on machines
+that use a memory cache.
+.PP
+To return the cache size to the default value specified in the third field
+of the local \fI/usr/vice/etc/cacheinfo\fR file, provide a value of \f(CW0\fR to
+the \fB\-blocks\fR argument.
+.PP
+To return the cache size to the value set when the machine was last
+rebooted, use the \fB\-reset\fR flag instead of the \fB\-blocks\fR argument. This
+is normally the amount specified in the \fIcacheinfo\fR file, unless the
+\&\fB\-blocks\fR argument was included on the \fBafsd\fR command to override the
+\&\fBcacheinfo\fR value.
+.PP
+To display the current cache size and amount of cache in use, for both
+disk and memory caches, use the \fBfs getcacheparms\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is not operative on machines using a memory cache, and
+results in an error message. To change memory cache size, edit the
+\&\fBcacheinfo\fR file and reboot, or reboot and provide the \fB\-blocks\fR
+argument to the \fBafsd\fR command.
+.PP
+On machines using a disk cache, do not set the cache size to exceed 85% to
+90% of the actual disk space available for the cache directory. The cache
+implementation itself requires a small amount of space on the partition.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-blocks\fR <\fIsize in 1K byte blocks\fR>" 4
+.IX Item "-blocks <size in 1K byte blocks>"
+Specifies the number of one-kilobyte blocks of disk space available for
+the Cache Manager to devote to the cache. Provide a value of \f(CW0\fR to set
+cache size to the default specified in the \fIcacheinfo\fR file.
+.IP "\fB\-reset\fR" 4
+.IX Item "-reset"
+Returns the cache size to the value set when the machine was last
+booted. This agrees with the value in the \fIcacheinfo\fR file unless the
+\&\fB\-blocks\fR argument was used on the \fBafsd\fR command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command sets the disk cache size to 25000 kilobyte blocks.
+.PP
+.Vb 1
+\& % fs setcachesize \-blocks 25000
+.Ve
+.PP
+Both of the following commands reset the disk cache size to the value in
+the \fIcacheinfo\fR file, assuming that the \fB\-blocks\fR argument to the
+\&\fBafsd\fR command was not used.
+.PP
+.Vb 2
+\& % fs setcachesize \-blocks 0
+\& % fs setcachesize \-reset
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIcacheinfo\fR\|(5),
+\&\fIafsd\fR\|(8),
+\&\fIfs_getcacheparms\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SETCBADDR 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETCBADDR 1"
++.TH FS_SETCBADDR 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setcbaddr \- Configure IP address used for AFS callbacks
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setcbaddr\fR [\fB\-host\fR\ <\fIaddress\fR>]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBfs setcbaddr\fR changes the \s-1IP\s0 address used by the client for callbacks.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-host\fR <\fIaddress\fR>]" 4
+.IX Item "-host <address>]"
+The new callback address.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output other than error messages.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+.Vb 1
+\& % fs setcbaddr 10.2.4.23
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be the local superuser.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008. This documentation is covered by the \s-1BSD\s0 License as
+written in the doc/LICENSE file. This man page was written by Mike
+Robinson (mike@endpoint.com) for OpenAFS.
--- /dev/null
- .TH FS_SETCELL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETCELL 1"
++.TH FS_SETCELL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setcell \- Configures permissions for setuid programs from specified cells
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setcell\fR \fB\-cell\fR\ <\fIcell\ name\fR>+ [\fB\-suid\fR] [\fB\-nosuid\fR] [\fB\-help\fR]
+.PP
+\&\fBfs setce\fR \fB\-c\fR\ <\fIcell\ name\fR>+ [\fB\-s\fR] [\fB\-n\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setcell\fR command sets whether the Cache Manager allows programs
+(and other executable files) from each cell named by the \fB\-cell\fR argument
+to run with setuid permission. By default, the Cache Manager allows
+programs from its home cell to run with setuid permission, but not
+programs from any foreign cells. A program belongs to the same cell as the
+file server machine that houses the volume in which the program's binary
+file resides, as specified in the file server machine's
+\&\fI/usr/afs/etc/ThisCell\fR file. The Cache Manager determines its own home
+cell by reading the \fI/usr/vice/etc/ThisCell\fR file at initialization.
+.PP
+To enable programs from each specified cell to run with setuid permission,
+include the \fB\-suid\fR flag. To prohibit programs from running with setuid
+permission, include the \fB\-nosuid\fR flag, or omit both flags.
+.PP
+The \fBfs setcell\fR command directly alters a cell's setuid status as
+recorded in kernel memory, so rebooting the machine is unnecessary.
+However, non-default settings do not persist across reboots of the machine
+unless the appropriate \fBfs setcell\fR command appears in the machine's \s-1AFS\s0
+initialization file.
+.PP
+To display a cell's setuid status, issue the \fBfs getcellstatus\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\s-1AFS\s0 does not recognize effective \s-1UID:\s0 if a setuid program accesses \s-1AFS\s0
+files and directories, it does so using the current \s-1AFS\s0 identity of the
+\&\s-1AFS\s0 user who initialized the program, not of the program's owner. Only
+the local file system recognizes effective \s-1UID\s0.
+.PP
+Only members of the system:administrators group can turn on the setuid
+mode bit on an \s-1AFS\s0 file or directory.
+.PP
+When the setuid mode bit is turned on, the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command displays
+the third user mode bit as an \f(CW\*(C`s\*(C'\fR instead of an \f(CW\*(C`x\*(C'\fR. However, the \f(CW\*(C`s\*(C'\fR
+does not appear on an \s-1AFS\s0 file or directory unless setuid permission is
+enabled for the cell in which the file resides.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>+" 4
+.IX Item "-cell <cell name>+"
+Names each cell for which to set setuid status. Provide the fully
+qualified domain name, or a shortened form that disambiguates it from the
+other cells listed in the local \fI/usr/vice/etc/CellServDB\fR file.
+.IP "\fB\-suid\fR" 4
+.IX Item "-suid"
+Allows programs from each specified cell to run with setuid
+privilege. Provide it or the \fB\-nosuid\fR flag, or omit both flags to
+disallow programs from running with setuid privilege.
+.IP "\fB\-nosuid\fR" 4
+.IX Item "-nosuid"
+Prevents programs from each specified cell from running with setuid
+privilege. Provide it or the \fB\-suid\fR flag, or omit both flags to disallow
+programs form running with setuid privilege.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command enables executable files from the State University
+cell to run with setuid privilege on the local machine:
+.PP
+.Vb 1
+\& % fs setcell \-cell stateu.edu \-suid
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_getcellstatus\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SETCLIENTADDRS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETCLIENTADDRS 1"
++.TH FS_SETCLIENTADDRS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setclientaddrs \- Sets the client interfaces to register with the File Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setclientaddrs\fR [\fB\-address\fR\ <\fIclient\ network\ interfaces\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs setcl\fR [\fB\-a\fR\ <\fIclient\ network\ interfaces\fR>+] [\fB\-h\fR]
+.PP
+\&\fBfs sc\fR [\fB\-a\fR\ <\fIclient\ network\ interfaces\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setclientaddrs\fR command defines the \s-1IP\s0 addresses of the
+interfaces that the local Cache Manager registers with a File Server when
+first establishing a connection to it.
+.PP
+The File Server uses the addresses when it initiates a remote procedure
+call (\s-1RPC\s0) to the Cache Manager (as opposed to responding to an \s-1RPC\s0 sent
+by the Cache Manager). There are two common circumstances in which the
+File Server initiates RPCs: when it breaks callbacks and when it pings the
+client machine to verify that the Cache Manager is still accessible.
+.PP
+The list of interfaces specified with this command replaces the list that
+the Cache Manager constructs and records in kernel memory as it
+initializes. At that time, if the file \fI/usr/vice/etc/NetInfo\fR exists on
+the client machine's local disk, the Cache Manager uses its contents as
+the basis for the list of interfaces addresses. If the file does not
+exist, the Cache Manager instead uses the network interfaces configured
+with the operating system. It then removes from the list any address
+included in the local \fI/usr/vice/etc/NetRestrict\fR file. It records the
+final list in kernel memory. (An administrator must create the \fINetInfo\fR
+and \fINetRestrict\fR files; there are no default versions of them.)
+.PP
+If an \s-1RPC\s0 to that interface fails, the File Server simultaneously sends
+RPCs to all of the other interfaces in the list, to learn which of them
+are still available. Whichever interface replies first is the one to which
+the File Server then sends pings and RPCs to break callbacks.
+.PP
+To list the interfaces that the Cache Manager is currently registering
+with File Servers, use the \fBfs getclientaddrs\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The list specified with this command persists in kernel memory only until
+the client machine reboots. To preserve it across reboots, either list the
+interfaces in the local \fI/usr/vice/etc/NetInfo\fR file, or place the
+appropriate \fBfs setclientaddrs\fR command in the machine's \s-1AFS\s0
+initialization script.
+.PP
+Changes made with this command do not propagate automatically to File
+Servers to which the Cache Manager has already established a
+connection. To force such File Servers to use the revised list, either
+reboot each file server machine, or change the \fINetInfo\fR file and reboot
+the client machine.
+.PP
+The fs command interpreter verifies that each of the addresses specified
+as a value for the \fB\-address\fR argument is actually configured with the
+operating system on the client machine. If it is not, the command fails
+with an error message that marks the address as a \f(CW\*(C`Nonexistent
+interface\*(C'\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-address\fR <\fIclient network interfaces\fR>+" 4
+.IX Item "-address <client network interfaces>+"
+Specifies each \s-1IP\s0 address to place in the list of interfaces, in dotted
+decimal format. Hostnames are not acceptable. Separate each address with
+one or more spaces.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The message
+.PP
+.Vb 1
+\& Adding <interface>
+.Ve
+.PP
+confirms that each new interface was added to the Cache Manager's
+list. The address appears in hexadecimal format to match the notation used
+in the File Server log, \fI/usr/afs/logs/FileLog\fR.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example sets the two interfaces that the Cache Manager
+registers with File Servers.
+.PP
+.Vb 3
+\& % fs setclientaddrs 191.255.105.68 191.255.108.84
+\& Adding 0xbfff6944
+\& Adding 0xbfff6c54
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fINetInfo\fR\|(5),
+\&\fINetRestrict\fR\|(5),
+\&\fIfileserver\fR\|(8),
+\&\fIfs_getclientaddrs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SETCRYPT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETCRYPT 1"
++.TH FS_SETCRYPT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setcrypt \- Enables of disables the encryption of AFS file transfers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setcrypt\fR [\fB\-crypt\fR]\ <\fIon/off\fR> [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setcrypt\fR command sets the status of network traffic encryption
+for file traffic in the \s-1AFS\s0 client. This encryption applies to file
+traffic going to and coming from the \s-1AFS\s0 File Server for users with valid
+tokens. This command does not control the encryption used for
+authentication, which uses Kerberos 5 or klog/kaserver. The complement of
+this command is \fBfs getcrypt\fR, which shows the status of encryption on
+the client.
+.PP
+The default encryption status is enabled.
+.PP
+This is a global setting and applies to all subsequent connections to an
+\&\s-1AFS\s0 File Server from this Cache Manager. There is no way to enable or
+disable encryption for specific connections.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\s-1AFS\s0 uses an encryption scheme called fcrypt, based on but slightly weaker
+than \s-1DES\s0, and there is currently no way to specify a different encryption
+mechanism. Because fcrypt and \s-1DES\s0 are obsolete, the user must decide how
+much to trust the encryption. Consider using a Virtual Private Network at
+the \s-1IP\s0 level if better encryption is needed.
+.PP
+Encrypting file traffic requires a token. Unauthenticated connections or
+connections authorized via IP-based ACLs will not be encrypted even when
+encryption is turned on.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-crypt\fR <\fIon/off\fR>" 4
+.IX Item "-crypt <on/off>"
+This is the only option to \fBfs setcrypt\fR. The \fB\-crypt\fR option takes
+either \f(CW\*(C`on\*(C'\fR or \f(CW\*(C`off\*(C'\fR. \f(CW\*(C`on\*(C'\fR enables encryption. \f(CW\*(C`off\*(C'\fR disables
+encryption. Since this is the only option, the \f(CW\*(C`\-crypt\*(C'\fR flag may be
+omitted.
+.Sp
+\&\f(CW0\fR and \f(CW1\fR or \f(CW\*(C`true\*(C'\fR and \f(CW\*(C`false\*(C'\fR are not supported as replacements
+for \f(CW\*(C`on\*(C'\fR and \f(CW\*(C`off\*(C'\fR.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output other than error messages.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+There are only four ways to invoke \fBfs setcrypt\fR. Either of:
+.PP
+.Vb 2
+\& % fs setcrypt \-crypt on
+\& % fs setcrypt on
+.Ve
+.PP
+will enable encryption for authenticated connections and:
+.PP
+.Vb 2
+\& % fs setcrypt \-crypt off
+\& % fs setcrypt off
+.Ve
+.PP
+will disable encryption.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_getcrypt\fR\|(1)
+.PP
+The description of the fcrypt encryption mechanism at
+<http://surfvi.com/~ota/fcrypt\-paper.txt>.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_SETQUOTA 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETQUOTA 1"
++.TH FS_SETQUOTA 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setquota \- Sets the quota for the volume containing a file or directory
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setquota\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>]
+ \fB\-max\fR\ <\fImax\ quota\ in\ kbytes\fR> [\fB\-help\fR]
+.PP
+\&\fBfs setq\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>] \fB\-m\fR\ <\fImax\ quota\ in\ kbytes\fR> [\fB\-h\fR]
+.PP
+\&\fBfs sq\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>] \fB\-m\fR\ <\fImax\ quota\ in\ kbytes\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setquota\fR command sets the quota (maximum possible size) of the
+read/write volume that contains the directory or file named by the
+\&\fB\-path\fR argument.
+.PP
+To set the quota on multiple volumes at the same time, use the \fBfs
+setvol\fR command.
+.PP
+To display a volume's quota, use the \fBfs examine\fR, \fBfs listquota\fR, or
+\&\fBfs quota\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>" 4
+.IX Item "-path <dir/file path>"
+Names the directory or file for which to set the host volume's
+quota. Partial pathnames are interpreted relative to the current working
+directory, which is also the default value if this argument is omitted.
+.Sp
+Specify the read/write path to the file or directory, to avoid the failure
+that results from attempting to change a read-only volume. By convention,
+the read/write path is indicated by placing a period before the cell name
+at the pathname's second level (for example, \fI/afs/.abc.com\fR). For
+further discussion of the concept of read/write and read-only paths
+through the filespace, see the \fBfs mkmount\fR reference page.
+.IP "\fB\-max\fR <\fImax quota in kbytes\fR>" 4
+.IX Item "-max <max quota in kbytes>"
+Sets the maximum amount of file server disk space the volume can
+occupy. Specify the number of one-kilobyte blocks as a positive integer
+(\f(CW1024\fR is one megabyte). A value of \f(CW0\fR sets an unlimited quota, but
+the size of the disk partition that houses the volume places an absolute
+limit on the volume's size.
+.Sp
+If the \fB\-path\fR argument is omitted (to set the quota of the volume
+housing the current working directory), the \fB\-max\fR switch must be
+included with this argument.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command imposes a maximum quota of 3000 kilobytes on the
+volume that houses the \fI/afs/abc.com/usr/smith\fR directory:
+.PP
+.Vb 1
+\& % fs setquota \-path /afs/abc.com/usr/smith \-max 3000
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_examine\fR\|(1),
+\&\fIfs_listquota\fR\|(1),
+\&\fIfs_quota\fR\|(1),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIfs_setvol\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SETSERVERPREFS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETSERVERPREFS 1"
++.TH FS_SETSERVERPREFS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setserverprefs \- Sets the preference ranks for file servers or VL servers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setserverprefs\fR [\fB\-servers\fR\ <\fIfileserver\ names\ and\ ranks\fR>+]
+ [\fB\-vlservers\fR\ <\fI\s-1VL\s0\ server\ names\ and\ ranks\fR>+]
+ [\fB\-file\fR\ <\fIinput\ from\ named\ file\fR>] [\fB\-stdin\fR] [\fB\-help\fR]
+.PP
+\&\fBfs sets\fR [\fB\-se\fR\ <\fIfileserver\ names\ and\ ranks\fR>+]
+ [\fB\-vl\fR\ <\fI\s-1VL\s0\ server\ names\ and\ ranks\fR>+]
+ [\fB\-f\fR\ <\fIinput\ from\ named\ file\fR>] [\fB\-st\fR] [\fB\-h\fR]
+.PP
+\&\fBfs sp\fR [\fB\-se\fR\ <\fIfileserver\ names\ and\ ranks\fR>+]
+ [\fB\-vl\fR\ <\fI\s-1VL\s0\ server\ names\ and\ ranks\fR>+]
+ [\fB\-f\fR\ <\fIinput\ from\ named\ file\fR>] [\fB\-st\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setserverprefs\fR command sets the local Cache Manager's preference
+ranks for one or more file server machine interfaces or, if the
+\&\fB\-vlserver\fR argument is provided, for Volume Location (\s-1VL\s0) Server
+machines. For file server machines, the numerical ranks determine the
+order in which the Cache Manager attempts to contact the interfaces of
+machines that are housing a volume. For \s-1VL\s0 Server machines, the ranks
+determine the order in which the Cache Manager attempts to contact a
+cell's \s-1VL\s0 Servers when requesting \s-1VLDB\s0 information.
+.PP
+The \fBfs getserverprefs\fR reference page explains how the Cache Manager
+uses preference ranks when contacting file server machines or \s-1VL\s0 Server
+machines. The following paragraphs explain how the Cache Manager
+calculates default ranks, and how to use this command to change the
+defaults.
+.Sh "Calculation of Default Preference Ranks"
+.IX Subsection "Calculation of Default Preference Ranks"
+The Cache Manager stores a preference rank in kernel memory as a paired \s-1IP\s0
+address and numerical rank. If a file server machine is multihomed, the
+Cache Manager assigns a distinct rank to each of the machine's addresses
+(up to the number of addresses that the \s-1VLDB\s0 can store per machine, which
+is specified in the \fI\s-1IBM\s0 \s-1AFS\s0 Release Notes\fR). Once calculated, a rank
+persists until the machine reboots, or until this command is used to
+change it.
+.PP
+The Cache Manager sets default \s-1VL\s0 Server preference ranks as it
+initializes, randomly assigning a rank from the range 10,000 to 10,126 to
+each of the machines listed in the local \fI/usr/vice/etc/CellServDB\fR
+file. Machines from different cells can have the same rank, but this does
+not present a problem because the Cache Manager consults only one cell's
+ranks at a time.
+.PP
+The Cache Manager sets default preference ranks for file server machine as
+it fetches volume location information from the \s-1VLDB\s0. Each time it learns
+about file server machine interfaces for which it has not already set
+ranks, it assigns a rank to each interface. If the local client machine
+has only one \s-1IP\s0 address, the Cache Manager compares it to the server
+interface's \s-1IP\s0 address and sets a rank according to the following
+algorithm. If the client machine is multihomed, the Cache Manager applies
+the algorithm to each of the client machine's addresses and assigns to the
+file server machine interface the lowest rank that results.
+.IP "\(bu" 4
+If the local machine is a file server machine, the base rank for each of
+its interfaces is 5,000.
+.IP "\(bu" 4
+If the file server machine interface is on the same subnetwork as the
+client interface, its base rank is 20,000.
+.IP "\(bu" 4
+If the file server machine interface is on the same network as the client
+interface, or is at the distant end of a point-to-point link with the
+client interface, its base rank is 30,000.
+.IP "\(bu" 4
+If the file server machine interface is on a different network than the
+client interface, or the Cache Manager cannot obtain network information
+about it, its base rank is 40,000.
+.PP
+After assigning a base rank to a file server machine interface, the Cache
+Manager adds to it a number randomly chosen from the range 0 (zero) to
+14. As an example, a file server machine interface in the same subnetwork
+as the local machine receives a base rank of 20,000, but the Cache Manager
+records the actual rank as an integer between 20,000 and 20,014. This
+process reduces the number of interfaces that have exactly the same
+rank. As with \s-1VL\s0 Server machine ranks, it is possible for file server
+machine interfaces from foreign cells to have the same rank as interfaces
+in the local cell, but this does not present a problem. Only the relative
+ranks of the interfaces that house a given volume are relevant, and \s-1AFS\s0
+only supports storage of a volume in one cell at a time.
+.Sh "Setting Non-default Preference Ranks"
+.IX Subsection "Setting Non-default Preference Ranks"
+Use the \fBfs setserverprefs\fR command to reset an existing preference rank,
+or to set the initial rank of a file server machine interface or \s-1VL\s0 Server
+machine for which the Cache Manager has no rank. To make a rank persist
+across a reboot of the local machine, place the appropriate \fBfs
+setserverprefs\fR command in the machine's \s-1AFS\s0 initialization file.
+.PP
+Specify each preference rank as a pair of values separated by one or more
+spaces:
+.IP "\(bu" 4
+The first member of the pair is the fully-qualified hostname (for example,
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR), or the \s-1IP\s0 address in dotted decimal format, of a file
+server machine interface or \s-1VL\s0 Server machine
+.IP "\(bu" 4
+The second member of the pair is an integer. The possible ranks range from
+\&\f(CW1\fR through \f(CW65535\fR.
+.PP
+As with default ranks, the Cache Manager adds a randomly chosen integer to
+a rank specified by this command. For file server machine interfaces, the
+integer is from the range 0 (zero) to 14; for \s-1VL\s0 Server machines, it is
+from the range 0 (zero) to 126. For example, if the administrator assigns
+a rank of 15,000 to a file server machine interface, the Cache Manager
+stores an integer between 15,000 to 15,014.
+.PP
+There are several ways to provide ranks for file server machine interfaces
+(but not for \s-1VL\s0 Server machines):
+.IP "\(bu" 4
+On the command line, following the \fB\-servers\fR argument.
+.IP "\(bu" 4
+In a file named by the \fB\-file\fR argument. Place each pair on its own line
+in the file. Directing the output from the \fBfs getserverprefs\fR command to
+a file automatically generates a file with the proper format.
+.IP "\(bu" 4
+Via the standard input stream, by providing the \fB\-stdin\fR flag. This
+method enables the issuer to feed in values directly from a program or
+script that generates preference ranks by using an algorithm appropriate
+to the local cell. The \s-1AFS\s0 distribution does not include such programs or
+scripts.
+.PP
+When setting file server machine preference ranks, it is legal to combine
+the \fB\-servers\fR, \fB\-file\fR, and \fB\-stdin\fR options on a single command
+line. If different options specify a different rank for the same
+interface, the Cache Manager stores and uses the rank assigned with the
+\&\fB\-servers\fR argument.
+.PP
+The \fB\-vlservers\fR argument is the only way to assign \s-1VL\s0 Server machine
+ranks. It can be combined with one or more of the \fB\-servers\fR, \fB\-file\fR,
+and \fB\-stdin\fR options, but the Cache Manager applies the values provided
+for those options to file server machine ranks only.
+.PP
+The fs command interpreter does not verify hostnames or \s-1IP\s0 addresses, and
+so assigns preference ranks to invalid machine names or addresses. The
+Cache Manager never uses such ranks unless the same incorrect information
+is in the \s-1VLDB\s0.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-servers\fR <\fIfile server names and ranks\fR>+" 4
+.IX Item "-servers <file server names and ranks>+"
+Specifies one or more file server machine preference ranks. Each rank
+pairs the fully-qualified hostname or \s-1IP\s0 address (in dotted decimal
+format) of a file server machine's interface with an integer rank,
+separated by one or more spaces; also separate each pair with one or more
+spaces. Acceptable values for the rank range from \f(CW1\fR through \f(CW65521\fR; a
+lower value indicates a greater preference. Providing ranks outside this
+range can have unpredictable results. Providing a value no larger than
+\&\f(CW65521\fR guarantees that the rank does not exceed the maximum possible
+value of 65,535 even if the largest random factor (14) is added.
+.Sp
+This argument can be combined with the \fB\-file\fR argument, \fB\-stdin\fR flag,
+or both. If more than one of the arguments sets a rank for the same
+interface, the rank set by this argument takes precedence. It can also be
+combined with the \fB\-vlservers\fR argument, but does not interact with it.
+.IP "\fB\-vlservers\fR <\fI\s-1VL\s0 server names and ranks\fR>+" 4
+.IX Item "-vlservers <VL server names and ranks>+"
+Specifies one or more \s-1VL\s0 Server preference ranks. Each rank pairs the
+fully-qualified hostname or \s-1IP\s0 address (in dotted decimal format) of a \s-1VL\s0
+Server machine with an integer rank, separated by one or more spaces; also
+separate each pair with one or more spaces. Acceptable values for the rank
+range from \f(CW1\fR through \f(CW65521\fR; a lower value indicates a greater
+preference. Providing ranks outside this range can have unpredictable
+results. Providing a value no larger than \f(CW65521\fR guarantees that the
+rank does not exceed the maximum possible value of 65,535 even if the
+largest random factor (14) is added.
+.Sp
+This argument can be combined with the \fB\-servers\fR argument, \fB\-file\fR
+argument, \fB\-stdin\fR flag, or any combination of the three, but does not
+interact with any of them. They apply only to file server machine ranks.
+.IP "\fB\-file\fR <\fIinput file\fR>" 4
+.IX Item "-file <input file>"
+Specifies the full pathname of a file from which to read pairs of file
+server machine interfaces and their ranks, using the same notation and
+range of values as for the \fB\-servers\fR argument. In the file, place each
+pair on its own line and separate the two parts of each pair with one or
+more spaces.
+.Sp
+This argument can be combined with the \fB\-servers\fR argument, \fB\-stdin\fR
+flag, or both. If more than one of the arguments sets a rank for the same
+interface, the rank set by the \fB\-server\fR argument takes precedence. It
+can also be combined with the \fB\-vlservers\fR argument, but does not
+interact with it.
+.IP "\fB\-stdin\fR" 4
+.IX Item "-stdin"
+Reads pairs of file server machine interface and integer rank from the
+standard input stream. The intended use is to accept input piped in from a
+user-defined program or script that generates ranks in the appropriate
+format, but it also accepts input typed to the shell. Format the interface
+and rank pairs as for the \fB\-file\fR argument. If typing at the shell, type
+Ctrl-D after the final newline to complete the input.
+.Sp
+This argument can be combined with the \fB\-servers\fR argument, the \fB\-file\fR
+argument, or both. If more than one of the arguments sets a rank for the
+same interface, the rank set by the \fB\-server\fR argument takes
+precedence. It can also be combined with the \fB\-vlservers\fR argument, but
+does not interact with it.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command sets the Cache Manager's preference ranks for the
+file server machines named \f(CW\*(C`fs3.abc.com\*(C'\fR and \f(CW\*(C`fs4.abc.com\*(C'\fR, the latter
+of which is specified by its \s-1IP\s0 address, 192.12.105.100. The machines
+reside in another subnetwork of the local machine's network, so their
+default base rank is 30,000. To increase the Cache Manager's preference
+for these machines, the issuer assigns a rank of \f(CW25000\fR, to which the
+Cache Manager adds an integer in the range from 0 to 15.
+.PP
+.Vb 1
+\& # fs setserverprefs \-servers fs3.abc.com 25000 192.12.105.100 25000
+.Ve
+.PP
+The following command uses the \fB\-servers\fR argument to set the Cache
+Manager's preference ranks for the same two file server machines, but it
+also uses the \fB\-file\fR argument to read a collection of preference ranks
+from a file that resides in the local file \fI/etc/fs.prefs\fR:
+.PP
+.Vb 2
+\& # fs setserverprefs \-servers fs3.abc.com 25000 192.12.105.100 25000 \e
+\& \-file /etc/fs.prefs
+.Ve
+.PP
+The /etc/fs.prefs file has the following contents and format:
+.PP
+.Vb 6
+\& 192.12.108.214 7500
+\& 192.12.108.212 7500
+\& 138.255.33.41 39000
+\& 138.255.33.34 39000
+\& 128.0.45.36 41000
+\& 128.0.45.37 41000
+.Ve
+.PP
+The following command uses the \fB\-stdin\fR flag to read preference ranks
+from the standard input stream. The ranks are piped to the command from a
+program, \fBcalc_prefs\fR, which was written by the issuer to calculate
+preferences based on values significant to the local cell.
+.PP
+.Vb 1
+\& # calc_prefs | fs setserverprefs \-stdin
+.Ve
+.PP
+The following command uses the \fB\-vlservers\fR argument to set the Cache
+Manager's preferences for the \s-1VL\s0 server machines named \f(CW\*(C`fs1.abc.com\*(C'\fR,
+\&\f(CW\*(C`fs3.abc.com\*(C'\fR, and \f(CW\*(C`fs4.abc.com\*(C'\fR to base ranks of 1, 11000, and 65521,
+respectively:
+.PP
+.Vb 2
+\& # fs setserverprefs \-vlservers fs1.abc.com 1 fs3.abc.com 11000 \e
+\& fs4.abc.com 65521
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_getserverprefs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SETVOL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SETVOL 1"
++.TH FS_SETVOL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_setvol \- Set quota and messages for a volume containing a file or directory
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs setvol\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+]
+ [\fB\-max\fR\ <\fIdisk\ space\ quota\ in\ 1K\ units\fR>]
+ [\fB\-offlinemsg\fR\ <\fIoffline\ message\fR>] [\fB\-help\fR]
+.PP
+\&\fBfs setv\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+]
+ [\fB\-ma\fR\ <\fIdisk\ space\ quota\ in\ 1K\ units\fR>]
+ [\fB\-o\fR\ <\fIoffline\ message\fR>] [\fB\-h\fR]
+.PP
+\&\fBfs sv\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+]
+ [\fB\-ma\fR\ <\fIdisk\ space\ quota\ in\ 1K\ units\fR>]
+ [\fB\-o\fR\ <\fIoffline\ message\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs setvol\fR command sets the quota (maximum possible size) of the
+read/write volume that contains each directory or file named by the
+\&\fB\-path\fR argument. To associate a message with the volume which then
+appears in the output of the \fBfs examine\fR command, include the
+\&\fB\-offlinemsg\fR argument.
+.PP
+To display all of the settings made with this command, use the \fBfs
+examine\fR command. The \fBfs listquota\fR command reports a fileset's quota,
+and the \fBfs quota\fR command the percent of quota used.
+.PP
+To set quota on one volume at a time, use the \fBfs setquota\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names each file or directory for which to set the host volume's quota and
+offline message. Partial pathnames are interpreted relative to the current
+working directory, which is also the default value if this argument is
+omitted.
+.Sp
+Specify the read/write path to the file or directory, to avoid the failure
+that results from attempting to change a read-only volume. By convention,
+the read/write path is indicated by placing a period before the cell name
+at the pathname's second level (for example, \fI/afs/.abc.com\fR). For
+further discussion of the concept of read/write and read-only paths
+through the filespace, see the \fBfs mkmount\fR reference page.
+.IP "\fB\-max\fR <\fIdisk space quota in 1K units\fR>" 4
+.IX Item "-max <disk space quota in 1K units>"
+Sets the maximum amount of file server disk space the volume can
+occupy. Provide a positive integer to indicate the number of one-kilobyte
+blocks (\f(CW1024\fR is one megabyte). A value of \f(CW0\fR sets an unlimited quota,
+but the size of the disk partition that houses the volume places an
+absolute limit on the volume's size.
+.Sp
+If the \fB\-path\fR argument is omitted (so that the command sets the quota of
+the volume housing the current working directory), the \fB\-max\fR switch must
+be provided.
+.IP "\fB\-offlinemsg\fR" 4
+.IX Item "-offlinemsg"
+Associates a message with the volume which then appears in the output of
+the \fBfs examine\fR command. Its intended use is to explain why the volume
+is currently offline.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command imposes a 6500 kilobyte quota on the volumes mounted
+at the home directories \fI/afs/abc.com/usr/smith\fR and
+\&\fI/afs/abc.com/usr/pat\fR:
+.PP
+.Vb 2
+\& % cd /afs/abc.com/usr
+\& % fs setvol \-path smith pat \-max 6500B<>
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_examine\fR\|(1),
+\&\fIfs_listquota\fR\|(1),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIfs_quota\fR\|(1),
+\&\fIfs_setquota\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_STOREBEHIND 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_STOREBEHIND 1"
++.TH FS_STOREBEHIND 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_storebehind \- Enables asynchronous writes to the file server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs storebehind\fR [\fB\-kbytes\fR\ <\fIasynchrony\ for\ specified\ names\fR>]
+ [\fB\-files\fR\ <\fIspecific\ pathnames\fR>+]
+ [\fB\-allfiles\fR\ <\fInew\ default\ (\s-1KB\s0)\fR>] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBfs st\fR [\fB\-k\fR\ <\fIasynchrony\ for\ specified\ names\fR>]
+ [\fB\-f\fR\ <\fIspecific\ pathnames\fR>+]
+ [\fB\-a\fR\ <\fInew\ default\ (\s-1KB\s0)\fR>] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs storebehind\fR command enables the Cache Manager to perform a
+delayed asynchronous write to the File Server when an application closes a
+file. By default, the Cache Manager writes all data to the File Server
+immediately and synchronously when an application program closes a file \*(--
+that is, the \fIclose()\fR system call does not return until the Cache Manager
+has actually transferred the final chunk of the file to the File
+Server. This command specifies the number of kilobytes of a file that can
+still remain to be written to the File Server when the Cache Manager
+returns control to the application. It is useful if users working on the
+machine commonly work with very large files, but also introduces the
+complications discussed in the \s-1CAUTIONS\s0.
+.PP
+Set either or both of the following in a single command:
+.IP "\(bu" 4
+To set a value that applies to all \s-1AFS\s0 files manipulated by applications
+running on the machine, use the \fB\-allfiles\fR argument. This value is
+termed the \fIdefault store asynchrony\fR for the machine, and persists until
+the machine reboots. If it is not set, the default value is zero,
+indicating that the Cache Manager performs synchronous writes.
+.Sp
+As an example, the following setting means that when an application closes
+a file, the Cache Manager can return control to the application as soon as
+no more than 10 kilobytes of the file remain to be written to the File
+Server.
+.Sp
+.Vb 1
+\& \-allfiles 10
+.Ve
+.IP "\(bu" 4
+To set a value that applies to one or more individual files, and overrides
+the value of the \fB\-allfiles\fR argument for them, combine the \fB\-kbytes\fR
+and \fB\-files\fR arguments. The setting persists as long as there is an entry
+for the file in the kernel table that the Cache Manager uses to track
+certain information about files. In general, such an entry persists at
+least until an application closes the file or exits, but the Cache Manager
+is free to recycle the entry if the file is inactive and it needs to free
+up slots in the table. To increase the certainty that there is an entry
+for the file in the table, issue the \fBfs storebehind\fR command shortly
+before closing the file.
+.Sp
+As an example, the following setting means that when an application closes
+either of the files \fBbigfile\fR and \fBbiggerfile\fR, the Cache Manager can
+return control to the application as soon as no more than a megabyte of
+the file remains to be written to the File Server.
+.Sp
+.Vb 1
+\& \-kbytes 1024 \-files bigfile biggerfile
+.Ve
+.Sp
+Note that once an explicit value has been set for a file, the only way to
+make it subject to the default store asynchrony once again is to set
+\&\fB\-kbytes\fR to that value. In other words, there is no combination of
+arguments that automatically makes a file subject to the default store
+asynchrony once another value has been set for the file.
+.PP
+To display the settings that currently apply to individual files or to all
+files, provide the command's arguments in certain combinations as
+specified in \s-1OUTPUT\s0.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+For the following reasons, use of this command is not recommended in most
+cases.
+.PP
+In normal circumstances, an asynchronous setting results in the Cache
+Manager returning control to applications earlier than it otherwise does,
+but this is not guaranteed.
+.PP
+If a delayed write fails, there is no way to notify the application, since
+the \fIclose()\fR system call has already returned with a code indicating
+success.
+.PP
+Writing asynchronously increases the possibility that the user will not
+notice if a write operation makes the volume that houses the file exceed
+its quota. As always, the portion of the file that exceeds the volume's
+quota is lost, which prompts a message such as the following:
+.PP
+.Vb 1
+\& No space left on device
+.Ve
+.PP
+To avoid losing data, it is advisable to verify that the volume housing
+the file has space available for the amount of data anticipated to be
+written.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-kbytes\fR <\fIasynchrony for specified names\fR>" 4
+.IX Item "-kbytes <asynchrony for specified names>"
+Specifies the number of kilobytes of data from each file named by the
+\&\fB\-files\fR argument that can remain to be written to the file server when
+the Cache Manager returns control to an application program that closed
+the file. The \fB\-files\fR argument is required along with this
+argument. Provide an integer from the range \f(CW0\fR (which reinstates the
+Cache Manager's default behavior or writing synchronously) to the maximum
+\&\s-1AFS\s0 file size.
+.IP "\fB\-files\fR <\fIspecific pathnames\fR>+" 4
+.IX Item "-files <specific pathnames>+"
+Names each file to which the value set with the \fB\-kbytes\fR argument
+applies. The setting persists as long as there is an entry for the file in
+the kernel table that the Cache Manager uses to track certain information
+about files. Because closing a file generally erases the entry, when
+reopening a file the only way to guarantee that the setting still applies
+is to reissue the command. If this argument is provided without the
+\&\fB\-kbytes\fR argument, the command reports the current setting for the
+specified files, and the default store asynchrony.
+.IP "\fB\-allfiles\fR <\fInew default (\s-1KB\s0)\fR>" 4
+.IX Item "-allfiles <new default (KB)>"
+Sets the default store asynchrony for the local machine, which is the
+number of kilobytes of data that can remain to be written to the file
+server when the Cache Manager returns control to the application program
+that closed a file. The value applies to all \s-1AFS\s0 files manipulated by
+applications running on the machine, except those for which settings have
+been made with the \fB\-kbytes\fR and \fB\-files\fR arguments. Provide an integer
+from the range \f(CW0\fR (which indicates the default of synchronous writes) to
+the maximum \s-1AFS\s0 file size.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces output confirming the settings made with the accompanying
+\&\fB\-kbytes\fR and \fB\-files\fR arguments, the \fB\-allfiles\fR argument, or all
+three. If provided by itself, reports the current default store
+asynchrony.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If none of the command's options are included, or if only the \fB\-verbose\fR
+flag is included, the following message reports the default store
+asynchrony (the setting that applies to all files manipulated by
+applications running on the local machine and for which not more specific
+asynchrony is set).
+.PP
+.Vb 1
+\& Default store asynchrony is <x> kbytes.
+.Ve
+.PP
+A value of \f(CW0\fR (zero) indicates synchronous writes and is the default if
+no one has included the \fB\-allfiles\fR argument on this command since the
+machine last rebooted.
+.PP
+If the \fB\-files\fR argument is provided without the \fB\-kbytes\fR argument, the
+output reports the value that applies to each specified file along with
+the default store asynchrony. If a particular value has previously been
+set for a file, the following message reports it:
+.PP
+.Vb 2
+\& Will store up to <y> kbytes of <file> asynchronously.
+\& Default store asynchrony is <x> kbytes.
+.Ve
+.PP
+If the default store asynchrony applies to a file because no explicit
+\&\fB\-kbytes\fR value has been set for it, the message is instead as follows:
+.PP
+.Vb 2
+\& Will store <file> according to default.
+\& Default store asynchrony is <x> kbytes.
+.Ve
+.PP
+If the \fB\-verbose\fR flag is combined with arguments that set values
+(\fB\-files\fR and \fB\-kbytes\fR, or \fB\-allfiles\fR, or all three), there is a
+message that confirms immediately that the setting has taken effect. When
+included without other arguments or flags, the \fB\-verbose\fR flag reports
+the default store asynchrony only.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command enables the Cache Manager to return control to the
+application program that closed the file \fItest.data\fR when 100 kilobytes
+still remain to be written to the File Server. The \fB\-verbose\fR flag
+produces output that confirms the new setting, and that the default store
+asynchrony is zero.
+.PP
+.Vb 3
+\& % fs storebehind \-kbytes 100 \-files test.data \-verbose
+\& Will store up to 100 kbytes of test.data asynchronously.
+\& Default store asynchrony is 0 kbytes.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To include the \fB\-allfiles\fR argument, the issuer must be logged in as the
+local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+To include the \fB\-kbytes\fR and \fB\-files\fR arguments, the issuer must either
+be logged in as the local superuser \f(CW\*(C`root\*(C'\fR or have the \f(CW\*(C`w\*(C'\fR (write)
+permission on the \s-1ACL\s0 of each file's directory.
+.PP
+To view the current settings (by including no arguments, the \fB\-file\fR
+argument alone, or the \fB\-verbose\fR argument alone), no privilege is
+required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_SYSNAME 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_SYSNAME 1"
++.TH FS_SYSNAME 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_sysname \- Reports or sets the CPU/operating system type
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs sysname\fR [\fB\-newsys\fR\ <\fInew\ sysname\fR>]+ [\fB\-help\fR]
+.PP
+\&\fBfs sy\fR [\fB\-n\fR\ <\fInew\ sysname\fR>]+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs sysname\fR command sets or displays the local machine's
+CPU/operating system type as recorded in kernel memory. The Cache Manager
+substitutes the string for the \fI\f(CI@sys\fI\fR variable which can occur in \s-1AFS\s0
+pathnames; the \fIOpenAFS Quick Beginnings\fR and \fIOpenAFS Administration
+Guide\fR explain how using \fI\f(CI@sys\fI\fR can simplify cell configuration. It is
+best to use it sparingly, however, because it can make the effect of
+changing directories unpredictable.
+.PP
+The command always applies to the local machine only. If issued on an \s-1NFS\s0
+client machine accessing \s-1AFS\s0 via the \s-1NFS/AFS\s0 Translator, the string is set
+or reported for the \s-1NFS\s0 client machine. The Cache Manager on the \s-1AFS\s0
+client machine serving as the \s-1NFS\s0 client's \s-1NFS/AFS\s0 translator machine
+stores the value in its kernel memory, and so can provide the \s-1NFS\s0 client
+with the proper version of program binaries when the user issues commands
+for which the pathname to the binaries includes \fI\f(CI@sys\fI\fR. There is a
+separate record for each user logged into the \s-1NFS\s0 client, which implies
+that if a user adopts a new identity (\s-1UNIX\s0 \s-1UID\s0) during a login session on
+the \s-1NFS\s0 client \*(-- perhaps by using the \s-1UNIX\s0 \fBsu\fR command \*(-- he or she
+must verify that the correct string is set for the new identity also.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-newsys\fR <\fInew sysname\fR>" 4
+.IX Item "-newsys <new sysname>"
+Sets the CPU/operating system indicator string for the local machine. This
+option may be used multiple times in the same invocation, which sets \fI\f(CI@sys\fI\fR
+to an array of values. When \fI\f(CI@sys\fI\fR contains an array of values, the first
+value that matches a path is used.
+.Sp
+If this argument is omitted, the output displays the current setting
+instead. \s-1AFS\s0 uses a standardized set of strings; consult the \fIOpenAFS Quick
+Beginnings\fR or \fIOpenAFS Release Notes\fR.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+When the \fB\-newsys\fR argument is omitted, the output reports the machine's
+system type in the following format:
+.PP
+.Vb 1
+\& Current sysname is \*(Aq<system_type>\*(Aq
+.Ve
+.PP
+When the \fB\-newsys\fR argument is included, the output is the following:
+.PP
+.Vb 1
+\& fs: new sysname list set.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output produced on a Sun SPARCStation
+running Solaris 5.7:
+.PP
+.Vb 2
+\& % fs sysname
+\& Current sysname is \*(Aqsun4x_57\*(Aq
+.Ve
+.PP
+The following command defines a machine to be a \s-1IBM\s0 \s-1RS/6000\s0 running \s-1AIX\s0
+4.2:
+.PP
+.Vb 1
+\& % fs sysname \-newsys rs_aix42
+.Ve
+.PP
+The following command defines a machine to be Mac \s-1OS\s0 X \s-1PPC\s0 and a
+custom type 'foo'. The second command queries the new sysname:
+.PP
+.Vb 4
+\& % fs sysname \-newsys ppc_darwin_80 \-newsys foo
+\& fs: new sysname list set.
+\& % fs sysname
+\& Current sysname list is \*(Aqppc_darwin_80\*(Aq \*(Aqfoo\*(Aq
+.Ve
+.PP
+If \fI\f(CI@sys\fI\fR is \f(CW\*(C`ppc_darwin_80 foo\*(C'\fR, then \f(CW\*(C`cd @sys\*(C'\fR will try to change
+to the \f(CW\*(C`ppc_darwin_80\*(C'\fR directory. If the \f(CW\*(C`ppc_darwin_80\*(C'\fR directory
+doesn't exist, then the \f(CW\*(C`foo\*(C'\fR directory is tried.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To display the current setting, no privilege is required. To include the
+\&\fB\-newsys\fR argument on an \s-1AFS\s0 client machine, the issuer must be logged in
+as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_exportafs\fR\|(1),
+\&\fIsys\fR\|(1)
+.PP
+\&\fIOpenAFS Quick Beginnings\fR
+<http://www.openafs.org/pages/doc/QuickStartUnix/auqbg000.htm>
+.PP
+\&\fIOpenAFS Administration Guide\fR
+<http://www.openafs.org/pages/doc/AdminGuide/auagd000.htm>
+.PP
+For the list of assigned standard sysname values, see
+<http://grand.central.org/numbers/systypes.html>
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_TRACE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_TRACE 1"
++.TH FS_TRACE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_trace \- Enable or disable AFS Cache Manager tracing
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs trace\fR [\fB\-on\fR|\fB\-off\fR] [\fB\-reset\fR] [\fB\-dump\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This command enables or disables \s-1AFS\s0 Cache Manager tracing, resets the
+trace log, or dumps the log. When you dump the log, two files are created
+in the Windows Temporary directory: \fIafs\-buffer.log\fR and \fIafsd.log\fR.
+Any existing files with those names will be replaced.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is only available on Windows.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Any combination of the following options may be specified, except that
+both \fB\-on\fR and \fB\-off\fR cannot be specified at the same time.
+.IP "\fB\-on\fR" 4
+.IX Item "-on"
+Turn tracing on.
+.IP "\fB\-off\fR" 4
+.IX Item "-off"
+Turn tracing off.
+.IP "\fB\-reset\fR" 4
+.IX Item "-reset"
+Resets the tracing information, discarding any trace-information collected
+up to this time.
+.IP "\fB\-dump\fR" 4
+.IX Item "-dump"
+Creates a dump file containing the trace information.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If successful, the output of this command (for any option) will be:
+.PP
+.Vb 1
+\& AFS tracing enabled
+.Ve
+.PP
+If unsuccessful:
+.PP
+.Vb 1
+\& AFS tracing disabled
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command starts tracing:
+.PP
+.Vb 1
+\& % fs trace \-on
+.Ve
+.PP
+The following dumps the current contents and resets the trace log, then
+turns tracing off:
+.PP
+.Vb 1
+\& % fs trace \-dump \-reset \-off
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be have \s-1AFS\s0 Client Administrator access to issue this
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008. This documentation is covered by the \s-1BSD\s0 License as
+written in the doc/LICENSE file. This man page was written by Mike
+Robinson (mike@endpoint.com) for OpenAFS.
--- /dev/null
- .TH FS_UUID 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_UUID 1"
++.TH FS_UUID 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_uuid \- Prints the uuid of the client or generates a new one
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs uuid\fR [\fB\-generate\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBfs uuid\fR prints the current \s-1UUID\s0 of an OpenAFS client. It can
+optionally force the generation of a new \s-1UUID\s0, if needed. The client \s-1UUID\s0
+is used by the \fBfileserver\fR to differentiate clients with the same \s-1IP\s0
+address.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBfs uuid\fR command is only available in OpenAFS versions after 1.4.5
+and 1.5.8. The behavior differs slightly between versions. In OpenAFS
+1.4.5 and later, the \fB\-generate\fR option is required and the \s-1UUID\s0 for the
+client machine is never printed. OpenAFS versions 1.5.8 and later will
+print the \s-1UUID\s0.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-generate\fR" 4
+.IX Item "-generate"
+Generates a new \s-1UUID\s0 for the cache manager. This is useful if two clients
+share the same \s-1UUID\s0 (if systems were cloned incorrectly, for example).
+\&\fB\-generate\fR is optional in OpenAFS versions 1.5.8 and later, but it is
+required in OpenAFS versions 1.4.5 and later.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+\&\fBfs uuid\fR prints out the current \s-1UUID\s0 for the client or the new \s-1UUID\s0
+if the \fB\-generate\fR option is passed to it.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+There are only two ways to invoke \fBfs uuid\fR under 1.5.8 and later:
+.PP
+.Vb 2
+\& % fs uuid
+\& UUID: 8ac66f9308a8e\-47d7\-80f7\-50d0040cddc2
+\&
+\& % fs uuid \-generate
+\& New UUID: 436bd660\-1720\-429508e470cff38f5c6fb0
+.Ve
+.PP
+Here is the only way to invoke \fBfs uuid\fR under OpenAFS 1.4.5 and later:
+.PP
+.Vb 2
+\& % fs uuid \-generate
+\& New uuid generated.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged on as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH FS_WHEREIS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_WHEREIS 1"
++.TH FS_WHEREIS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_whereis \- Reports each file server housing a file or directory
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs whereis\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs whe\fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs whereis\fR command returns the name of each file server machine
+that houses the volume containing each directory or file named by the
+\&\fB\-path\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR <\fIdir/file path\fR>+" 4
+.IX Item "-path <dir/file path>+"
+Names each \s-1AFS\s0 file or directory for which to return the host file server
+machine. Partial pathnames are interpreted relative to the current working
+directory, which is also the default value if this argument is omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes a line for each specified directory or file. It names
+the file server machine on which the volume that houses the specified
+directory or file resides. A list of multiple machines indicates that the
+directory or file is in a replicated volume.
+.PP
+Machine names usually have a suffix indicating their cell membership. If
+the cell is not clear, use the \fBfs whichcell\fR command to display the cell
+in which the directory or file resides. To display the cell membership of
+the local machine, use the \fBfs wscell\fR command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example indicates that volume housing the directory
+\&\fI/afs/abc.com\fR resides is replicated on both \f(CW\*(C`fs1.abc.com\*(C'\fR and
+\&\f(CW\*(C`fs3.abc.com\*(C'\fR:
+.PP
+.Vb 2
+\& % fs whereis \-path /afs/abc.com
+\& File /afs/abc.com is on hosts fs1.abc.com fs3.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_whichcell\fR\|(1),
+\&\fIfs_wscell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_WHICHCELL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_WHICHCELL 1"
++.TH FS_WHICHCELL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_whichcell \- Returns the cell to which a file or directory belongs
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs whichcell\fR [\fB\-path\fR\ <\fIdir/file\ path\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfs whi \fR [\fB\-p\fR\ <\fIdir/file\ path\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs whichcell\fR command returns the name of the cell in which the
+volume that houses each indicated directory or file resides.
+.PP
+To display the file server machine on which the volume housing a directory
+or file resides, use the \fBfs whichcell\fR command. To display the cell
+membership of the local machine, use the \fBfs wscell\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-path\fR \fIIdir/file path\fR>+" 4
+.IX Item "-path Idir/file path>+"
+Names each \s-1AFS\s0 file or directory for which to return the cell
+membership. Partial pathnames are interpreted relative to the current
+working directory, which is also the default value if this argument is
+omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes a line for each directory or file, naming the cell to
+which the volume that houses the directory or file resides.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows that the current working directory resides in
+a volume in the \s-1ABC\s0 Corporation cell:
+.PP
+.Vb 2
+\& % fs whichcell
+\& File . lives in cell \*(Aqabc.com\*(Aq
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_wscell\fR\|(1),
+\&\fIfs_whereis\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FS_WSCELL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FS_WSCELL 1"
++.TH FS_WSCELL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fs_wscell \- Returns the name of the cell to which a machine belongs
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfs wscell\fR [\fB\-help\fR]
+.PP
+\&\fBfs ws\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfs wscell\fR command returns the name of the local machine's home
+cell.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output displays the contents of the local \fI/usr/vice/etc/ThisCell\fR
+file, in the format
+.PP
+.Vb 1
+\& This workstation belongs to cell \*(Aq<cellname>\*(Aq
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example results when the fs wscell is issued on a machine in
+the State University cell:
+.PP
+.Vb 2
+\& % fs wscell
+\& This workstation belongs to cell \*(Aqstateu.edu\*(Aq
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_whereis\fR\|(1),
+\&\fIfs_whichcell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KLOG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KLOG 1"
++.TH KLOG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+klog, klog.krb \- Authenticates with the Authentication Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBklog\fR [\fB\-x\fR] [\fB\-principal\fR\ <\fIuser\ name\fR>]
+ [\-password <\fIuser's password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ servers\fR>+]
+ [\fB\-pipe\fR] [\fB\-silent\fR]
+ [\fB\-lifetime\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-setpag\fR] [\fB\-tmp\fR] [\fB\-help\fR]
+.PP
+\&\fBklog\fR [\fB\-x\fR] [\fB\-pr\fR\ <\fIuser\ name\fR>] [\fB\-pa\fR\ <\fIuser's\ password\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-s\fR\ <\fIexplicit\ list\ of\ servers\fR>+]
+ [\fB\-pi\fR] [\fB\-si\fR] [\fB\-l\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-se\fR] [\fB\-t\fR] [\fB\-h\fR]
+.PP
+\&\fBklog.krb\fR [\fB\-x\fR] [\fB\-principal\fR\ <\fIuser\ name\fR>]
+ [\-password <\fIuser's password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ servers\fR>+]
+ [\fB\-pipe\fR] [\fB\-silent\fR]
+ [\fB\-lifetime\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-setpag\fR] [\fB\-tmp\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBklog\fR command obtains an \s-1AFS\s0 token from the Authentication
+Server. The Cache Manager on the local machine stores the token in a
+credential structure in kernel memory and uses it when obtaining
+authenticated access to the \s-1AFS\s0 filespace. This command does not affect
+the issuer's identity (\s-1UNIX\s0 \s-1UID\s0) in the local file system.
+.PP
+By default, the command interpreter obtains a token for the \s-1AFS\s0 user name
+that matches the issuer's identity in the local file system. To specify an
+alternate user, include the \fB\-principal\fR argument. The user named by the
+\&\fB\-principal\fR argument does not have to appear in the local password file
+(the \fI/etc/passwd\fR file or equivalent).
+.PP
+By default, the command interpreter obtains a token for the local cell, as
+defined by the \s-1AFSCELL\s0 environment variable set in the command shell or by
+the \fI/usr/vice/etc/ThisCell\fR file on the local machine. To specify an
+alternate cell, include the \fB\-cell\fR argument. The command interpreter
+contacts an Authentication Server chosen at random from the cell's entry
+in the local \fI/usr/afs/etc/CellServDB\fR file, unless the \fB\-servers\fR
+argument is used to name one or more database server machines.
+.PP
+A user can have tokens in multiple cells simultaneously, but only one
+token per cell per connection to the client machine. If the user's
+credential structure already contains a token for the requested cell, the
+token resulting from this command replaces it.
+.PP
+Sites that employ Kerberos authentication instead of the \s-1AFS\s0
+Authentication Server should normally use the combination of \fBkinit\fR and
+\&\fBaklog\fR instead of \fBklog\fR.
+.PP
+Sites using Kerberos v4 authentication (perhaps with the \s-1AFS\s0
+Authentication Server) should use the Kerberos version of this command,
+\&\fBklog.krb\fR, on all client machines. It automatically places the issuer's
+Kerberos tickets in the file named by the \s-1KRBTKFILE\s0 environment variable,
+which the \fBpagsh.krb\fR command defines automatically as \fI/tmp/tktp\fIX\fI\fR
+where \fIX\fR is the number of the user's \s-1PAG\s0.
+.PP
+The lifetime of the token resulting from this command is the smallest of
+the following.
+.IP "\(bu" 4
+The lifetime specified by the issuer with the \fB\-lifetime\fR argument. If
+the issuer does not include this argument, the value defaults to 720 hours
+(30 days).
+.IP "\(bu" 4
+The maximum ticket lifetime recorded for the afs entry in the
+Authentication Database. The default is 100 hours.
+.IP "\(bu" 4
+The maximum ticket lifetime recorded in the specified user's
+Authentication Database entry. The default is 25 hours for user entries
+created by an Authentication Server running \s-1AFS\s0 3.1 or later.
+.IP "\(bu" 4
+The maximum ticket lifetime recorded in the krbtgt.\fI\s-1CELLNAME\s0\fR entry in
+the Authentication Database; this entry corresponds to the ticket-granting
+ticket used internally in generating the token. The default is 720 hours
+(30 days).
+.PP
+The output from the kas examine command displays an Authentication
+Database entry's maximum ticket lifetime as \f(CW\*(C`Max ticket
+lifetime\*(C'\fR. Administrators can display any entry, and users can display
+their own entries.
+.PP
+If none of the defaults have been changed, the token lifetime is 25 hours
+for user accounts created by an Authentication Server running \s-1AFS\s0 3.1 or
+higher. The maximum lifetime for any token is 720 hours (30 days), and the
+minimum is 5 minutes.
+.PP
+Between the minimum and maximum values, the Authentication Server uses a
+defined set of values, according to the following rules. Requested
+lifetimes between 5 minutes and 10 hours 40 minutes are granted at 5
+minute intervals, rounding up. For example, if the issuer requests a
+lifetime of 12 minutes, the token's actual lifetime is 15 minutes.
+.PP
+For token lifetimes greater than 10 hours 40 minutes, consult the
+following table, which presents all the possible times in units of
+\&\fIhours\fR\fB:\fR\fIminutes\fR\fB:\fR\fIseconds\fR. The number in parentheses is an
+approximation of the corresponding time in days and hours (as indicated by
+the \f(CW\*(C`d\*(C'\fR and \f(CW\*(C`h\*(C'\fR letters). For example, \f(CW\*(C`282:22:17\*(C'\fR means 282 hours, 22
+minutes, and 17 seconds, which translates to approximately 11 days and 18
+hours (\f(CW\*(C`11d 18h\*(C'\fR). The Authentication Server rounds up a requested
+lifetime to the next highest possible lifetime.
+.PP
+.Vb 10
+\& 11:24:15 (0d 11h) 46:26:01 (1d 22h) 189:03:38 (7d 21h)
+\& 12:11:34 (0d 12h) 49:38:40 (2d 01h) 202:08:00 (8d 10h)
+\& 13:02:09 (0d 13h) 53:04:37 (2d 05h) 216:06:35 (9d 00h)
+\& 13:56:14 (0d 13h) 56:44:49 (2d 08h) 231:03:09 (9d 15h)
+\& 14:54:03 (0d 14h) 60:40:15 (2d 12h) 247:01:43 (10d 07h)
+\& 15:55:52 (0d 15h) 64:51:57 (2d 16h) 264:06:34 (11d 00h)
+\& 17:01:58 (0d 17h) 69:21:04 (2d 21h) 282:22:17 (11d 18h)
+\& 18:12:38 (0d 18h) 74:08:46 (3d 02h) 301:53:45 (12d 13h)
+\& 19:28:11 (0d 19h) 79:16:23 (3d 07h) 322:46:13 (13d 10h)
+\& 20:48:57 (0d 20h) 84:45:16 (3d 12h) 345:05:18 (14d 09h)
+\& 22:15:19 (0d 22h) 90:36:53 (3d 18h) 368:56:58 (15d 08h)
+\& 23:47:38 (0d 23h) 96:52:49 (4d 00h) 394:27:37 (16d 10h)
+\& 25:26:21 (1d 01h) 103:34:45 (4d 07h) 421:44:07 (17d 13h)
+\& 27:11:54 (1d 03h) 110:44:28 (4d 14h) 450:53:46 (18d 18h)
+\& 29:04:44 (1d 05h) 118:23:54 (4d 22h) 482:04:24 (20d 02h)
+\& 31:05:22 (1d 07h) 126:35:05 (5d 06h) 515:24:22 (21d 11h)
+\& 33:14:21 (1d 09h) 135:20:15 (5d 15h) 551:02:38 (22d 23h)
+\& 35:32:15 (1d 11h) 144:41:44 (6d 00h) 589:08:45 (24d 13h)
+\& 37:59:41 (1d 13h) 154:42:01 (6d 10h) 629:52:56 (26d 05h)
+\& 40:37:19 (1d 16h) 165:23:50 (6d 21h) 673:26:07 (28d 01h)
+\& 43:25:50 (1d 19h) 176:50:01 (7d 08h)
+.Ve
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+By default, this command does not create a new process authentication
+group (\s-1PAG\s0); see the description of the \fBpagsh\fR command to learn about
+PAGs. If a cell does not use an AFS-modified login utility, users must
+include \fB\-setpag\fR option to this command, or issue the \fBpagsh\fR command
+before this one, to have their tokens stored in a credential structure
+that is identified by \s-1PAG\s0 rather than by local \s-1UID\s0.
+.PP
+When a credential structure is identified by local \s-1UID\s0, the potential
+security exposure is that the local superuser \f(CW\*(C`root\*(C'\fR can use the \s-1UNIX\s0
+\&\fBsu\fR command to assume any other identity and automatically inherit the
+tokens associated with that \s-1UID\s0. Identifying the credential structure by
+\&\s-1PAG\s0 eliminates this exposure.
+.PP
+If the \fB\-password\fR argument is used, the specified password cannot begin
+with a hyphen, because it is interpreted as another option name. Use of
+the \fB\-password\fR argument is not recommended in any case.
+.PP
+By default, it is possible to issue this command on a properly configured
+\&\s-1NFS\s0 client machine that is accessing \s-1AFS\s0 via the \s-1NFS/AFS\s0 Translator,
+assuming that the \s-1NFS\s0 client machine is a supported system type. However,
+if the translator machine's administrator has enabled \s-1UID\s0 checking by
+including the \fB\-uidcheck on\fR argument to the \fBfs exportafs\fR command, the
+command fails with an error message similar to the following:
+.PP
+.Vb 2
+\& Warning: Remote pioctl to <translator_machine> has failed (err=8). . .
+\& Unable to authenticate to AFS because a pioctl failed.
+.Ve
+.PP
+Enabling \s-1UID\s0 checking means that the credential structure in which tokens
+are stored on the translator machine must be identified by a \s-1UID\s0 that
+matches the local \s-1UID\s0 of the process that is placing the tokens in the
+credential structure. After the \fBklog\fR command interpreter obtains the
+token on the \s-1NFS\s0 client, it passes it to the remote executor daemon on the
+translator machine, which makes the system call that stores the token in a
+credential structure on the translator machine. The remote executor
+generally runs as the local superuser \f(CW\*(C`root\*(C'\fR, so in most cases its local
+\&\s-1UID\s0 (normally zero) does not match the local \s-1UID\s0 of the user who issued
+the \fBklog\fR command on the \s-1NFS\s0 client machine.
+.PP
+Issuing the \fBklog\fR command on an \s-1NFS\s0 client machine creates a security
+exposure: the command interpreter passes the token across the network to
+the remote executor daemon in clear text mode.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-x\fR" 4
+.IX Item "-x"
+Appears only for backwards compatibility. Its former function is now the
+default behavior of this command.
+.IP "\fB\-principal\fR <\fIuser name\fR>" 4
+.IX Item "-principal <user name>"
+Specifies the user name to authenticate. If this argument is omitted, the
+Authentication Server attempts to authenticate the user logged into the
+local system.
+.IP "\fB\-password\fR <\fIuser's password\fR>" 4
+.IX Item "-password <user's password>"
+Specifies the issuer's password (or that of the alternate user identified
+by the \fB\-principal\fR argument). Omit this argument to have the command
+interpreter prompt for the password, in which case it does not echo
+visibly in the command shell.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the cell for which to obtain a token. The command is directed to
+that cell's Authentication Servers. During a single login session on a
+given machine, a user can be authenticated in multiple cells
+simultaneously, but can have only one token at a time for each of them
+(that is, can only authenticate under one identity per cell per session on
+a machine). It is acceptable to abbreviate the cell name to the shortest
+form that distinguishes it from the other cells listed in the
+\&\fI/usr/vice/etc/CellServDB\fR file on the client machine on which the
+command is issued.
+.Sp
+If this argument is omitted, the command is executed in the local cell, as
+defined
+.RS 4
+.IP "\(bu" 4
+First, by the value of the environment variable \s-1AFSCELL\s0.
+.IP "\(bu" 4
+Second, in the \fI/usr/vice/etc/ThisCell\fR file on the client machine on
+which the command is issued.
+.RE
+.RS 4
+.RE
+.IP "\fB\-servers\fR <\fIexplicit list of servers\fR>+" 4
+.IX Item "-servers <explicit list of servers>+"
+Establishes a connection with the Authentication Server running on each
+specified database server machine. The command interpreter then chooses
+one of these at random to execute the command. It is best to provide
+fully-qualified hostnames, but abbreviated forms are possibly acceptable
+depending on the state of the cell's name server at the time the command
+is issued. This option is useful for testing specific servers if problems
+are encountered.
+.Sp
+If this argument is omitted, the command interpreter establishes a
+connection with each machine listed for the indicated cell in the local
+copy of the \fI/usr/vice/etc/CellServDB\fR file, and then chooses one of them
+at random for command execution.
+.IP "\fB\-pipe\fR" 4
+.IX Item "-pipe"
+Suppresses all output to the standard output stream, including prompts and
+error messages. The \fBklog\fR command interpreter expects to receive the
+password from the standard input stream. Do not use this argument; it is
+designed for use by application programs rather than human users.
+.IP "\fB\-silent\fR" 4
+.IX Item "-silent"
+Suppresses some of the trace messages that the klog command produces on
+the standard output stream by default. It still reports on major problems
+encountered.
+.IP "\fB\-lifetime\fR <\fIticket lifetime\fR" 4
+.IX Item "-lifetime <ticket lifetime"
+Requests a specific lifetime for the token. Provide a number of hours and
+optionally minutes and seconds in the format \fIhh\fR[\fB:\fR\fImm\fR[\fB:\fR\fIss\fR]].
+The value is used in calculating the token lifetime as described in
+\&\s-1DESCRIPTION\s0.
+.IP "\fB\-setpag\fR" 4
+.IX Item "-setpag"
+Creates a process authentication group (\s-1PAG\s0) prior to requesting
+authentication. The token is associated with the newly created \s-1PAG\s0.
+.IP "\fB\-tmp\fR" 4
+.IX Item "-tmp"
+Creates a Kerberos-style ticket file in the \fI/tmp\fR directory of the local
+machine. The file is called \fItkt.\fI\s-1AFS_UID\s0\fI\fR where \fI\s-1AFS_UID\s0\fR is the \s-1AFS\s0
+\&\s-1UID\s0 of the issuer.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The following message indicates that the limit on consecutive
+authentication failures has been exceeded. An administrator can use the
+\&\fBkas unlock\fR command to unlock the account, or the issuer can wait until
+the lockout time for the account has passed. (The time is set with the
+\&\fB\-locktime\fR argument to the \fBkas setfields\fR command and displayed in the
+output from the \fBkas examine\fR command).
+.PP
+.Vb 1
+\& Unable to authenticate to AFS because ID is locked \- see your system admin
+.Ve
+.PP
+If the \fB\-tmp\fR flag is included, the following message confirms that a
+Kerberos-style ticket file was created:
+.PP
+.Vb 1
+\& Wrote ticket file to /tmp
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Most often, this command is issued without arguments. The appropriate
+password is for the person currently logged into the local system. The
+ticket's lifetime is calculated as described in \s-1DESCRIPTION\s0 (if no
+defaults have been changed, it is 25 hours for a user whose Authentication
+Database entry was created in \s-1AFS\s0 3.1 or later).
+.PP
+.Vb 2
+\& % klog
+\& Password:
+.Ve
+.PP
+The following example authenticates the user as admin in the \s-1ABC\s0
+Corporation's test cell:
+.PP
+.Vb 2
+\& % klog \-principal admin \-cell test.abc.com
+\& Password:
+.Ve
+.PP
+In the following, the issuer requests a ticket lifetime of 104 hours 30
+minutes (4 days 8 hours 30 minutes). Presuming that this lifetime is
+allowed by the maximum ticket lifetimes and other factors described in
+\&\s-1DESCRIPTION\s0, the token's lifetime is 110:44:28, which is the next
+largest possible value.
+.PP
+.Vb 2
+\& % klog \-lifetime 104:30
+\& Password:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_exportafs\fR\|(1),
+\&\fIkas_examine\fR\|(8),
+\&\fIkas_setfields\fR\|(8),
+\&\fIkas_unlock\fR\|(8),
+\&\fIkaserver\fR\|(8),
+\&\fIpagsh\fR\|(1),
+\&\fItokens\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KLOG.KRB5 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KLOG.KRB5 1"
++.TH KLOG.KRB5 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+klog.krb5 \- Authenticates to Kerberos and obtains a token
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBklog.krb5\fR [\fB\-x\fR] [\fB\-principal\fR\ <\fIuser\ name\fR>]
+ [\-password <\fIuser's password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-k\fR\ <\fIrealm\fR>] [\fB\-pipe\fR] [\fB\-silent\fR]
+ [\fB\-lifetime\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-setpag\fR] [\fB\-tmp\fR] [\fB\-noprdb\fR] [\fB\-unwrap\fR] [\fB\-help\fR]
+.PP
+\&\fBklog.krb5\fR [\fB\-x\fR] [\fB\-pr\fR\ <\fIuser\ name\fR>]
+ [\fB\-pa\fR\ <\fIuser's\ password\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>]
+ \fB[\fB\-k\fB <\f(BIrealm\fB>]\fR [\fB\-pi\fR] [\fB\-si\fR]
+ [\fB\-l\fR\ <\fIticket\ lifetime\ in\ hh[:mm[:ss]]\fR>]
+ [\fB\-se\fR] [\fB\-t\fR] [\fB\-n\fR] [\fB\-u\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBklog.krb5\fR command obtains a Kerberos v5 ticket from a Kerberos
+\&\s-1KDC\s0 and, from the ticket, an \s-1AFS\s0 token and then stores it in the Cache
+Manager. The Cache Manager keeps the token in kernel memory and uses it
+when obtaining authenticated access to the \s-1AFS\s0 filespace. This command
+does not affect the issuer's identity (\s-1UNIX\s0 \s-1UID\s0) on the local file system.
+.PP
+By default, the command interpreter obtains a token for the \s-1AFS\s0 user name
+that matches the issuer's local user name. To specify an alternate user,
+include the \fB\-principal\fR argument. The user named by the \fB\-principal\fR
+argument does not have to appear in the local password file (the
+\&\fI/etc/passwd\fR file or equivalent).
+.PP
+By default, the command interpreter obtains a token for the local cell, as
+defined by the \s-1AFSCELL\s0 environment variable set in the command shell or by
+the \fI/usr/vice/etc/ThisCell\fR file on the local machine. To specify an
+alternate cell, include the \fB\-cell\fR argument. A user can have tokens in
+multiple cells simultaneously, but only one token per cell per connection
+to the client machine. If the user's credential structure already
+contains a token for the requested cell, the token resulting from this
+command replaces it.
+.PP
+By default, the command interpreter obtains a Kerberos ticket for the
+local realm. To specify a different Kerberos realm, include the \fB\-k\fR
+argument. The Kerberos realm name need not match the \s-1AFS\s0 cell name.
+\&\fBklog.krb5\fR will request a ticket for the principal \f(CW\*(C`afs/\f(CIcell\f(CW\*(C'\fR where
+\&\fIcell\fR is the cell name for which the user is requesting tokens, falling
+back on the principal \f(CW\*(C`afs\*(C'\fR if that principal does not work.
+.PP
+The lifetime of the token resulting from this command is the smallest of
+the following:
+.IP "\(bu" 4
+The lifetime specified by the issuer with the \fB\-lifetime\fR argument if
+that argument was given.
+.IP "\(bu" 4
+The maximum ticket lifetime recorded for the \f(CW\*(C`afs/\f(CIcell\f(CW\*(C'\fR principal in
+thet Kerberos database.
+.IP "\(bu" 4
+The maximum ticket lifetime recorded in the specified user's Kerberos
+database entry.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+By default, this command does not create a new process authentication
+group (\s-1PAG\s0); see the description of the \fBpagsh\fR command to learn about
+PAGs. If a cell does not use an AFS-modified login utility, users must
+include \fB\-setpag\fR option to this command, or issue the \fBpagsh\fR command
+before this one, to have their tokens stored in a credential structure
+that is identified by \s-1PAG\s0 rather than by local \s-1UID\s0. Users should be aware
+that \fB\-setpag\fR will not work on some systems, most notably recent Linux
+systems, and using \fBpagsh\fR is preferrable and more reliable.
+.PP
+When a credential structure is identified by local \s-1UID\s0, the potential
+security exposure is that the local superuser \f(CW\*(C`root\*(C'\fR can use the \s-1UNIX\s0
+\&\fBsu\fR command to assume any other identity and automatically inherit the
+tokens associated with that \s-1UID\s0. Identifying the credential structure by
+\&\s-1PAG\s0 makes it more difficult (but not impossible) for the local superuser
+to obtain tokens of other users.
+.PP
+If the \fB\-password\fR argument is used, the specified password cannot begin
+with a hyphen, because it is interpreted as another option name. Use of
+the \fB\-password\fR argument is not recommended in any case.
+.PP
+By default, it is possible to issue this command on a properly configured
+\&\s-1NFS\s0 client machine that is accessing \s-1AFS\s0 via the \s-1NFS/AFS\s0 Translator,
+assuming that the \s-1NFS\s0 client machine is a supported system type. However,
+if the translator machine's administrator has enabled \s-1UID\s0 checking by
+including the \fB\-uidcheck on\fR argument to the \fBfs exportafs\fR command, the
+command fails with an error message similar to the following:
+.PP
+.Vb 2
+\& Warning: Remote pioctl to <translator_machine> has failed (err=8). . .
+\& Unable to authenticate to AFS because a pioctl failed.
+.Ve
+.PP
+Enabling \s-1UID\s0 checking means that the credential structure in which tokens
+are stored on the translator machine must be identified by a \s-1UID\s0 that
+matches the local \s-1UID\s0 of the process that is placing the tokens in the
+credential structure. After the \fBklog.krb5\fR command interpreter obtains
+the token on the \s-1NFS\s0 client, it passes it to the remote executor daemon on
+the translator machine, which makes the system call that stores the token
+in a credential structure on the translator machine. The remote executor
+generally runs as the local superuser \f(CW\*(C`root\*(C'\fR, so in most cases its local
+\&\s-1UID\s0 (normally zero) does not match the local \s-1UID\s0 of the user who issued
+the \fBklog.krb5\fR command on the \s-1NFS\s0 client machine.
+.PP
+Issuing the \fBklog.krb5\fR command on an \s-1NFS\s0 client machine creates a
+security exposure: the command interpreter passes the token across the
+network to the remote executor daemon in clear text mode.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-x\fR" 4
+.IX Item "-x"
+Appears only for backwards compatibility. Its former function is now the
+default behavior of this command.
+.IP "\fB\-principal\fR <\fIuser name\fR>" 4
+.IX Item "-principal <user name>"
+Specifies the user name to authenticate. If this argument is omitted, the
+default value is the local user name.
+.IP "\fB\-password\fR <\fIuser's password\fR>" 4
+.IX Item "-password <user's password>"
+Specifies the issuer's password (or that of the alternate user identified
+by the \fB\-principal\fR argument). Omit this argument to have the command
+interpreter prompt for the password, in which case it does not echo
+visibly in the command shell.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the cell for which to obtain a token. During a single login
+session on a given machine, a user can be authenticated in multiple cells
+simultaneously, but can have only one token at a time for each of them
+(that is, can only authenticate under one identity per cell per session on
+a machine). It is acceptable to abbreviate the cell name to the shortest
+form that distinguishes it from the other cells listed in the
+\&\fI/usr/vice/etc/CellServDB\fR file on the client machine on which the
+command is issued.
+.Sp
+If this argument is omitted, the command is executed in the local cell, as
+defined
+.RS 4
+.IP "\(bu" 4
+First, by the value of the environment variable \s-1AFSCELL\s0.
+.IP "\(bu" 4
+Second, in the \fI/usr/vice/etc/ThisCell\fR file on the client machine on
+which the command is issued.
+.RE
+.RS 4
+.RE
+.IP "\fB\-k\fR <\fIrealm\fR>" 4
+.IX Item "-k <realm>"
+Obtain tickets and tokens from the <\fIrealm\fR> Kerberos realm. If this
+option is not given, \fBklog.krb5\fR defaults to using the default local
+realm. The Kerberos realm name need not match the \s-1AFS\s0 cell name.
+.IP "\fB\-pipe\fR" 4
+.IX Item "-pipe"
+Suppresses all output to the standard output stream, including prompts and
+error messages. The \fBklog.krb5\fR command interpreter expects to receive
+the password from the standard input stream. Do not use this argument; it
+is designed for use by application programs rather than human users.
+.IP "\fB\-silent\fR" 4
+.IX Item "-silent"
+Suppresses some of the trace messages that the \fBklog.krb5\fR command
+produces on the standard output stream by default. It still reports on
+major problems encountered.
+.IP "\fB\-lifetime\fR <\fIticket lifetime\fR" 4
+.IX Item "-lifetime <ticket lifetime"
+Requests a specific lifetime for the token. Provide a number of hours and
+optionally minutes and seconds in the format \fIhh\fR[\fB:\fR\fImm\fR[\fB:\fR\fIss\fR]].
+.IP "\fB\-setpag\fR" 4
+.IX Item "-setpag"
+Creates a process authentication group (\s-1PAG\s0) prior to requesting
+authentication. The token is associated with the newly created \s-1PAG\s0.
+.IP "\fB\-tmp\fR" 4
+.IX Item "-tmp"
+Creates a Kerberos-style ticket file rather than only obtaining tokens.
+The ticket file will be stored in the default Kerberos ticket cache
+location, which is usually in the \fI/tmp\fR directory of the local machine
+(but depends on the Kerberos implementation used).
+.IP "\fB\-noprdb\fR" 4
+.IX Item "-noprdb"
+By default, \fBklog.krb5\fR looks up the user's \s-1AFS\s0 \s-1ID\s0 in the Protection
+Server and associates the token with that \s-1AFS\s0 \s-1ID\s0. This is helpful when
+looking at the output of commands like \fBtokens\fR but is not required. If
+this option is given, this behavior is suppressed and \fBklog.krb5\fR will
+store the token under a generic name. You may wish this if, for example,
+you have problems contacting the Protection Server for an \s-1AFS\s0 cell for
+some reason.
+.IP "\fB\-unwrap\fR" 4
+.IX Item "-unwrap"
+Normally, \fBklog.krb5\fR uses the Kerberos service ticket for the \s-1AFS\s0
+principal as the \s-1AFS\s0 token. If this option is given, \fBklog.krb5\fR creates
+a different, simplified \s-1AFS\s0 token form based on the service ticket (the
+so-called \*(L"rxkad 2b\*(R" token). Normally, this is not necessary. However,
+if you are using older OpenAFS software that cannot handle large ticket
+sizes in conjunction with Active Directory as the Kerberos server, using
+\&\fB\-unwrap\fR can shrink the \s-1AFS\s0 token size so that older software can handle
+it more easily.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the \fB\-tmp\fR flag is included, the following message confirms that a
+Kerberos ticket cache was created:
+.PP
+.Vb 1
+\& Wrote ticket file to /tmp/krb5cc_1000_rENJoZ
+.Ve
+.PP
+The path to the cache will vary, of course.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Most often, this command is issued without arguments. The appropriate
+password is for the person currently logged into the local system. The
+ticket's lifetime is calculated as described in \s-1DESCRIPTION\s0.
+.PP
+.Vb 2
+\& % klog.krb5
+\& Password for user@EXAMPLE.ORG:
+.Ve
+.PP
+The following example authenticates the user as admin in the \s-1ABC\s0
+Corporation's test cell:
+.PP
+.Vb 2
+\& % klog.krb5 \-principal admin \-cell test.abc.com
+\& Password for admin@ABC.COM:
+.Ve
+.PP
+In the following, the issuer requests a ticket lifetime of 104 hours 30
+minutes (4 days 8 hours 30 minutes).
+.PP
+.Vb 2
+\& % klog.krb5 \-lifetime 104:30
+\& Password for user@EXAMPLE.ORG:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIaklog\fR\|(1),
+\&\fIfs_exportafs\fR\|(1),
+\&\fIpagsh\fR\|(1),
+\&\fItokens\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It
+was converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and
+Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KNFS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KNFS 1"
++.TH KNFS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+knfs \- Establishes authenticated access via the NFS/AFS Translator
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBknfs\fR \fB\-host\fR\ <\fIhost\ name\fR> [\fB\-id\fR\ <\fIuser\ \s-1ID\s0\ (decimal)\fR>]
+ [\fB\-sysname\fR\ <\fIhost's\ '@sys'\ value\fR>] [\fB\-unlog\fR] [\fB\-tokens\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBknfs\fR \fB\-ho\fR\ <\fIhost\ name\fR> [\fB\-i\fR\ <\fIuser\ \s-1ID\s0\ (decimal)\fR>]
+ [\fB\-s\fR\ <\fIhost's\ '@sys'\ value\fR>] [\fB\-u\fR] [\fB\-t\fR] [\fB\-he\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBknfs\fR command creates an \s-1AFS\s0 credential structure on the local
+machine, identifying it by a process authentication group (\s-1PAG\s0) number
+associated with the \s-1NFS\s0 client machine named by the \fB\-hostname\fR argument
+and by default with a local \s-1UID\s0 on the \s-1NFS\s0 client machine that matches the
+issuer's local \s-1UID\s0 on the local machine. It places in the credential
+structure the \s-1AFS\s0 tokens that the issuer has previously obtained (by
+logging onto the local machine if an AFS-modified login utility is
+installed, by issuing the \fBklog\fR command, or both). To associate the
+credential structure with an \s-1NFS\s0 \s-1UID\s0 that does not match the issuer's
+local \s-1UID\s0, use the \fB\-id\fR argument.
+.PP
+Issue this command only on the \s-1NFS\s0(R)/AFS translator machine that is
+serving the \s-1NFS\s0 client machine, after obtaining \s-1AFS\s0 tokens on the
+translator machine for every cell to which authenticated access is
+required. The Cache Manager on the translator machine uses the tokens to
+obtain authenticated \s-1AFS\s0 access for the designated user working on the \s-1NFS\s0
+client machine. This command is not effective if issued on an \s-1NFS\s0 client
+machine.
+.PP
+To enable the user on the \s-1NFS\s0 client machine to issue \s-1AFS\s0 commands, use
+the \fB\-sysname\fR argument to specify the \s-1NFS\s0 client machine's system type,
+which can differ from the translator machine's. The \s-1NFS\s0 client machine
+must be a system type for which \s-1AFS\s0 is supported.
+.PP
+The \fB\-unlog\fR flag discards the tokens in the credential structure, but
+does not destroy the credential structure itself. The Cache Manager on the
+translator machine retains the credential structure until the next reboot,
+and uses it each time the issuer accesses \s-1AFS\s0 through the translator
+machine. The credential structure only has tokens in it if the user
+reissues the \fBknfs\fR command on the translator machine each time the user
+logs into the \s-1NFS\s0 client machine.
+.PP
+To display the tokens associated with the designated user on the \s-1NFS\s0
+client machine, include the \fB\-tokens\fR flag.
+.PP
+Users working on \s-1NFS\s0 client machines of system types for which \s-1AFS\s0
+binaries are available can use the \fBklog\fR command rather than the \fBknfs\fR
+command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If the translator machine's administrator has enabled \s-1UID\s0 checking by
+issuing the \fBfs exportafs\fR command with the \fB\-uidcheck on\fR argument, it
+is not possible to use the \fB\-id\fR argument to assign the tokens to an \s-1NFS\s0
+\&\s-1UID\s0 that differs from the issuer's local \s-1UID\s0. In this case, there is no
+point in including the \fB\-id\fR argument, because the only acceptable value
+(the issuer's local \s-1UID\s0) is the value used when the \fB\-id\fR argument is
+omitted. Requiring matching UIDs is effective only when users have the
+same local \s-1UID\s0 on the translator machine as on \s-1NFS\s0 client machines. In
+that case, it guarantees that users assign their tokens only to their own
+\&\s-1NFS\s0 sessions.
+.PP
+This command does not make it possible for users working on non-supported
+system types to issue \s-1AFS\s0 commands. This is possible only on \s-1NFS\s0 clients
+of a system type for which \s-1AFS\s0 is available.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-host\fR <\fIhost name\fR>" 4
+.IX Item "-host <host name>"
+Names the \s-1NFS\s0 client machine on which the issuer is to work. Providing a
+fully-qualified hostname is best, but abbreviated forms are possibly
+acceptable depending on the state of the cell's name server at the time
+the command is issued.
+.IP "\fB\-id\fR <\fIuser \s-1ID\s0 (decimal)\fR>" 4
+.IX Item "-id <user ID (decimal)>"
+Specifies the local \s-1UID\s0 on the \s-1NFS\s0 client to which to assign the
+tokens. The \s-1NFS\s0 client identifies file requests by the \s-1NFS\s0 \s-1UID\s0, so
+creating the association enables the Cache Manager on the translator
+machine to use the appropriate tokens when filling the requests. If this
+argument is omitted, the command interpreter uses an \s-1NFS\s0 \s-1UID\s0 that matches
+the issuer's local \s-1UID\s0 on the translator machine (as returned by the
+\&\fIgetuid()\fR function).
+.IP "\fB\-sysname\fR <\fIhost's '@sys' value\fR>" 4
+.IX Item "-sysname <host's '@sys' value>"
+Specifies the value that the local (translator) machine's remote executor
+daemon substitutes for the \fI\f(CI@sys\fI\fR variable in pathnames when executing
+\&\s-1AFS\s0 commands issued on the \s-1NFS\s0 client machine (which must be a supported
+system type). If the \s-1NFS\s0 user's \s-1PATH\s0 environment variable uses the \fI\f(CI@sys\fI\fR
+variable in the pathnames for directories that house \s-1AFS\s0 binaries (as
+recommended), then setting this argument enables \s-1NFS\s0 users to issue \s-1AFS\s0
+commands by leading the remote executor daemon to access the \s-1AFS\s0 binaries
+appropriate to the \s-1NFS\s0 client machine even if its system type differs from
+the translator machine's.
+.IP "\fB\-unlog\fR" 4
+.IX Item "-unlog"
+Discards the tokens stored in the credential structure identified by the
+\&\s-1PAG\s0 associated with the \fB\-host\fR argument and, optionally, the \fB\-id\fR
+argument.
+.IP "\fB\-tokens\fR" 4
+.IX Item "-tokens"
+Displays the \s-1AFS\s0 tokens assigned to the designated user on the indicated
+\&\s-1NFS\s0 client machine.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The following error message indicates that \s-1UID\s0 checking is enabled on the
+translator machine and that the value provided for the \fB\-id\fR argument
+differs from the issuer's local \s-1UID\s0.
+.PP
+.Vb 2
+\& knfs: Translator in \*(Aqpasswd sync\*(Aq mode; remote uid must be the same as
+\& local uid
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example illustrates a typical use of this command. The
+issuer \f(CW\*(C`smith\*(C'\fR is working on the machine \f(CW\*(C`nfscli1.abc.com\*(C'\fR and has user
+\&\s-1ID\s0 \f(CW1020\fR on that machine. The translator machine \f(CW\*(C`tx4.abc.com\*(C'\fR uses an
+AFS-modified login utility, so \f(CW\*(C`smith\*(C'\fR obtains tokens for the \s-1ABC\s0
+Corporation cell automatically upon login via the \fBtelnet\fR program. She
+then issues the \fBklog\fR command to obtain tokens as \f(CW\*(C`admin\*(C'\fR in the \s-1ABC\s0
+Corporation's test cell, \f(CW\*(C`test.abc.com\*(C'\fR, and the \fBknfs\fR command to
+associate both tokens with the credential structure identified by machine
+name \f(CW\*(C`nfs\-cli1\*(C'\fR and user \s-1ID\s0 \f(CW1020\fR. She breaks the connection to \f(CW\*(C`tx4\*(C'\fR
+and works on \f(CW\*(C`nfscli1\*(C'\fR.
+.PP
+.Vb 5
+\& % telnet tx4.abc.com
+\& . . .
+\& login: smith
+\& Password:
+\& AFS(R) login
+\&
+\& % klog admin \-cell test.abc.com
+\& Password:
+\&
+\& % knfs nfscli1.abc.com 1020
+\&
+\& % exit
+.Ve
+.PP
+The following example shows user smith again connecting to the machine
+\&\f(CW\*(C`tx4\*(C'\fR via the \fBtelnet\fR program and discarding the tokens.
+.PP
+.Vb 5
+\& % telnet translator4.abc.com
+\& . . .
+\& login: smith
+\& Password:
+\& AFS(R) login
+\&
+\& % knfs nfscli1.abc.com 1020 \-unlog
+\&
+\& % exit
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIklog\fR\|(1),
+\&\fIpagsh\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KPASSWD 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KPASSWD 1"
++.TH KPASSWD 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kpasswd \- Changes the issuer's password in the Authentication Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkpasswd\fR [\fB\-x\fR] [\fB\-principal\fR\ <\fIuser\ name\fR>]
+ [\fB\-password\fR\ <\fIuser's\ password\fR>]
+ [\fB\-newpassword\fR\ <\fIuser's\ new\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ servers\fR>+] [\fB\-pipe\fR] [\fB\-help\fR]
+.PP
+\&\fBkpasswd\fR [\fB\-x\fR] [\fB\-pr\fR\ <\fIuser\ name\fR>] [\fB\-pa\fR\ <\fIuser's\ password\fR>]
+ [\fB\-n\fR\ <\fIuser's\ new\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ servers\fR>+] [\fB\-pi\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkpasswd\fR command changes the password recorded in an Authentication
+Database entry. By default, the command interpreter changes the password
+for the \s-1AFS\s0 user name that matches the issuer's local identity (\s-1UNIX\s0
+\&\s-1UID\s0). To specify an alternate user, include the \fB\-principal\fR
+argument. The user named by the \fB\-principal\fR argument does not have to
+appear in the local password file (the \fI/etc/passwd\fR file or equivalent).
+.PP
+By default, the command interpreter sends the password change request to
+the Authentication Server running on one of the database server machines
+listed for the local cell in the \fI/usr/afs/etc/CellServDB\fR file on the
+local disk; it chooses the machine at random. It consults the
+\&\fI/usr/vice/etc/ThisCell\fR file on the local disk to learn the local cell
+name. To specify an alternate cell, include the \fB\-cell\fR argument.
+.PP
+Unlike the \s-1UNIX\s0 \fBpasswd\fR command, the \fBkpasswd\fR command does not
+restrict passwords to eight characters or less; it accepts passwords of
+virtually any length. All \s-1AFS\s0 commands that require passwords (including
+the \fBklog\fR, \fBkpasswd\fR, and AFS-modified login utilities, and the
+commands in the \fBkas\fR suite) accept passwords longer than eight
+characters, but some other applications and operating system utilities do
+not. Selecting an \s-1AFS\s0 password of eight characters or less enables the
+user to maintain matching \s-1AFS\s0 and \s-1UNIX\s0 passwords.
+.PP
+The command interpreter makes the following checks:
+.IP "\(bu" 4
+If the program \fBkpwvalid\fR exists in the same directory as the \fBkpasswd\fR
+command, the command interpreter pass the new password to it for
+verification. For details, see \fIkpwvalid\fR\|(8).
+.IP "\(bu" 4
+If the \fB\-reuse\fR argument to the kas setfields command has been used to
+prohibit reuse of previous passwords, the command interpreter verifies
+that the password is not too similar too any of the user's previous 20
+passwords. It generates the following error message at the shell:
+.Sp
+.Vb 1
+\& Password was not changed because it seems like a reused password
+.Ve
+.Sp
+To prevent a user from subverting this restriction by changing the
+password twenty times in quick succession (manually or by running a
+script), use the \fB\-minhours\fR argument on the \fBkaserver\fR initialization
+command. The following error message appears if a user attempts to change
+a password before the minimum time has passed:
+.Sp
+.Vb 2
+\& Password was not changed because you changed it too
+\& recently; see your systems administrator
+.Ve
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-x\fR" 4
+.IX Item "-x"
+Appears only for backwards compatibility.
+.IP "\fB\-principal\fR <\fIuser name\fR>" 4
+.IX Item "-principal <user name>"
+Names the Authentication Database entry for which to change the
+password. If this argument is omitted, the database entry with the same
+name as the issuer's local identity (\s-1UNIX\s0 \s-1UID\s0) is changed.
+.IP "\fB\-password\fR <\fIuser's password\fR>" 4
+.IX Item "-password <user's password>"
+Specifies the current password. Omit this argument to have the command
+interpreter prompt for the password, which does not echo visibly:
+.Sp
+.Vb 1
+\& Old password: current_password
+.Ve
+.IP "\fB\-newpassword\fR <\fIuser's new password\fR>" 4
+.IX Item "-newpassword <user's new password>"
+Specifies the new password, which the \fBkpasswd\fR command interpreter
+converts into an encryption key (string of octal numbers) before sending
+it to the Authentication Server for storage in the user's Authentication
+Database entry.
+.Sp
+Omit this argument to have the command interpreter prompt for the
+password, which does not echo visibly:
+.Sp
+.Vb 2
+\& New password (RETURN to abort): <new_password>
+\& Retype new password: <new_password>
+.Ve
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the cell in which to change the password, by directing the
+command to that cell's Authentication Servers. The issuer can abbreviate
+the cell name to the shortest form that distinguishes it from the other
+cells listed in the local \fI/usr/vice/etc/CellServDB\fR file.
+.Sp
+By default, the command is executed in the local cell, as defined
+.RS 4
+.IP "\(bu" 4
+First, by the value of the environment variable \s-1AFSCELL\s0.
+.IP "\(bu" 4
+Second, in the \fI/usr/vice/etc/ThisCell\fR file on the client machine on
+which the command is issued.
+.RE
+.RS 4
+.RE
+.IP "\fB\-servers\fR <\fIexplicit list of servers\fR>" 4
+.IX Item "-servers <explicit list of servers>"
+Establishes a connection with the Authentication Server running on each
+specified machine, rather than with all of the database server machines
+listed for the relevant cell in the local copy of the
+\&\fI/usr/vice/etc/CellServDB\fR file. The \fBkpasswd\fR command interpreter then
+sends the password-changing request to one machine chosen at random from
+the set.
+.IP "\fB\-pipe\fR" 4
+.IX Item "-pipe"
+Suppresses all output to the standard output stream or standard error
+stream. The \fBkpasswd\fR command interpreter expects to receive all
+necessary arguments, each on a separate line, from the standard input
+stream. Do not use this argument, which is provided for use by application
+programs rather than human users.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows user pat changing her password in the \s-1ABC\s0
+Corporation cell.
+.PP
+.Vb 5
+\& % kpasswd
+\& Changing password for \*(Aqpat\*(Aq in cell \*(Aqabc.com\*(Aq.
+\& Old password:
+\& New password (RETURN to abort):
+\& Verifying, please re\-enter new_password:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas_setfields\fR\|(8),
+\&\fIkas_setpassword\fR\|(8),
+\&\fIklog\fR\|(1),
+\&\fIkpwvalid\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH LIVESYS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "LIVESYS 1"
++.TH LIVESYS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+livesys \- Reports the configured CPU/operating system type
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBlivesys\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBlivesys\fR command displays the string stored in kernel memory that
+indicates the local machine's CPU/operating system (\s-1OS\s0) type,
+conventionally called the \fIsysname\fR. The Cache Manager substitutes this
+string for the \fI\f(CI@sys\fI\fR variable which can occur in \s-1AFS\s0 pathnames; the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR and \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR explain
+how using \fI\f(CI@sys\fI\fR can simplify cell configuration.
+.PP
+To set a new value in kernel memory, use the \fBfs sysname\fR command, which
+can also be used to view the current value. If a sysname list was set
+using \fBfs sysname\fR, only the first value in the list will be reported by
+\&\fBlivesys\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+To see the full sysname list, use \fBfs sysname\fR rather than this command.
+\&\fBlivesys\fR is mostly useful for scripts that need to know the primary
+sysname for the local system (to create directories that will later be
+addressed using \fI\f(CI@sys\fI\fR, for example).
+.PP
+\&\fBlivesys\fR first appeared in OpenAFS 1.2.2. Scripts that need to support
+older versions of \s-1AFS\s0 should parse the output of \fBfs sysname\fR or use
+\&\fBsys\fR.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The machine's system type appears as a text string:
+.PP
+.Vb 1
+\& I<system_type>
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output produced on a Linux system with a
+2.6 kernel:
+.PP
+.Vb 2
+\& % livesys
+\& i386_linux26
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_sysname\fR\|(1),
+\&\fIsys\fR\|(1)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+Copyright 2005 Russ Allbery <rra@stanford.edu>
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It
+was written by Russ Allbery based on the \fBsys\fR man page.
--- /dev/null
- .TH PACKAGE_TEST 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PACKAGE_TEST 1"
++.TH PACKAGE_TEST 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+package_test \- Tests the validity of a package configuration file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpackage_test\fR\ <\fIconfig\ file\fR>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpackage_test\fR command tests the validity of a \fBpackage\fR
+configuration file created when a prototype file is compiled. The command
+interpreter prints error messages on the standard output stream.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "<\fIconfig file\fR>" 4
+.IX Item "<config file>"
+Specifies the package configuration file to validate.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example tests the validity of the package configuration file
+\&\f(CW\*(C`staff.sun4x_56\*(C'\fR.
+.PP
+.Vb 1
+\& % package_test staff.sun4x_56
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpackage\fR\|(5),
+\&\fIpackage\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PAGSH 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PAGSH 1"
++.TH PAGSH 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pagsh, pagsh.krb \- Creates a new PAG
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpagsh\fR
+.PP
+\&\fBpagsh.krb\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpagsh\fR command creates a new command shell (owned by the issuer of
+the command) and associates a new \fIprocess authentication group\fR (\s-1PAG\s0)
+with the shell and the user. A \s-1PAG\s0 is a number guaranteed to identify the
+issuer of commands in the new shell uniquely to the local Cache
+Manager. The \s-1PAG\s0 is used, instead of the issuer's \s-1UNIX\s0 \s-1UID\s0, to identify
+the issuer in the credential structure that the Cache Manager creates to
+track each user.
+.PP
+Any tokens acquired subsequently (presumably for other cells) become
+associated with the \s-1PAG\s0, rather than with the user's \s-1UNIX\s0 \s-1UID\s0. This
+method for distinguishing users has two advantages:
+.IP "\(bu" 2
+It means that processes spawned by the user inherit the \s-1PAG\s0 and so share
+the token; thus they gain access to \s-1AFS\s0 as the authenticated user. In
+many environments, for example, printer and other daemons run under
+identities (such as the local superuser \f(CW\*(C`root\*(C'\fR) that the \s-1AFS\s0 server
+processes recognize only as \f(CW\*(C`anonymous\*(C'\fR. Unless PAGs are used, such
+daemons cannot access files in directories whose access control lists
+(ACLs) do not extend permissions to the system:anyuser group.
+.IP "\(bu" 2
+It closes a potential security loophole: \s-1UNIX\s0 allows anyone already logged
+in as the local superuser \f(CW\*(C`root\*(C'\fR on a machine to assume any other
+identity by issuing the \s-1UNIX\s0 \fBsu\fR command. If the credential structure is
+identified by a \s-1UNIX\s0 \s-1UID\s0 rather than a \s-1PAG\s0, then the local superuser
+\&\f(CW\*(C`root\*(C'\fR can assume a \s-1UNIX\s0 \s-1UID\s0 and use any tokens associated with that
+\&\s-1UID\s0. Use of a \s-1PAG\s0 as an identifier eliminates that possibility.
+.PP
+The (mostly obsolete) \fBpagsh.krb\fR command is the same as \fBpagsh\fR except
+that it also sets the \s-1KRBTKFILE\s0 environment variable, which controls the
+default Kerberos v4 ticket cache, to \fI/tmp/tktp\fIX\fI\fR where \fIX\fR is the
+number of the user's \s-1PAG\s0. This is only useful for \s-1AFS\s0 cells still using
+Kerberos v4 outside of \s-1AFS\s0 and has no effect for cells using Kerberos v5
+and \fBaklog\fR or \fBklog.krb5\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Each \s-1PAG\s0 created uses two of the memory slots that the kernel uses to
+record the \s-1UNIX\s0 groups associated with a user. If none of these slots are
+available, the \fBpagsh\fR command fails. This is not a problem with most
+operating systems, which make at least 16 slots available per user.
+.PP
+In cells that do not use an AFS-modified login utility, use this command
+to obtain a \s-1PAG\s0 before issuing the \fBklog\fR command (or include the
+\&\fB\-setpag\fR argument to the \fBklog\fR command). If a \s-1PAG\s0 is not acquired, the
+Cache Manager stores the token in a credential structure identified by
+local \s-1UID\s0 rather than \s-1PAG\s0. This creates the potential security exposure
+described in \s-1DESCRIPTION\s0.
+.PP
+If users of \s-1NFS\s0 client machines for which \s-1AFS\s0 is supported are to issue
+this command as part of authenticating with \s-1AFS\s0, do not use the \fBfs
+exportafs\fR command's \fB\-uidcheck on\fR argument to enable \s-1UID\s0 checking on
+\&\s-1NFS/AFS\s0 Translator machines. Enabling \s-1UID\s0 checking prevents this command
+from succeeding. See \fIklog\fR\|(1).
+.PP
+If \s-1UID\s0 checking is not enabled on Translator machines, then by default it
+is possible to issue this command on a properly configured \s-1NFS\s0 client
+machine that is accessing \s-1AFS\s0 via the \s-1NFS/AFS\s0 Translator, assuming that
+the \s-1NFS\s0 client machine is a supported system type. The \fBpagsh\fR binary
+accessed by the \s-1NFS\s0 client must be owned by, and grant setuid privilege
+to, the local superuser \f(CW\*(C`root\*(C'\fR. The complete set of mode bits must be
+\&\f(CW\*(C`\-rwsr\-xr\-x\*(C'\fR. This is not a requirement when the command is issued on \s-1AFS\s0
+client machines.
+.PP
+However, if the translator machine's administrator has enabled \s-1UID\s0
+checking by including the \fB\-uidcheck on\fR argument to the \fBfs exportafs\fR
+command, the command fails with an error message similar to the following:
+.PP
+.Vb 2
+\& Warning: Remote setpag to <translator_machine> has failed (err=8). . .
+\& setpag: Exec format error
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In the following example, the issuer invokes the C shell instead of the
+default Bourne shell:
+.PP
+.Vb 1
+\& # pagsh \-c /bin/csh
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIaklog\fR\|(1),
+\&\fIfs_exportafs\fR\|(1),
+\&\fIklog\fR\|(1),
+\&\fItokens\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS 1"
++.TH PTS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts \- Introduction to the pts command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBpts\fR command suite are the administrative interface
+to the Protection Server, which runs on each database server machine in a
+cell and maintains the Protection Database. The database stores the
+information that \s-1AFS\s0 uses to augment and refine the standard \s-1UNIX\s0 scheme
+for controlling access to files and directories.
+.PP
+Instead of relying only on the mode bits that define access rights for
+individual files, \s-1AFS\s0 associates an access control list (\s-1ACL\s0) with each
+directory. The \s-1ACL\s0 lists users and groups and specifies which of seven
+possible access permissions they have for the directory and the files it
+contains. (It is still possible to set a directory or file's mode bits,
+but \s-1AFS\s0 interprets them in its own way; see the chapter on protection in
+the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR for details.)
+.PP
+\&\s-1AFS\s0 enables users to define groups in the Protection Database and place
+them on ACLs to extend a set of rights to multiple users simultaneously.
+Groups simplify administration by making it possible to add someone to
+many ACLs by adding them to a group that already exists on those
+ACLs. Machines can also be members of a group, so that users logged into
+the machine automatically inherit the permissions granted to the group.
+.PP
+There are several categories of commands in the pts command suite:
+.IP "\(bu" 4
+Commands to create and remove Protection Database entries: \fBpts
+creategroup\fR, \fBpts createuser\fR, and \fBpts delete\fR.
+.IP "\(bu" 4
+Commands to administer and display group membership: \fBpts adduser\fR, \fBpts
+listowned\fR, \fBpts membership\fR, and \fBpts removeuser\fR.
+.IP "\(bu" 4
+Commands to administer and display properties of user and group entries
+other than membership: \fBpts chown\fR, \fBpts examine\fR, \fBpts listentries\fR,
+\&\fBpts rename\fR, and \fBpts setfields\fR.
+.IP "\(bu" 4
+Commands to set and examine the counters used when assigning IDs to users
+and groups: \fBpts listmax\fR and \fBpts setmax\fR.
+.IP "\(bu" 4
+Commands to run commands interactively: \fBpts interactive\fR, \fBpts
+sleep\fR, and \fBpts quit\fR.
+.IP "\(bu" 4
+A command to run commands from a file: \fBpts source\fR.
+.IP "\(bu" 4
+Commands to obtain help: \fBpts apropos\fR and \fBpts help\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following arguments and flags are available on many commands in the
+\&\fBpts\fR suite. The reference page for each command also lists them, but
+they are described here in greater detail.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. It is acceptable to abbreviate
+the cell name to the shortest form that distinguishes it from the other
+entries in the \fI/usr/vice/etc/CellServDB\fR file on the local machine. If
+the \fB\-cell\fR argument is omitted, the command interpreter determines the
+name of the local cell by reading the following in order:
+.RS 4
+.IP "\(bu" 4
+The value of the \s-1AFSCELL\s0 environment variable.
+.IP "\(bu" 4
+The local \fI/usr/vice/etc/ThisCell\fR file.
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell.
+.RE
+.RS 4
+.RE
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution immediately.
+Without it, the command halts as soon as the first error is
+encountered. In either case, the \fBpts\fR command interpreter reports errors
+at the command shell. This flag is especially useful if the issuer
+provides many values for a command line argument; if one of them is
+invalid, the command interpreter continues on to process the remaining
+arguments.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Establishes an unauthenticated connection to the Protection Server, in
+which the server treats the issuer as the unprivileged user
+\&\f(CW\*(C`anonymous\*(C'\fR. It is useful only when authorization checking is disabled on
+the server machine (during the installation of a file server machine or
+when the \fBbos setauth\fR command has been used during other unusual
+circumstances). In normal circumstances, the Protection Server allows only
+privileged users to issue commands that change the Protection Database,
+and refuses to perform such an action even if the \fB\-noauth\fR flag is
+provided.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Establishes an authenticated, encrypted connection to the Protection Server.
+It is useful when it is desired to obscure network traffic related to the
+transactions being done.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using the server encryption key with the
+highest key version number in the local \fI/usr/afs/etc/KeyFile\fR file. The
+\&\fBpts\fR command interpreter presents the ticket, which never expires, to
+the \s-1BOS\s0 Server during mutual authentication.
+.Sp
+Use this flag only when issuing a command on a server machine; client
+machines do not usually have a \fI/usr/afs/etc/KeyFile\fR file. The issuer
+of a command that includes this flag must be logged on to the server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR. The flag is useful for commands
+invoked by an unattended application program, such as a process controlled
+by the \s-1UNIX\s0 \fBcron\fR utility. It is also useful if an administrator is
+unable to authenticate to \s-1AFS\s0 but is logged in as the local superuser
+\&\f(CW\*(C`root\*(C'\fR.
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell. Also, do not combine the \fB\-localauth\fR and
+\&\fB\-noauth\fR flags.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Members of the system:administrators group can issue all \fBpts\fR commands
+on any entry in the Protection Database.
+.PP
+Users who do not belong to the system:administrators group can list
+information about their own entry and any group entries they own. The
+privacy flags set with the \fBpts setfields\fR command control access to
+entries owned by other users.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts_adduser\fR\|(1),
+\&\fIpts_apropos\fR\|(1),
+\&\fIpts_chown\fR\|(1),
+\&\fIpts_creategroup\fR\|(1),
+\&\fIpts_createuser\fR\|(1),
+\&\fIpts_delete\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_help\fR\|(1),
+\&\fIpts_interactive\fR\|(1),
+\&\fIpts_listentries\fR\|(1),
+\&\fIpts_listmax\fR\|(1),
+\&\fIpts_listowned\fR\|(1),
+\&\fIpts_membership\fR\|(1),
+\&\fIpts_quit\fR\|(1),
+\&\fIpts_removeuser\fR\|(1),
+\&\fIpts_rename\fR\|(1),
+\&\fIpts_setfields\fR\|(1),
+\&\fIpts_setmax\fR\|(1),
+\&\fIpts_sleep\fR\|(1),
+\&\fIpts_source\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_ADDUSER 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_ADDUSER 1"
++.TH PTS_ADDUSER 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_adduser \- Adds a user or machine to a Protection Database group
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts adduser\fR \fB\-user\fR\ <\fIuser\ name\fR>+ \fB\-group\fR\ <\fIgroup\ name\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts ad\fR \fB\-u\fR\ <\fIuser\ name\fR>+ \fB\-g\fR\ <\fIgroup\ name\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts adduser\fR command adds each user or machine entry named by the
+\&\fB\-user\fR argument as a member of each group named by the \fB\-group\fR
+argument.
+.PP
+To remove members of a group, use the \fBpts removeuser\fR command. To list
+the groups to which a user or machine belongs, or the members of a
+specified group, use the \fBpts membership\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+After being added as a group member, a currently authenticated user must
+reauthenticate (for example, by issuing the \fBklog\fR command) to obtain
+permissions granted to the group on an access control list (\s-1ACL\s0).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-user\fR <\fIuser name\fR>+" 4
+.IX Item "-user <user name>+"
+Specifies the name of each user or machine entry to add to each group
+named by the \fB\-group\fR argument. The name of a machine entry resembles an
+\&\s-1IP\s0 address and can use the wildcard notation described on the \fBpts
+createuser\fR reference page. The user or machine entry must already exist
+in the Protection Database.
+.IP "\fB\-group\fR <\fIgroup name\fR>+" 4
+.IX Item "-group <group name>+"
+Specifies the complete name (including the owner prefix if applicable) of
+each group to which to add members. The group entry must already exist in
+the Protection Database.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBpts\fR command interpreter presents the
+ticket to the Protection Server during mutual authentication. Do not combine
+this flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example adds user smith to the group system:administrators.
+.PP
+.Vb 1
+\& % pts adduser \-user smith \-group system:administrators
+.Ve
+.PP
+The following example adds users \f(CW\*(C`jones\*(C'\fR, \f(CW\*(C`terry\*(C'\fR, and \fBpat\fR to the
+smith:colleagues group.
+.PP
+.Vb 1
+\& % pts adduser \-user jones terry pat \-group smith:colleagues
+.Ve
+.PP
+The following example adds the machine entries in the \s-1ABC\s0 Corporation
+subnet to the group \f(CW\*(C`bin\-prot\*(C'\fR. Because of the \s-1IP\s0 address range of the
+\&\s-1ABC\s0 Corporation subnet, the system administrator was able to group the
+machines into three machine entries (using the wildcard notation discussed
+on the \fBpts createuser\fR reference page).
+.PP
+.Vb 1
+\& % pts adduser \-user 138.255.0.0 192.12.105.0 192.12.106.0 \-group bin\-prot
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The required privilege depends on the setting of the fourth privacy flag
+in the Protection Database entry for each group named by the \fB\-group\fR
+argument (use the \fBpts examine\fR command to display the flags):
+.IP "\(bu" 4
+If it is the hyphen, only the group's owner and members of the
+system:administrators group can add members.
+.IP "\(bu" 4
+If it is lowercase \f(CW\*(C`a\*(C'\fR, current members of the group can add new members.
+.IP "\(bu" 4
+If it is uppercase \f(CW\*(C`A\*(C'\fR, anyone who can access the cell's database server
+machines can add new members.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_createuser\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_membership\fR\|(1),
+\&\fIpts_removeuser\fR\|(1),
+\&\fIpts_setfields\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_APROPOS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_APROPOS 1"
++.TH PTS_APROPOS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBpts ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts apropos\fR command displays the first line of the online help
+entry for any \fBpts\fR command that has in its name or short description the
+string specified by the \fB\-topic\fR argument.
+.PP
+To display the syntax for a command, use the \fBpts help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes ("") or
+other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBpts\fR command in which the string specified by the \fB\-topic\fR argument is
+part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists all pts commands that include the word
+\&\f(CW\*(C`create\*(C'\fR in their names or short descriptions:
+.PP
+.Vb 3
+\& % pts apropos create
+\& creategroup: create a new group
+\& createuser: create a new user
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_help\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_CHOWN 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_CHOWN 1"
++.TH PTS_CHOWN 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_chown \- Changes the owner of a Protection Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts chown\fR \fB\-name\fR\ <\fIgroup\ name\fR> \fB\-owner\fR\ <\fInew\ owner\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts cho\fR \fB\-na\fR\ <\fIgroup\ name\fR> \fB\-o\fR\ <\fInew\ owner\fR>
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts chown\fR command designates the user or group named by the
+\&\fB\-owner\fR argument as the owner of the group named by the \fB\-name\fR
+argument, and records the new owner in the owner field of the group's
+Protection Database entry.
+.PP
+In the case of regular groups, this command automatically changes the
+group name's owner prefix (the part of the group name before the colon) to
+match the new owner. If the new owner is itself a group, then only its
+owner prefix, not its complete name, becomes the owner prefix in the new
+name. The change to the owner prefix does not propagate to any groups
+owned by the group, however. To make the owner prefix of such group-owned
+groups reflect the new owning group, use the \fBpts rename\fR command.
+.PP
+It is not possible to change a user or machine entry's owner from the
+default set at creation time, the system:administrators group.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+While designating a machine as a group's owner does not cause an error, it
+is not recommended. The Protection Server does not extend the usual
+privileges of group ownership to users logged onto the machine.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIgroup name\fR>" 4
+.IX Item "-name <group name>"
+Specifies the current name of the group to which to assign a new owner.
+.IP "\fB\-owner\fR <\fInew owner\fR>" 4
+.IX Item "-owner <new owner>"
+Names the user or group to become the group's owner.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the \fB\-cell\fR
+or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example changes the owner of the group \f(CW\*(C`terry:friends\*(C'\fR from
+the user \f(CW\*(C`terry\*(C'\fR to the user \f(CW\*(C`pat\*(C'\fR. A side effect is that the group name
+changes to \f(CW\*(C`pat:friends\*(C'\fR.
+.PP
+.Vb 1
+\& % pts chown \-name terry:friends \-owner pat
+.Ve
+.PP
+The following example changes the owner of the group \f(CW\*(C`terry:friends\*(C'\fR from
+the user \f(CW\*(C`terry\*(C'\fR to the group \f(CW\*(C`pat:buddies\*(C'\fR. A side effect is that the
+group name changes to \f(CW\*(C`pat:friends\*(C'\fR.
+.PP
+.Vb 1
+\& % pts chown \-name terry:friends \-owner pat:buddies
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group or currently own
+the group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_rename\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_CREATEGROUP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_CREATEGROUP 1"
++.TH PTS_CREATEGROUP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_creategroup \- Creates an (empty) Protection Database group entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts creategroup\fR \fB\-name\fR\ <\fIgroup\ name\fR>+
+ [\fB\-owner\fR\ <\fIowner\ of\ the\ group\fR>]
+ [\fB\-id\fR\ <\fIid\ (negated)\ for\ the\ group\fR>+] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts createg\fR \fB\-na\fR\ <\fIgroup\ name\fR>+ [\fB\-o\fR\ <\fIowner\ of\ the\ group\fR>]
+ [\fB\-i\fR\ <\fIid\ (negated)\ for\ the\ group\fR>+] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.PP
+\&\fBpts cg\fR \fB\-na\fR\ <\fIgroup\ name\fR>+ [\fB\-o\fR\ <\fIowner\ of\ the\ group\fR>]
+ [\fB\-i\fR\ <\fIid\ (negated)\ for\ the\ group\fR>+] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts creategroup\fR command creates an entry in the Protection Database
+for each group specified by the \fB\-name\fR argument. The entry records the
+issuer of the command as the group's creator, and as the group's owner
+unless the \fB\-owner\fR argument names an alternate user or group as the
+owner.
+.PP
+There are two types of groups:
+.IP "\(bu" 4
+\&\fIregular\fR, the names of which have two parts separated by a colon. The
+part before the colon names the group's owner. Any user can create such
+groups.
+.IP "\(bu" 4
+\&\fIprefix-less\fR, which do not have an owner prefix. Only members of the
+system:administrators group can create prefix-less groups.
+.PP
+Creating a group lowers the issuer's group-creation quota by one. This is
+true even if the \fB\-owner\fR argument is used to assign ownership to an
+alternate user or group. To display a user's group-creation quota, use the
+\&\fBpts examine\fR command; to set it, use the \fBpts setfields\fR command.
+.PP
+\&\s-1AFS\s0 group \s-1ID\s0 (\s-1AFS\s0 \s-1GID\s0) numbers are negative integers and by default the
+Protection Server assigns a \s-1GID\s0 that is one less (more negative) than the
+current value of the \f(CW\*(C`max group id\*(C'\fR counter in the Protection Database,
+decrementing the counter by one for each group. Members of the
+system:administrators group can use the \fB\-id\fR argument to assign specific
+\&\s-1AFS\s0 \s-1GID\s0 numbers. If any of the specified GIDs is lower (more negative)
+than the current value of the \f(CW\*(C`max group id\*(C'\fR counter, the counter is
+reset to that value. It is acceptable to specify a \s-1GID\s0 greater (less
+negative) than the current value of the counter, but the creation
+operation fails if an existing group already has it. To display or set the
+value of the \f(CW\*(C`max group id\*(C'\fR counter, use the \fBpts listmax\fR or \fBpts
+setmax\fR command, respectively.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command generates the following string to confirm creation of each
+group:
+.PP
+.Vb 1
+\& group <name> has id <AFS GID>
+.Ve
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Although using the \fB\-owner\fR argument to designate a machine entry as a
+group's owner does not generate an error, it is not recommended. The
+Protection Server does not extend the usual privileges of group ownership
+to users logged onto the machine.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIgroup name\fR>" 4
+.IX Item "-name <group name>"
+Specifies the name of each group to create. Provide a string of up to 63
+characters, which can include lowercase (but not uppercase) letters,
+numbers, and punctuation marks. A regular name includes a single colon
+(\f(CW\*(C`:\*(C'\fR) to separate the two parts of the name; the colon cannot appear in a
+prefix-less group name.
+.Sp
+A regular group's name must have the following format:
+.Sp
+.Vb 1
+\& <owner_name>:<group_name>
+.Ve
+.Sp
+and the <owner_name> field must reflect the actual owner of the group, as
+follows:
+.RS 4
+.IP "\(bu" 4
+If the optional \fB\-owner\fR argument is not included, the field must match
+the \s-1AFS\s0 username under which the issuer is currently authenticated.
+.IP "\(bu" 4
+If the \fB\-owner\fR argument names an alternate \s-1AFS\s0 user, the field must
+match that \s-1AFS\s0 username.
+.IP "\(bu" 4
+If the \fB\-owner\fR argument names another regular group, the field must
+match the owning group's owner field (the part of its name before the
+colon). If the \fB\-owner\fR argument names a prefix-less group, the field
+must match the owning group's complete name.
+.RE
+.RS 4
+.RE
+.IP "\fB\-owner\fR <\fIowner of the group\fR>" 4
+.IX Item "-owner <owner of the group>"
+Specifies a user or group as the owner for each group, rather than the
+issuer of the command. Provide either an \s-1AFS\s0 username or the name of a
+regular or prefix-less group. An owning group must already have at least
+one member. This requirement prevents assignment of self-ownership to a
+group during its creation; use the \fBpts chown\fR command after issuing this
+command, if desired.
+.IP "\fB\-id\fR <\fIid for the group\fR>" 4
+.IX Item "-id <id for the group>"
+Specifies a negative integer \s-1AFS\s0 \s-1GID\s0 number for each group, rather than
+allowing the Protection Server to assign it. Precede the integer with a
+hyphen (\f(CW\*(C`\-\*(C'\fR) to indicate that it is negative.
+.Sp
+If this argument is used and the \fB\-name\fR argument names multiple new
+groups, it is best to provide an equivalent number of \s-1AFS\s0 GIDs. The first
+\&\s-1GID\s0 is assigned to the first group, the second to the second group, and so
+on. If there are fewer GIDs than groups, the Protection Server assigns
+GIDs to the unmatched groups based on the \f(CW\*(C`max group id\*(C'\fR counter. If
+there are more GIDs than groups, the excess GIDs are ignored. If any of
+the GIDs is lower (more negative) than the current value of the \f(CW\*(C`max
+group id\*(C'\fR counter, the counter is reset to that value.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In the following example, the user pat creates groups called
+\&\f(CW\*(C`pat:friends\*(C'\fR and \f(CW\*(C`pat:colleagues\*(C'\fR.
+.PP
+.Vb 1
+\& % pts creategroup \-name pat:friends pat:colleagues
+.Ve
+.PP
+The following example shows a member of the system:administrators group
+creating the prefix-less group \f(CW\*(C`staff\*(C'\fR and assigning its ownership to the
+system:administrators group rather than to herself.
+.PP
+.Vb 1
+\& % pts creategroup \-name staff \-owner system:administrators
+.Ve
+.PP
+In the following example, the user pat creates a group called
+\&\f(CW\*(C`smith:team\-members\*(C'\fR, which is allowed because the \fB\-owner\fR argument
+specifies the required value (\f(CW\*(C`smith\*(C'\fR).
+.PP
+.Vb 1
+\& % pts creategroup \-name smith:team\-members \-owner smith
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group to create
+prefix-less groups or include the \fB\-id\fR argument.
+.PP
+To create a regular group, the issuer must
+.IP "\(bu" 4
+Be authenticated. The command fails if the \fB\-noauth\fR flag is provided.
+.IP "\(bu" 4
+Have a group-creation quota greater than zero. The \fBpts examine\fR command
+displays this quota.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_listmax\fR\|(1),
+\&\fIpts_setfields\fR\|(1),
+\&\fIpts_setmax\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_CREATEUSER 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_CREATEUSER 1"
++.TH PTS_CREATEUSER 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_createuser \- Creates a user or machine entry in the Protection Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts createuser\fR \fB\-name\fR\ <\fIuser\ name\fR>+ [\fB\-id\fR\ <\fIuser\ id\fR>+]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBpts createu\fR \fB\-na\fR\ <\fIuser\ name\fR>+ [\fB\-i\fR\ <\fIuser\ id\fR>+]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.PP
+\&\fBpts cu\fR \fB\-na\fR\ <\fIuser\ name\fR>+ [\fB\-i\fR\ <\fIuser\ id\fR>+]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts createuser\fR command creates an entry in the Protection Database
+for each user or machine specified by the \fB\-name\fR argument. A user entry
+name becomes the user's \s-1AFS\s0 username (the one to provide when
+authenticating with the \s-1AFS\s0 Authentication Server). A machine entry's
+name is the machine's \s-1IP\s0 address or a wildcard notation that represents a
+range of consecutive \s-1IP\s0 addresses (a group of machines on the same
+network). It is not possible to authenticate as a machine, but a group to
+which a machine entry belongs can appear on a directory's access control
+list (\s-1ACL\s0), thereby granting the indicated permissions to any user logged
+on to the machine.
+.PP
+\&\s-1AFS\s0 user IDs (\s-1AFS\s0 UIDs) are positive integers and by default the
+Protection Server assigns an \s-1AFS\s0 \s-1UID\s0 that is one greater than the current
+value of the \f(CW\*(C`max user id\*(C'\fR counter in the Protection Database,
+incrementing the counter by one for each user. To assign a specific \s-1AFS\s0
+\&\s-1UID\s0, use the \fB\-id\fR argument. If any of the specified \s-1AFS\s0 UIDs is greater
+than the current value of the \f(CW\*(C`max user id\*(C'\fR counter, the counter is reset
+to that value. It is acceptable to specify an \s-1AFS\s0 \s-1UID\s0 smaller than the
+current value of the counter, but the creation operation fails if an
+existing user or machine entry already has it. To display or set the value
+of the \f(CW\*(C`max user id\*(C'\fR counter, use the \fBpts listmax\fR or \fBpts setmax\fR
+command, respectively.
+.PP
+The issuer of the \fBpts createuser\fR command is recorded as the entry's
+creator and the group system:administrators as its owner.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The Protection Server reserves \s-1AFS\s0 \s-1UID\s0 0 (zero) and returns an error if
+the \fB\-id\fR argument has that value.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIuser name\fR>+" 4
+.IX Item "-name <user name>+"
+Specifies either a username for a user entry, or an \s-1IP\s0 address (complete
+or wildcarded) for a machine entry:
+.RS 4
+.IP "\(bu" 4
+A username can include up to 63 numbers and lowercase letters, but it is
+best to make it shorter than eight characters, because many application
+programs cannot handle longer names. Also, it is best not to include shell
+metacharacters or other punctuation marks. In particular, the colon (\f(CW\*(C`:\*(C'\fR)
+and at-sign (\f(CW\*(C`@\*(C'\fR) characters are not acceptable. The period is generally
+used only in special administrative names, to separate the username and an
+\&\fIinstance\fR, as in the example \f(CW\*(C`pat.admin\*(C'\fR.
+.IP "\(bu" 4
+A machine identifier is its \s-1IP\s0 address in dotted decimal notation (for
+example, 192.12.108.240), or a wildcard notation that represents a set of
+\&\s-1IP\s0 addresses (a group of machines on the same network). The following are
+acceptable wildcard formats. The letters \f(CW\*(C`W\*(C'\fR, \f(CW\*(C`X\*(C'\fR, \f(CW\*(C`Y\*(C'\fR and \f(CW\*(C`Z\*(C'\fR each
+represent an actual number from the range 1 through 255.
+.RS 4
+.IP "\(bu" 4
+W.X.Y.Z represents a single machine, for example \f(CW192.12.108.240\fR.
+.IP "\(bu" 4
+W.X.Y.0 matches all machines whose \s-1IP\s0 addresses start with the first three
+numbers. For example, \f(CW192.12.108.0\fR matches both \f(CW192.12.108.119\fR and
+\&\f(CW192.12.108.120\fR, but does not match \f(CW192.12.105.144\fR.
+.IP "\(bu" 4
+W.X.0.0 matches all machines whose \s-1IP\s0 addresses start with the first two
+numbers. For example, the address \f(CW192.12.0.0\fR matches both
+\&\f(CW192.12.106.23\fR and \f(CW192.12.108.120\fR, but does not match \f(CW192.5.30.95\fR.
+.IP "\(bu" 4
+W.0.0.0 matches all machines whose \s-1IP\s0 addresses start with the first
+number in the specified address. For example, the address \f(CW192.0.0.0\fR
+matches both \f(CW192.5.30.95\fR and \f(CW192.12.108.120\fR, but does not match
+\&\f(CW138.255.63.52\fR.
+.RE
+.RS 4
+.Sp
+Do not define a machine entry with the name \f(CW0.0.0.0\fR to match every
+machine. The system:anyuser group is equivalent.
+.RE
+.RE
+.RS 4
+.RE
+.IP "\fB\-id\fR <\fIuser id\fR>+" 4
+.IX Item "-id <user id>+"
+Specifies an \s-1AFS\s0 \s-1UID\s0 for each user or machine entry, rather than allowing
+the Protection Server to assign it. Provide a positive integer.
+.Sp
+If this argument is used and the \fB\-name\fR argument names multiple new
+entries, it is best to provide an equivalent number of \s-1AFS\s0 UIDs. The
+first \s-1UID\s0 is assigned to the first entry, the second to the second entry,
+and so on. If there are fewer UIDs than entries, the Protection Server
+assigns UIDs to the unmatched entries based on the \f(CW\*(C`max user id\*(C'\fR
+counter. If there are more UIDs than entries, the excess UIDs are
+ignored. If any of the UIDs is greater than the current value of the \f(CW\*(C`max
+user id\*(C'\fR counter, the counter is reset to that value.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command generates the following string to confirm creation of each
+user:
+.PP
+.Vb 1
+\& User <name> has id <id>
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example creates a Protection Database entry for the user
+\&\f(CW\*(C`johnson\*(C'\fR.
+.PP
+.Vb 1
+\& % pts createuser \-name johnson
+.Ve
+.PP
+The following example creates three wildcarded machine entries in the \s-1ABC\s0
+Corporation cell. The three entries encompass all of the machines on the
+company's networks without including machines on other networks:
+.PP
+.Vb 1
+\& % pts createuser \-name 138.255.0.0 192.12.105.0 192.12.106.0
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_listmax\fR\|(1),
+\&\fIpts_setmax\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_DELETE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_DELETE 1"
++.TH PTS_DELETE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_delete \- Deletes a Protection Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts delete\fR \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts d\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\-h]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts delete\fR command removes each entry specified by the \fB\-nameorid\fR
+argument from the Protection Database. Deleting entries affects other
+parts of the system in various ways:
+.IP "\(bu" 4
+Deleted users and groups still appear on access control lists (ACLs), but
+are listed by \s-1AFS\s0 \s-1UID\s0 or \s-1GID\s0 rather than by name, because there is no
+longer an associated name to which to translate the \s-1ID\s0. To remove these
+obsolete entries from ACLs, use the \fBfs cleanacl\fR command.
+.IP "\(bu" 4
+Deleting a user or machine's entry removes it from the membership list of
+any group to which it belonged.
+.IP "\(bu" 4
+Deleting a group entry removes it from the membership list of any user or
+machine entry that belonged to the group, and also increments the
+group-creation quota of the group's creator by one, even if the creator no
+longer owns the group.
+.PP
+To remove a user or machine from a group without actually deleting the
+entry, use the \fBpts removeuser\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-nameorid\fR <\fIuser or group name or \s-1ID\s0\fR>+" 4
+.IX Item "-nameorid <user or group name or ID>+"
+Specifies the name or \s-1AFS\s0 \s-1UID\s0 of each user, the name or \s-1AFS\s0 \s-1GID\s0 of each
+group, or the \s-1IP\s0 address (complete or wildcard-style) or \s-1AFS\s0 \s-1UID\s0 of each
+machine entry to delete. It is acceptable to mix users, machines, and
+groups on the same command line, as well as names (\s-1IP\s0 addresses for
+machines) and IDs. Precede the \s-1GID\s0 of each group with a hyphen to indicate
+that it is negative.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example deletes the user entries \f(CW\*(C`pat\*(C'\fR and \f(CW\*(C`terry\*(C'\fR:
+.PP
+.Vb 1
+\& % pts delete pat terry
+.Ve
+.PP
+The following example deletes the Protection Database entry of the group
+with \s-1AFS\s0 \s-1GID\s0 \-215.
+.PP
+.Vb 1
+\& % pts delete \-215
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group to delete user
+and machine entries. To delete group entries, the issuer must either own
+the group or belong to the system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_cleanacl\fR\|(1),
+\&\fIpts\fR\|(1),
+\&\fIpts_removeuser\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_EXAMINE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_EXAMINE 1"
++.TH PTS_EXAMINE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_examine \- Displays a Protection Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts examine\fR \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-force\fR] [\fB\-auth\fR] [\fB\-help\fR]
+.PP
+\&\fBpts e\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+ [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-a\fR] [\fB\-h\fR]
+.PP
+\&\fBpts check\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+ [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-a\fR] [\fB\-h\fR]
+.PP
+\&\fBpts che\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+ [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-a\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts examine\fR command displays information from the Protection
+Database entry of each user, machine or group specified by the
+\&\fB\-nameorid\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\-nameorid <\fIuser or group name or id\fR>+" 4
+.IX Item "-nameorid <user or group name or id>+"
+Specifies the name or \s-1AFS\s0 \s-1UID\s0 of each user, the name or \s-1AFS\s0 \s-1GID\s0 of each
+group, or the \s-1IP\s0 address (complete or wildcard-style) or \s-1AFS\s0 \s-1UID\s0 of each
+machine for which to display the Protection Database entry. It is
+acceptable to mix users, machines, and groups on the same command line, as
+well as names (\s-1IP\s0 addresses for machines) and IDs. Precede the \s-1GID\s0 of each
+group with a hyphen to indicate that it is negative.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-auth\fR" 4
+.IX Item "-auth"
+Run using the user's current authentication. This is the default unless
+the \fB\-noauth\fR or \fB\-localauth\fR options are used.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output for each entry consists of two lines that include the following
+fields:
+.IP "Name" 4
+.IX Item "Name"
+The contents of this field depend on the type of entry:
+.RS 4
+.IP "\(bu" 4
+For a user entry, it is the username that the user types when
+authenticating with \s-1AFS\s0.
+.IP "\(bu" 4
+For a machine entry, it is either the \s-1IP\s0 address of a single machine in
+dotted decimal format, or a wildcard notation that represents a group of
+machines on the same network. See the \fBpts createuser\fR reference page for
+an explanation of the wildcard notation.
+.IP "\(bu" 4
+For a group entry, it is one of two types of group name. If the name has a
+colon between the two parts, it represents a regular group and the part
+before the prefix reflects the group's owner. A prefix-less group does not
+have the owner field or the colon. For more details on group names, see
+the \fBpts creategroup\fR reference page.
+.RE
+.RS 4
+.RE
+.IP "id" 4
+.IX Item "id"
+A unique number that the \s-1AFS\s0 server processes use to identify \s-1AFS\s0 users,
+machines and groups. \s-1AFS\s0 UIDs for user and machine entries are positive
+integers, and \s-1AFS\s0 GIDs for group entries are negative integers. \s-1AFS\s0 UIDs
+and GIDs are similar in function to the UIDs and GIDs used in local file
+systems such as \s-1UFS\s0, but apply only to \s-1AFS\s0 operations.
+.IP "owner" 4
+.IX Item "owner"
+The user or group that owns the entry and thus can administer it (change
+the values in most of the fields displayed in the output of this command),
+or delete it entirely. The Protection Server automatically records the
+system:administrators group in this field for user and machine entries at
+creation time.
+.IP "creator" 4
+.IX Item "creator"
+The user who issued the \fBpts createuser\fR or \fBpts creategroup\fR command to
+create the entry. This field serves as an audit trail, and cannot be
+changed.
+.IP "membership" 4
+.IX Item "membership"
+An integer that for users and machines represents the number of groups to
+which the user or machine belongs. For groups, it represents the number of
+group members.
+.IP "flags" 4
+.IX Item "flags"
+A string of five characters, referred to as \fIprivacy flags\fR, which
+indicate who can display or administer certain aspects of the entry.
+.RS 4
+.IP "s" 4
+.IX Item "s"
+Controls who can issue the \fBpts examine\fR command to display the entry.
+.IP "o" 4
+.IX Item "o"
+Controls who can issue the \fBpts listowned\fR command to display the groups
+that a user or group owns.
+.IP "m" 4
+.IX Item "m"
+Controls who can issue the \fBpts membership\fR command to display the groups
+a user or machine belongs to, or which users or machines belong to a
+group.
+.IP "a" 4
+.IX Item "a"
+Controls who can issue the \fBpts adduser\fR command to add a user or machine
+to a group. It is meaningful only for groups, but a value must always be
+set for it even on user and machine entries.
+.IP "r" 4
+.IX Item "r"
+Controls who can issue the \fBpts removeuser\fR command to remove a user or
+machine from a group. It is meaningful only for groups, but a value must
+always be set for it even on user and machine entries.
+.RE
+.RS 4
+.Sp
+Each flag can take three possible types of values to enable a different
+set of users to issue the corresponding command:
+.IP "\(bu" 4
+A hyphen (\-) designates the members of the system:administrators group and
+the entry's owner. For user entries, it designates the user in addition.
+.IP "\(bu" 4
+The lowercase version of the letter applies meaningfully to groups only,
+and designates members of the group in addition to the individuals
+designated by the hyphen.
+.IP "\(bu" 4
+The uppercase version of the letter designates everyone.
+.RE
+.RS 4
+.Sp
+For example, the flags \f(CW\*(C`SOmar\*(C'\fR on a group entry indicate that anyone can
+examine the group's entry and display the groups that it owns, and that
+only the group's members can display, add, or remove its members.
+.Sp
+The default privacy flags for user and machine entries are \f(CW\*(C`S\-\-\-\-\*(C'\fR,
+meaning that anyone can display the entry. The ability to perform any
+other functions is restricted to members of the system:administrators
+group and the entry's owner (as well as the user for a user entry).
+.Sp
+The default privacy flags for group entries are \f(CW\*(C`S\-M\-\-\*(C'\fR, meaning that all
+users can display the entry and the members of the group, but only the
+entry owner and members of the system:administrators group can perform
+other functions. The defaults for the privacy flags may be changed by
+running \fBptserver\fR with the \fB\-default_access\fR option. See \fIptserver\fR\|(8)
+for more discussion of the \fB\-default_access\fR option.
+.RE
+.IP "group quota" 4
+.IX Item "group quota"
+The number of additional groups the user is allowed to create. The \fBpts
+createuser\fR command sets it to 20 for both users and machines, but it has
+no meaningful interpretation for a machine, because it is not possible to
+authenticate as a machine. Similarly, it has no meaning in group entries
+that only deal with the local cell and the \fBpts creategroup\fR command sets
+it to 0 (zero); do not change this value.
+.Sp
+When using cross-realm authentication, a special group of the form
+system:authuser@FOREIGN.REALM is created by an administrator and used. If
+the group quota for this special group is greater than zero, then aklog
+will automatically register foreign users in the local \s-1PTS\s0 database, add
+the foreign user to the system:authuser@FOREIGN.REALM, and decrement the
+group quota by one.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the user entry for \f(CW\*(C`terry\*(C'\fR and the machine
+entry \f(CW158.12.105.44\fR.
+.PP
+.Vb 5
+\& % pts examine terry 158.12.105.44
+\& Name: terry, id: 1045, owner: system:administrators, creator: admin,
+\& membership: 9, flags: S\-\-\-\-, group quota: 15.
+\& Name: 158.12.105.44, id: 5151, owner: system:administrators,
+\& creator: byu, membership: 1, flags: S\-\-\-\-, group quota: 20.
+.Ve
+.PP
+The following example displays the entries for the \s-1AFS\s0 groups with GIDs
+\&\-673 and \-674.
+.PP
+.Vb 5
+\& % pts examine \-673 \-674
+\& Name: terry:friends, id: \-673, owner: terry, creator: terry,
+\& membership: 5, flags: S\-M\-\-, group quota: 0.
+\& Name: smith:colleagues, id: \-674, owner: smith, creator: smith,
+\& membership: 14, flags: SOM\-\-, group quota: 0.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The required privilege depends on the setting of the first privacy flag in
+the Protection Database entry of each entry specified by the \fB\-nameorid\fR
+argument:
+.IP "\(bu" 4
+If it is lowercase \f(CW\*(C`s\*(C'\fR, members of the system:administrators group and
+the user associated with a user entry can examine it, and only members of
+the system:administrators group can examine a machine or group entry.
+.IP "\(bu" 4
+If it is uppercase \f(CW\*(C`S\*(C'\fR, anyone who can access the cell's database server
+machines can examine the entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_adduser\fR\|(1),
+\&\fIpts_chown\fR\|(1),
+\&\fIpts_creategroup\fR\|(1),
+\&\fIpts_createuser\fR\|(1),
+\&\fIpts_listowned\fR\|(1),
+\&\fIpts_membership\fR\|(1),
+\&\fIpts_removeuser\fR\|(1),
+\&\fIpts_rename\fR\|(1),
+\&\fIpts_setfields\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_HELP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_HELP 1"
++.TH PTS_HELP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_help \- Displays help for pts commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBpts h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBpts\fR command.
+.PP
+To list every pts command whose name or short description includes a
+specified keyword, use the \fBpts apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBpts\fR part of the command name, providing only the
+operation code (for example, specify \f(CW\*(C`membership\*(C'\fR, not \f(CW\*(C`pts
+membership\*(C'\fR). If this argument is omitted, the output briefly describes
+every \fBpts\fR command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each \fBpts\fR command consists of the following
+two or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBpts
+membership\fR command:
+.PP
+.Vb 5
+\& % pts help membership
+\& pts membership: list membership of a user or group
+\& aliases: groups
+\& Usage: pts membership \-nameorid <user or group name or id>+
+\& [\-cell <cell name>] [\-noauth] [\-force] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_apropos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_INTERACTIVE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_INTERACTIVE 1"
++.TH PTS_INTERACTIVE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_interactive \- Enters interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts interactive\fR [\fB\-cell\fR]\ <\fIcell\ name\fR> [\fB\-noauth\fR]
+ [\fB\-auth\fR] [\fB\-localauth\fR] [\fB\-force\fR]
+.PP
+\&\fBpts in\fR [\fB\-c\fR]\ <\fIcell\ name\fR> [\fB\-n\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts interactive\fR command allows the user to enter an interactive
+mode, useful for running bulk commands like creating new users or groups.
+.PP
+\&\fBpts interactive\fR uses the authentication state supplied on its command
+line to run all bulk commands. However, if a bulk command is supplied
+with authentication options such as \fB\-cell\fR, \fB\-localauth\fR, \fB\-auth\fR
+or \fB\-noauth\fR then it, and all subsequent bulk commands, will be run with
+those options.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts interactive\fR command
+was only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.PP
+Running bulk \fBpts\fR commands may degrade the performance of the Protection
+Server while they are run and server resources may not be released
+immediately after commands are run. The \fBpts sleep\fR command can be used
+in interactive mode or with \fBpts source\fR to give the Protection Server a
+change to catch up.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+\&\fBpts interactive\fR only takes the standard \fBpts\fR options.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+This is useful for bulk operations where you would like to continue even
+if one of many operations fails.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output is the same as if each individual command were run from the
+command line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Here is an example of a \fBpts interactive\fR session:
+.PP
+.Vb 10
+\& % pts interactive
+\& pts> examine admin
+\& Name: admin, id: 1, owner: system:administrators, creator: anonymous,
+\& membership: 2, flags: S\-\-\-\-, group quota: 20.
+\& pts> help
+\& pts: Commands are:
+\& adduser add a user to a group
+\& apropos search by help text
+\& chown change ownership of a group
+\& creategroup create a new group
+\& createuser create a new user
+\& delete delete a user or group from database
+\& examine examine an entry
+\& help get help on commands
+\& interactive enter interactive mode
+\& listentries list users/groups in the protection database
+\& listmax list max id
+\& listowned list groups owned by an entry or zero id gets orphaned groups
+\& membership list membership of a user or group
+\& quit exit program
+\& removeuser remove a user from a group
+\& rename rename user or group
+\& setfields set fields for an entry
+\& setmax set max id
+\& sleep pause for a bit
+\& source read commands from file
+\& pts> quit
+\& %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The same privilege is required to run the command in interactive mode as
+is required to run the command by itself on the command line. Some
+commands such as \fBpts createuser\fR require that the user belong to the
+system:administrators group, while others do not.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_quit\fR\|(1),
+\&\fIpts_sleep\fR\|(1),
+\&\fIpts_source\fR\|(1),
+\&\fIptserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH PTS_LISTENTRIES 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_LISTENTRIES 1"
++.TH PTS_LISTENTRIES 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_listentries \- Displays all users or groups in the Protection Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts listentries\fR [\fB\-users\fR] [\fB\-groups\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts liste\fR [\fB\-u\fR] [\fB\-g\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts listentries\fR command displays the name and \s-1AFS\s0 \s-1ID\s0 of all
+Protection Database entries of the indicated type. It also displays the
+\&\s-1AFS\s0 \s-1ID\s0 of each entry's owner and creator.
+.PP
+To display all user and machine entries, either include the \fB\-users\fR flag
+or omit both it and the \fB\-groups\fR flag. To display all group entries,
+include the \fB\-groups\fR flag. To display all entries, provide both flags.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-users\fR" 4
+.IX Item "-users"
+Displays user and machine entries.
+.IP "\fB\-groups\fR" 4
+.IX Item "-groups"
+Displays group entries.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes a line for each entry, with information in four
+columns that have the following headers:
+.IP "Name" 4
+.IX Item "Name"
+The entry's name.
+.IP "\s-1ID\s0" 4
+.IX Item "ID"
+The entry's \s-1AFS\s0 \s-1ID\s0 (\s-1AFS\s0 \s-1UID\s0 for a user or machine, negative \s-1AFS\s0 \s-1GID\s0 for a
+group).
+.IP "Owner" 4
+.IX Item "Owner"
+The \s-1AFS\s0 \s-1ID\s0 of the user or group that owns the entry.
+.IP "Creator" 4
+.IX Item "Creator"
+The \s-1AFS\s0 \s-1ID\s0 of the user who created the entry (the system:administrators
+group is listed as the creator of the entry for \f(CW\*(C`anonymous\*(C'\fR and the
+system groups, but it is not otherwise possible for a group to create
+groups).
+.PP
+In general, the entries appear in the order in which they were created.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays both user and group entries.
+.PP
+.Vb 11
+\& % pts listentries \-users \-groups
+\& Name ID Owner Creator
+\& system:administrators \-204 \-204 \-204
+\& system:anyuser \-101 \-204 \-204
+\& system:authuser \-102 \-204 \-204
+\& anonymous 32766 \-204 \-204
+\& admin 1 \-204 32766
+\& pat 100 \-204 1
+\& smith 101 \-204 1
+\& pat:friends \-206 100 100
+\& staff \-207 \-204 1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_creategroup\fR\|(1),
+\&\fIpts_createuser\fR\|(1),
+\&\fIpts_examine\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_LISTMAX 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_LISTMAX 1"
++.TH PTS_LISTMAX 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_listmax \- Displays the max user id and max group id counters
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts listmax\fR [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts listm\fR [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts listmax\fR command displays the values of the \f(CW\*(C`max user id\*(C'\fR and
+\&\f(CW\*(C`max group id\*(C'\fR counters, which the Protection Server uses to track the
+\&\s-1AFS\s0 user IDs (\s-1AFS\s0 UIDs) it allocates to new users or machines, and the \s-1AFS\s0
+group IDs (\s-1AFS\s0 GIDs) it allocates to new groups, respectively. When an
+administrator next issues the \fBpts createuser\fR command and does not
+include the \fB\-id\fR argument, the new user or machine receives an \s-1AFS\s0 \s-1UID\s0
+one greater than the \f(CW\*(C`max user id\*(C'\fR counter, and when a user issues the
+\&\fBpts creategroup\fR command and does not include the \fB\-id\fR argument, the
+new group receives an \s-1AFS\s0 \s-1UID\s0 one less (more negative) than the \f(CW\*(C`max
+group id\*(C'\fR counter.
+.PP
+To reset one or both counters, members of the system:administrators group
+can issue the \fBpts setmax\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command displays the counters in the following format:
+.PP
+.Vb 1
+\& Max user id is <user_counter> and max group id is <group_counter>.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the output of this command:
+.PP
+.Vb 2
+\& % pts listmax
+\& Max user name is 1271 and max group id is \-382.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_setmax\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_LISTOWNED 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_LISTOWNED 1"
++.TH PTS_LISTOWNED 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_listowned \- Show the Protection Database groups owned by a user or group
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts listowned\fR \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\-cell <\fIcell name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts listo\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\-c <\fIcell name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts listowned\fR command lists the groups owned by each user or group
+specified by the \fB\-nameorid\fR argument.
+.PP
+To list any \fIorphaned group\fRs, whose owners have themselves been deleted
+from the Protection Database, provide a value of \f(CW0\fR (zero) for the
+\&\fB\-nameorid\fR argument. To change the owner to a user or group that still
+exists, use the \fBpts chown\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-nameorid\fR <\fIuser or group name or id\fR>+" 4
+.IX Item "-nameorid <user or group name or id>+"
+Specifies the name or \s-1AFS\s0 \s-1UID\s0 of each user, or the name or \s-1AFS\s0 \s-1GID\s0 of each
+group, for which to display the list of owned groups. It is acceptable to
+mix users and groups on the same command line, as well as names and
+IDs. Precede the \s-1GID\s0 of each group with a hyphen to indicate that it is
+negative.
+.Sp
+A value of 0 (zero) lists group entries for groups whose owners no longer
+have entries in the Protection Database.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of the output indicates the name and \s-1AFS\s0 \s-1UID\s0 or \s-1AFS\s0 \s-1GID\s0 of
+each user or group for which ownership information is requested, in the
+following format:
+.PP
+.Vb 1
+\& Groups owned by <name> (id: <ID>) are:
+.Ve
+.PP
+A list of groups follows. The list does not include groups owned by groups
+that the user or group owns, or to which the user or group belongs. If the
+user or group does not own any groups, only the header line appears.
+.PP
+The following error message appears if the issuer is not privileged to
+view ownership information. By default, for both user and group entries
+the second privacy flag is the hyphen, which denies permission to anyone
+other than the user (for a user entry) and the members of the
+system:administrators group.
+.PP
+.Vb 1
+\& pts: Permission denied so failed to get owner list for <name> (id: <ID>)
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example lists the groups owned by user terry and shows that
+the group \f(CW\*(C`terry:friends\*(C'\fR does not own any groups:
+.PP
+.Vb 6
+\& % pts listowned terry terry:friends
+\& Groups owned by terry (id: 1045) are:
+\& terry:friends
+\& terry:project1
+\& terry:project2
+\& Groups owned by terry:friends (id: \-673) are:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The required privilege depends on the setting of the second privacy flag
+in the Protection Database entry of each user or group indicated by the
+\&\fB\-nameorid\fR argument (use the \fBpts examine\fR command to display the
+flags):
+.IP "\(bu" 4
+If it is the hyphen and the \fB\-nameorid\fR argument specifies a group, only
+the members of the system:administrators group and the owner of a group
+can list the groups it owns.
+.IP "\(bu" 4
+If it is the hyphen and the \fB\-nameorid\fR argument specifies a user, only
+the members of the system:administrators group and the associated user can
+list the groups he or she owns.
+.IP "\(bu" 4
+If it is uppercase letter \f(CW\*(C`O\*(C'\fR, anyone who can access the cell's database
+server machines can list the groups owned by this user or group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_chown\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_setfields\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_MEMBERSHIP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_MEMBERSHIP 1"
++.TH PTS_MEMBERSHIP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_membership \- Displays the membership list for a user or group
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts membership\fR \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-localauth\fR] [\fB\-noauth\fR]
+ [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts m\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+ [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.PP
+\&\fBpts groups\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+ [\-c <\fIcell name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.PP
+\&\fBpts g\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+ [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts membership\fR command lists the groups to which each user or
+machine specified by the \fB\-nameorid\fR argument belongs, or lists the users
+and machines that belong to each group specified by the \fB\-nameorid\fR
+argument.
+.PP
+It is not possible to list the members of the system:anyuser or
+system:authuser groups, and they do not appear in the list of groups to
+which a user belongs.
+.PP
+To add users or machine to groups, use the \fBpts adduser\fR command; to remove
+them, use the \fBpts removeuser\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-nameorid\fR <\fIuser or group name or id\fR>+" 4
+.IX Item "-nameorid <user or group name or id>+"
+Specifies the name or \s-1AFS\s0 \s-1UID\s0 of each user entry, the \s-1IP\s0 address (complete
+or wildcard-style) or \s-1AFS\s0 \s-1UID\s0 of each machine entry, or the name or \s-1AFS\s0
+\&\s-1GID\s0 of each group, for which to list group membership. It is acceptable to
+mix users, machines, and groups on the same command line, as well as names
+and IDs. Precede the \s-1GID\s0 of each group with a hyphen to indicate that it
+is negative.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+For each user and machine, the output begins with the following header
+line, followed by a list of the groups to which the user or machine
+belongs:
+.PP
+.Vb 1
+\& Groups <name> (id: <AFS UID>) is a member of:
+.Ve
+.PP
+For each group, the output begins with the following header line, followed
+by a list of the users and machines who belong to the group:
+.PP
+.Vb 1
+\& Members of <group_name> (id: <AFS GID>) are:
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example lists the groups to which the user \f(CW\*(C`pat\*(C'\fR belongs
+and the members of the group \f(CW\*(C`smith:friends\*(C'\fR. Note that third privacy
+flag for the \f(CW\*(C`pat\*(C'\fR entry was changed from the default hyphen to enable a
+non-administrative user to obtain this listing.
+.PP
+.Vb 11
+\& % pts membership pat smith:friends
+\& Groups pat (id: 1144) is a member of:
+\& smith:friends
+\& staff
+\& johnson:project\-team
+\& Members of smith:friends (id: \-562) are:
+\& pat
+\& terry
+\& jones
+\& richard
+\& thompson
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Members of the system:ptsviewers and system:administrators groups can
+always use this command in any of its variations. Additionally, a user
+can always list the groups to which they belong, and the owner of a group
+can always list the members of the group.
+.PP
+Additional privileges may be granted by the setting of the third privacy
+flag in the Protection Database entry of each user or group indicated by
+the \fB\-nameorid\fR argument (use the \fBpts examine\fR command to display the
+flags):
+.IP "\(bu" 4
+If it is a hyphen, the default permissions described above apply.
+.IP "\(bu" 4
+If it is lowercase \f(CW\*(C`m\*(C'\fR and the \fB\-nameorid\fR argument specifies a group,
+then members of that group can also list the other members. A privacy
+flag of \f(CW\*(C`m\*(C'\fR only changes the permissions when set for a group. Setting
+this flag for a user or a machine has no effect.
+.IP "\(bu" 4
+If it is uppercase \f(CW\*(C`M\*(C'\fR, anyone who can access the cell's database server
+machines can list the membership of the group or the groups to which that
+user or machine belongs, depending on what type of entry the flag is set
+on.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_adduser\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_removeuser\fR\|(1),
+\&\fIpts_setfields\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_QUIT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_QUIT 1"
++.TH PTS_QUIT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_quit \- Exit from pts interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts quit\fR [\fB\-cell\fR]\ <\fIcell\ name\fR> [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-force\fR]
+.PP
+\&\fBpts q\fR [\fB\-c\fR]\ <\fIcell\ name\fR> [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts quit\fR command exits from \fBpts interactive\fR mode. The command
+can be run from the command line or interactively, but on the command line
+it does nothing and is therefore of questionable utility.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts quit\fR command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Although they have no effect, \fBpts quit\fR takes the following standard
+\&\fBpts\fR options:
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Here is an example of a \fBpts interactive\fR session:
+.PP
+.Vb 3
+\& % pts interactive
+\& pts> quit
+\& %
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_interactive\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH PTS_REMOVEUSER 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_REMOVEUSER 1"
++.TH PTS_REMOVEUSER 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_removeuser \- Removes a user from a Protection Database group
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts removeuser\fR \fB\-user\fR\ <\fIuser\ name\fR>+ \fB\-group\fR\ <\fIgroup\ name\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBpts rem\fR \fB\-u\fR\ <\fIuser\ name\fR>+ \fB\-g\fR\ <\fIgroup\ name\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts removeuser\fR command removes each user or machine named by the
+\&\fB\-user\fR argument from each group named by the \fB\-group\fR argument.
+.PP
+To add users to a group, use the \fBpts adduser\fR command. To list group
+membership, use the \fBpts membership\fR command. To remove users from a
+group and delete the group's entry completely in a single step, use the
+\&\fBpts delete\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\s-1AFS\s0 compiles each user's group membership as he or she authenticates. Any
+users who have valid tokens when they are removed from a group retain the
+privileges extended to that group's members until they discard their
+tokens or reauthenticate.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIuser name\fR>+" 4
+.IX Item "-name <user name>+"
+Specifies the name of each user entry or the \s-1IP\s0 address (complete or
+wildcard-style) of each machine entry to remove.
+.IP "\fB\-group\fR <\fIgroup name\fR>+" 4
+.IX Item "-group <group name>+"
+Names each group from which to remove members.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example removes user smith from the groups \f(CW\*(C`staff\*(C'\fR and
+\&\f(CW\*(C`staff:finance\*(C'\fR. Note that no switch names are necessary because only a
+single instance is provided for the first argument (the username).
+.PP
+.Vb 1
+\& % pts removeuser smith staff staff:finance
+.Ve
+.PP
+The following example removes three machine entries, which represent all
+machines in the \s-1ABC\s0 Corporation network, from the group \f(CW\*(C`bin\-prot\*(C'\fR:
+.PP
+.Vb 1
+\& % pts removeuser \-user 138.255.0.0 192.12.105.0 192.12.106.0 \-group bin\-prot
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The required privilege depends on the setting of the fifth privacy flag in
+the Protection Database for the group named by the \fB\-group\fR argument (use
+the \fBpts examine\fR command to display the flags):
+.IP "\(bu" 4
+If it is the hyphen, only the group's owner and members of the
+system:administrators group can remove members.
+.IP "\(bu" 4
+If it is lowercase \f(CW\*(C`r\*(C'\fR, members of the group can also remove other
+members.
+.PP
+(It is not possible to set the fifth flag to uppercase \f(CW\*(C`R\*(C'\fR.)
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_adduser\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_membership\fR\|(1),
+\&\fIpts_setfields\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_RENAME 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_RENAME 1"
++.TH PTS_RENAME 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_rename \- Changes the name of a Protection Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts rename\fR \fB\-oldname\fR\ <\fIold\ name\fR> \fB\-newname\fR\ <\fInew\ name\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts ren\fR \fB\-o\fR\ <\fIold\ name\fR> \fB\-ne\fR\ <\fInew\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts rename\fR command changes the name of the user, machine, or group
+entry specified by the \fB\-oldname\fR argument to the name specified by the
+\&\fB\-newname\fR argument. It is not possible to change a user or machine
+entry's name to look like a regular group entry's name (have a colon in
+it).
+.PP
+Members of the system:administrators group can change a regular group name
+into a prefix-less name and vice versa. When changing a prefix-less group
+name into a regular group name or a regular group name to another regular
+group name, the owner field of the new name (the part before the colon)
+must correctly reflect the group's owner.
+.PP
+Changing a regular group's owner with the \fBpts chown\fR command
+automatically changes the owner field (the part before the colon) of the
+group's name, but does not change the owner field of any groups owned by
+the group. Use this command to rename those groups to a form that
+accurately reflects their ownership.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+By convention, many aspects of an \s-1AFS\s0 user account have the same name as
+the user's Protection Database entry, including the Authentication
+Database entry, volume, and mount point. When using this command to change
+a user name, also change the names of all related entities to maintain
+consistency. For instructions, see the chapter on user accounts in the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-oldname\fR <\fIold name\fR>" 4
+.IX Item "-oldname <old name>"
+Specifies the current full name of the entry.
+.IP "\fB\-newname\fR <\fInew name\fR>" 4
+.IX Item "-newname <new name>"
+Specifies the new full name for the entry. For regular groups, the owner
+field (the part before the colon) of the new name must reflect the actual
+ownership of the group.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example changes the name of the group staff, owned by the
+privileged user \f(CW\*(C`admin\*(C'\fR, to \f(CW\*(C`admin:staff\*(C'\fR:
+.PP
+.Vb 1
+\& % pts rename \-oldname staff \-newname admin:staff
+.Ve
+.PP
+The following example changes the name of the group \f(CW\*(C`admin:finance\*(C'\fR to
+the group \f(CW\*(C`finance\*(C'\fR. The issuer must belong to the system:administrators
+group.
+.PP
+.Vb 1
+\& % pts rename \-oldname admin:finance \-newname finance
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To change a regular group name to a prefix-less name or vice versa, or to
+change a user or machine entry's name, the issuer must belong to the
+system:administrators group.
+.PP
+To change a group name to a new name of the same type (regular or
+prefix-less), the issuer must own the group or belong to the
+system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_chown\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_SETFIELDS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_SETFIELDS 1"
++.TH PTS_SETFIELDS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_setfields \- Sets privacy flags or quota for a Protection Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts setfields\fR \fB\-nameorid\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\fB\-access\fR\ <\fIset\ privacy\ flags\fR>]
+ [\fB\-groupquota\fR\ <\fIset\ limit\ on\ group\ creation\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts setf\fR \fB\-na\fR\ <\fIuser\ or\ group\ name\ or\ id\fR>+
+ [\fB\-a\fR\ <\fIset\ privacy\ flags\fR>]
+ [\fB\-g\fR\ <\fIset\ limit\ on\ group\ creation\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts setfields\fR command sets the group-creation quota, the privacy
+flags, or both, associated with each user, machine, or group entry
+specified by the \fB\-nameorid\fR argument.
+.PP
+To examine the current quota and privacy flags, use the \fBpts examine\fR
+command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Changing a machine or group's group-creation quota is allowed, but not
+recommended. The concept is meaningless for machines and groups, because
+it is impossible to authenticate as a group or machine.
+.PP
+Similarly, some privacy flag settings do not have a sensible
+interpretation. \s-1OPTIONS\s0 specifies the appropriate settings.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-nameorid\fR <\fIuser or group name or id\fR>+" 4
+.IX Item "-nameorid <user or group name or id>+"
+Specifies the name or \s-1AFS\s0 \s-1UID\s0 of each user, the \s-1IP\s0 address (complete or
+wildcard-style) of each machine, or the name or \s-1AFS\s0 \s-1GID\s0 of each machine
+for which to set privacy flags or group-creation quota. It is acceptable
+to mix users, machines, and groups on the same command line, as well as
+names (\s-1IP\s0 addresses for machines) and IDs. Precede the \s-1GID\s0 of each group
+with a hyphen to indicate that it is negative.
+.IP "\fB\-access\fR <\fIprivacy flags\fR>" 4
+.IX Item "-access <privacy flags>"
+Specifies the privacy flags to apply to each entry. Provide a string of
+five characters, one for each of the permissions. If this option is
+omitted, the current setting remains unchanged.
+.Sp
+Set each flag to achieve the desired combination of permissions. If the
+following list does not mention a certain setting, it is not
+acceptable. For further discussion of the privacy flags, see
+\&\fIpts_examine\fR\|(1).
+.RS 4
+.IP "\(bu" 4
+The first flag determines who can use the \fBpts examine\fR command to
+display information from a user, machine or group's Protection Database
+entry.
+.RS 4
+.IP "\(bu" 4
+Set it to lowercase \f(CW\*(C`s\*(C'\fR to permit the members of the
+system:administrators group to display a user, machine, or group entry,
+and the associated user to display a user entry.
+.IP "\(bu" 4
+Set it to uppercase \f(CW\*(C`S\*(C'\fR to permit anyone who can access the cell's
+database server machines to display a user, machine, or group entry.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The second flag determines who can use the \fBpts listowned\fR command to
+list the groups that a user or group owns.
+.RS 4
+.IP "\(bu" 4
+Set it to the hyphen (\f(CW\*(C`\-\*(C'\fR) to permit the members of the
+system:administrators group and a user to list the groups he or she owns,
+or to permit the members of the system:administrators group and a group's
+owner to list the groups that a group owns.
+.IP "\(bu" 4
+Set it to uppercase letter \f(CW\*(C`O\*(C'\fR to permit anyone who can access the cell's
+database server machines to list the groups owned by a machine or group
+entry.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The third flag determines who can use the \fBpts membership\fR command to
+list the groups to which a user or machine belongs, or the users and
+machines that belong to a group.
+.RS 4
+.IP "\(bu" 4
+Set it to the hyphen (\f(CW\*(C`\-\*(C'\fR) to permit the members of the
+system:administrators group and a user to list the groups he or she
+belongs to, to permit the members of the \fBsystem:administrators\fR group to
+list the groups a machine belongs to, or to permit the members of the
+system:administrators group and a group's owner to list the users and
+machines that belong to it.
+.IP "\(bu" 4
+Set it to lowercase \f(CW\*(C`m\*(C'\fR to permit members of a group to list the other
+members. (For user and machine entries, this setting is equivalent to the
+hyphen.)
+.IP "\(bu" 4
+Set it to uppercase \f(CW\*(C`M\*(C'\fR to permit anyone who can access the cell's
+database server machines to list membership information for a user,
+machine or group.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The fourth flag determines who can use the \fBpts adduser\fR command to add
+users and machines as members of a group. This flag has no sensible
+interpretation for user and machine entries, but must be set nonetheless,
+preferably to the hyphen.
+.RS 4
+.IP "\(bu" 4
+Set it to the hyphen (\f(CW\*(C`\-\*(C'\fR) to permit the members of the
+system:administrators group and the owner of the group to add members.
+.IP "\(bu" 4
+Set it to lowercase \f(CW\*(C`a\*(C'\fR to permit members of a group to add other
+members.
+.IP "\(bu" 4
+Set it to uppercase \f(CW\*(C`A\*(C'\fR to permit anyone who can access the cell's
+database server machines to add members to a group.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The fifth flag determines who can use the \fBpts removeuser\fR command to
+remove users and machines from membership in a group. This flag has no
+sensible interpretation for user and machine entries, but must be set
+nonetheless, preferably to the hyphen.
+.RS 4
+.IP "\(bu" 4
+Set it to the hyphen (\f(CW\*(C`\-\*(C'\fR) to permit the members of the
+system:administrators group and the owner of the group to remove members.
+.IP "\(bu" 4
+Set it to lowercase \f(CW\*(C`r\*(C'\fR to permit members of a group to remove other
+members.
+.RE
+.RS 4
+.RE
+.RE
+.RS 4
+.RE
+.IP "\fB\-groupquota\fR <\fIgroup creation quota\fR>" 4
+.IX Item "-groupquota <group creation quota>"
+Specifies the number of additional groups a user can create (it does not
+matter how many he or she has created already). Do not include this
+argument for a group or machine entry.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example changes the privacy flags on the group \f(CW\*(C`operators\*(C'\fR,
+retaining the default values of the first, second and third flags, but
+setting the fourth and fifth flags to enable the group's members to add
+and remove other members.
+.PP
+.Vb 1
+\& % pts setfields \-nameorid operators \-access S\-Mar
+.Ve
+.PP
+The following example changes the privacy flags and sets group quota on
+the user entry \f(CW\*(C`admin\*(C'\fR. It retains the default values of the first,
+fourth, and fifth flags, but sets the second and third flags, to enable
+anyone to list the groups that \f(CW\*(C`admin\*(C'\fR owns and belongs to. Users
+authenticated as \f(CW\*(C`admin\*(C'\fR can create an additional 50 groups.
+.PP
+.Vb 1
+\& % pts setfields \-nameorid admin \-access SOM\-\- \-groupquota 50
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To edit group entries or set the privacy flags on any type of entry, the
+issuer must own the entry or belong to the system:administrators group. To
+set group-creation quota on a user entry, the issuer must belong to the
+system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_adduser\fR\|(1),
+\&\fIpts_examine\fR\|(1),
+\&\fIpts_listowned\fR\|(1),
+\&\fIpts_membership\fR\|(1),
+\&\fIpts_removeuser\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_SETMAX 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_SETMAX 1"
++.TH PTS_SETMAX 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_setmax \- Sets the value of the max group id or max user id counter
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts setmax\fR [\fB\-group\fR\ <\fIgroup\ max\fR>] [\fB\-user\fR\ <\fIuser\ max\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR] [\fB\-help\fR]
+.PP
+\&\fBpts setm\fR [\fB\-g\fR \fIgroup max\fR>] [\fB\-u\fR\ <\fIuser\ max\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts setmax\fR command sets the value of one or both counters that
+track the IDs the Protection Server allocates to new users, machines, or
+groups: the \f(CW\*(C`max user id\*(C'\fR counter for the \s-1AFS\s0 user IDs (\s-1AFS\s0 UIDs)
+assigned to users and machines, and the \f(CW\*(C`max group id\*(C'\fR counter for the
+\&\s-1AFS\s0 group IDs (\s-1AFS\s0 GIDs) assigned to groups.
+.PP
+Use the \fBpts listmax\fR command to display the current value of both
+counters.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-group\fR <\fIgroup max\fR>" 4
+.IX Item "-group <group max>"
+Sets the \f(CW\*(C`max group id\*(C'\fR counter. Precede the value with a hyphen to
+indicate that it is negative. When an administrator next uses the \fBpts
+creategroup\fR command to create a group entry and does not include that
+command's \fB\-id\fR argument, the Protection Server assigns the group an \s-1AFS\s0
+\&\s-1GID\s0 one less (more negative) than this value.
+.IP "\fB\-user\fR <\fIuser max\fR>" 4
+.IX Item "-user <user max>"
+Sets the \f(CW\*(C`max user id\*(C'\fR counter. When an administrator next uses the \fBpts
+createuser\fR command to create a user or machine entry and does not include
+that command's \fB\-id\fR argument, the Protection Server assigns the group an
+\&\s-1AFS\s0 \s-1UID\s0 one greater than this value.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command sets the \f(CW\*(C`max group id\*(C'\fR counter to \-500 and the
+\&\f(CW\*(C`max user id\*(C'\fR counter to 1000.
+.PP
+.Vb 1
+\& % pts setmax \-group \-500 \-user 1000
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must belong to the system:administrators group.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_creategroup\fR\|(1),
+\&\fIpts_createuser\fR\|(1),
+\&\fIpts_listmax\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PTS_SLEEP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_SLEEP 1"
++.TH PTS_SLEEP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_sleep \- Pauses for a few seconds
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts sleep\fR [\fB\-delay\fR]\ <\fI#\ of\ seconds\fR>
+ [\fB\-cell\fR]\ <\fIcell\ name\fR> [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR]
+.PP
+\&\fBpts sl\fR [\fB\-d\fR]\ <\fI#\ of\ seconds\fR> [\fB\-c\fR]\ <\fIcell\ name\fR>
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts sleep\fR pauses for a specified number of seconds. The command can
+be run from the command line or interactively, although from the command
+line it's essentially equivalent to the \fBsleep\fR command. It is intended
+for use in interactive mode to pause for a few seconds between batch
+commands to allow the Protection Server to catch up.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts sleep\fR command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Although they have no effect, \fBpts sleep\fR takes the following standard
+\&\fBpts\fR options:
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Here is an example of a \fBpts interactive\fR session:
+.PP
+.Vb 4
+\& % pts interactive
+\& pts> sleep 5
+\& pts> quit
+\& %
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_interactive\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH PTS_SOURCE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTS_SOURCE 1"
++.TH PTS_SOURCE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pts_source \- Read pts commands from a file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpts source\fR [\fB\-file\fR]\ <\fIfile\ name\fR> [\fB\-cell\fR]\ <\fIcell\ name\fR>
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-force\fR]
+.PP
+\&\fBpts so\fR [\fB\-f\fR]\ <\fIfile\ name\fR> [\fB\-c\fR]\ <\fIcell\ name\fR>
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpts source\fR runs commands from a file as if they were typed in \fBpts
+interactive\fR mode. The command can be run from the command line or
+interactively.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts source\fR command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default). As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+\&\fBpts source\fR takes the following options:
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIpts\fR\|(1).
+.IP "\fB\-file\fR <\fIfile name\fR>" 4
+.IX Item "-file <file name>"
+Specifies the filename from which to read commands.
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+This is useful for bulk operations where you would like to continue even
+if one of many operations fails.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see \fIpts\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. Do not combine this flag with the
+\&\fB\-cell\fR or \fB\-noauth\fR options. For more details, see \fIpts\fR\|(1).
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command shows the output of each comand in the file as if it were
+run normally.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Here is an example of using \fBpts source\fR in a \fBpts interactive\fR session:
+.PP
+.Vb 7
+\& % echo examine admin > /tmp/commands.txt
+\& % pts interactive
+\& pts> source /tmp/commands.txt
+\& Name: admin, id: 1, owner: system:administrators, creator: anonymous,
+\& membership: 2, flags: S\-\-\-\-, group quota: 20.
+\& pts> quit
+\& %
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpts\fR\|(1),
+\&\fIpts_interactive\fR\|(1),
+\&\fIpts_quit\fR\|(1),
+\&\fIpts_sleep\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH RXDEBUG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "RXDEBUG 1"
++.TH RXDEBUG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+rxdebug \- Provides debugging trace of Rx activity
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBrxdebug\fR \fB\-servers\fR\ <\fIserver\ machine\fR> [\fB\-port\fR\ <\fI\s-1IP\s0\ port\fR>]
+ [\fB\-nodally\fR] [\fB\-allconnections\fR] [\fB\-rxstats\fR] [\fB\-onlyserver\fR]
+ [\fB\-onlyclient\fR] [\fB\-onlyport\fR\ <\fIshow\ only\ port\fR>]
+ [\fB\-onlyhost\fR\ <\fIshow\ only\ host\fR>]
+ [\fB\-onlyauth\fR\ <\fIshow\ only\ auth\ level\fR>] [\fB\-version\fR]
+ [\fB\-noconns\fR] [\fB\-peers\fR] [\fB\-help\fR]
+.PP
+\&\fBrxdebug\fR \fB\-s\fR\ <\fIserver\ machine\fR> [\fB\-po\fR\ <\fI\s-1IP\s0\ port\fR>] [\fB\-nod\fR]
+ [\fB\-a\fR] [\fB\-r\fR] [\fB\-onlys\fR] [\fB\-onlyc\fR] [\fB\-onlyp\fR\ <\fIshow\ only\ port\fR>]
+ [\fB\-onlyh\fR\ <\fIshow\ only\ host\fR>] [\fB\-onlya\fR\ <\fIshow\ only\ auth\ level\fR>]
+ [\fB\-v\fR] [\fB\-noc\fR] [\fB\-pe\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBrxdebug\fR command provides a trace of Rx activity for the server or
+client machine named by the \fB\-servers\fR argument. Rx is \s-1AFS\s0's proprietary
+remote procedure call (\s-1RPC\s0) protocol, so this command enables the issuer
+to check the status of communication between the Cache Manager or an \s-1AFS\s0
+server process (as specified with the \fB\-port\fR argument) on the machine
+and one or more processes on other machines.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-servers\fR <\fIserver machine\fR>" 4
+.IX Item "-servers <server machine>"
+Specifies the machine that is running the Cache Manager or server process
+for which to trace Rx activity. Provide the machine's \s-1IP\s0 address in dotted
+decimal format, its fully qualified host name (for example,
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR), or the shortest abbreviated form of its host name that
+distinguishes it from other machines. Successful use of an abbreviated
+form depends on the availability of a name resolution service (such as the
+Domain Name Service or a local host table) at the time the command is
+issued.
+.IP "\fB\-port\fR <\fI\s-1IP\s0 port\fR>" 4
+.IX Item "-port <IP port>"
+Specifies the process for which to trace Rx activity. Omit this argument
+to specify the File Server (\fBfileserver\fR process), or provide one of the
+following values:
+.RS 4
+.ie n .IP "7000\fR for the File Server (\fBfileserver process)" 4
+.el .IP "\f(CW7000\fR for the File Server (\fBfileserver\fR process)" 4
+.IX Item "7000 for the File Server (fileserver process)"
+.PD 0
+.ie n .IP "7001 for the Cache Manager (specifically, its callback interface)" 4
+.el .IP "\f(CW7001\fR for the Cache Manager (specifically, its callback interface)" 4
+.IX Item "7001 for the Cache Manager (specifically, its callback interface)"
+.ie n .IP "7002\fR for the Protection Server (\fBptserver process)" 4
+.el .IP "\f(CW7002\fR for the Protection Server (\fBptserver\fR process)" 4
+.IX Item "7002 for the Protection Server (ptserver process)"
+.ie n .IP "7003\fR for the Volume Location (\s-1VL\s0) Server (\fBvlserver process)" 4
+.el .IP "\f(CW7003\fR for the Volume Location (\s-1VL\s0) Server (\fBvlserver\fR process)" 4
+.IX Item "7003 for the Volume Location (VL) Server (vlserver process)"
+.ie n .IP "7004\fR for the Authentication Server (\fBkaserver process)" 4
+.el .IP "\f(CW7004\fR for the Authentication Server (\fBkaserver\fR process)" 4
+.IX Item "7004 for the Authentication Server (kaserver process)"
+.ie n .IP "7005\fR for the Volume Server (\fBvolserver process)" 4
+.el .IP "\f(CW7005\fR for the Volume Server (\fBvolserver\fR process)" 4
+.IX Item "7005 for the Volume Server (volserver process)"
+.ie n .IP "7007\fR for the \s-1BOS\s0 Server (\fBbosserver process)" 4
+.el .IP "\f(CW7007\fR for the \s-1BOS\s0 Server (\fBbosserver\fR process)" 4
+.IX Item "7007 for the BOS Server (bosserver process)"
+.ie n .IP "7008\fR for the Update Server (\fBupserver process)" 4
+.el .IP "\f(CW7008\fR for the Update Server (\fBupserver\fR process)" 4
+.IX Item "7008 for the Update Server (upserver process)"
+.ie n .IP "7009\fR for the \s-1NFS/AFS\s0 Translator's \fBrmtsysd daemon" 4
+.el .IP "\f(CW7009\fR for the \s-1NFS/AFS\s0 Translator's \fBrmtsysd\fR daemon" 4
+.IX Item "7009 for the NFS/AFS Translator's rmtsysd daemon"
+.ie n .IP "7021\fR for the Backup Server (\fBbuserver process)" 4
+.el .IP "\f(CW7021\fR for the Backup Server (\fBbuserver\fR process)" 4
+.IX Item "7021 for the Backup Server (buserver process)"
+.RE
+.RS 4
+.PD
+.Sp
+Finally, specify \f(CW7025\fR through \f(CW65535\fR for the Backup Tape Coordinator
+(\fBbutc\fR process) that has the port offset number derived by subtracting
+7025 from this value.
+.RE
+.IP "\fB\-nodally\fR" 4
+.IX Item "-nodally"
+Produces output only for connections that are not in dally mode.
+.IP "\fB\-allconnections\fR" 4
+.IX Item "-allconnections"
+Produces output for all connections, even inactive ones. By default, the
+output includes information only for connections that are active or in
+dally mode when the \fBrxdebug\fR command is issued.
+.IP "\fB\-rxstats\fR" 4
+.IX Item "-rxstats"
+Produces detailed statistics about Rx history and performance (for
+example, counts of the number of packets of various types the process has
+read and sent, calculations of average and minimum roundtrip time, and so
+on).
+.IP "\fB\-onlyserver\fR" 4
+.IX Item "-onlyserver"
+Produces output only for connections in which the process designated by
+the \fB\-port\fR argument is acting as the server.
+.IP "\fB\-onlyclient\fR" 4
+.IX Item "-onlyclient"
+Produces output only for connections in which the process designated by
+the \fB\-port\fR argument is acting as the client.
+.IP "\fB\-onlyport\fR <\fIport\fR>" 4
+.IX Item "-onlyport <port>"
+Produces output only for connections between the process designated by the
+\&\fB\-port\fR argument and the specified port on any another machine. Use the
+same port identifiers as for the \fB\-port\fR argument.
+.IP "\fB\-onlyhost\fR <\fIhost\fR>" 4
+.IX Item "-onlyhost <host>"
+Produces output only for connections between the process designated by the
+\&\fB\-port\fR argument and any process on the specified machine. To identify
+the machine, use the same notation as for the \fB\-servers\fR argument.
+.IP "\fB\-onlyauth\fR" 4
+.IX Item "-onlyauth"
+Produces output only for connections that are using the specified
+authentication level. Provide one of the following values:
+.RS 4
+.IP "auth" 4
+.IX Item "auth"
+Cconnections at authentication level rxkad_auth
+.IP "clear" 4
+.IX Item "clear"
+Connections at authentication level rxkad_clear
+.IP "crypt" 4
+.IX Item "crypt"
+Connections at authentication level rxkad_crypt
+.IP "none" 4
+.IX Item "none"
+Unauthenticated connections (equivalents are \f(CW\*(C`null\*(C'\fR, \f(CW\*(C`noauth\*(C'\fR, and
+\&\f(CW\*(C`unauth\*(C'\fR)
+.RE
+.RS 4
+.RE
+.IP "\fB\-version\fR" 4
+.IX Item "-version"
+Reports the \s-1AFS\s0 build level of the binary file for the process designated
+by the \fB\-port\fR argument (or of the kernel extensions file for port 7001,
+the Cache Manager's callback interface). Any other options combined with
+this one are ignored.
+.IP "\fB\-noconns\fR" 4
+.IX Item "-noconns"
+Produces only the standard statistics that begin the output produced by
+every option (other than \fB\-version\fR), without reporting on any
+connections. Any other options combined with this one are ignored.
+.IP "\fB\-peers\fR" 4
+.IX Item "-peers"
+Outputs information from the \fIpeer structure\fR maintained for each port on
+another machine to which the process designated by the \fB\-port\fR argument
+has a connection. There is information about roundtrip time and numbers of
+packets sent and received, for example.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If any options other than \fB\-version\fR or \fB\-help\fR are provided, the output
+written to the standard output stream begins with basic statistics about
+packet usage and availability, how many calls are waiting for a thread,
+how many threads are free, and so on (this is the only information
+provided by the \fB\-noconns\fR flag). Adding other options produces
+additional information as described in \s-1OPTIONS\s0. The output is intended
+for debugging purposes and is meaningful to someone familiar with the
+implementation of Rx.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command shows Rx statistics on the server 192.168.1.100:
+.PP
+.Vb 7
+\& % rxdebug 192.168.1.100
+\& Trying 192.168.1.100 (port 7000):
+\& Free packets: 265, packet reclaims: 0, calls: 0, used FDs: 34
+\& not waiting for packets.
+\& 0 calls waiting for a thread
+\& 11 threads are idle
+\& Done.
+.Ve
+.PP
+The following command shows the OpenAFS version running on the server
+192.168.1.100:
+.PP
+.Vb 3
+\& % rxdebug 192.168.1.100 \-version
+\& Trying 192.168.1.100 (port 7000):
+\& AFS version: OpenAFS 1.4.2fc2 built 2006\-08\-31
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fIbosserver\fR\|(8),
+\&\fIbuserver\fR\|(8),
+\&\fIbutc\fR\|(8),
+\&\fIfileserver\fR\|(8),
+\&\fIkaserver\fR\|(8),
+\&\fIptserver\fR\|(8),
+\&\fIupclient\fR\|(8),
+\&\fIupserver\fR\|(8),
+\&\fIvlserver\fR\|(8),
+\&\fIvolserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH RXGEN 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "RXGEN 1"
++.TH RXGEN 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+rxgen \- Stub generator for the Rx remote procedure call package
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBrxgen\fR [\fB\-h\fR | \fB\-c\fR | \fB\-C\fR | \fB\-S\fR | \fB\-r\fR] [\fB\-dkpR\fR]
+ [\fB\-I\fR \fIdir\fR] [\fB\-P\fR \fIprefix\fR] [\fB\-o\fR \fIoutfile\fR] [\fIinfile\fR]
+.PP
+\&\fBrxgen\fR \fB\-s\fR \fItransport\fR [\fB\-o\fR \fIoutfile\fR] [\fIinfile\fR]
+.PP
+\&\fBrxgen\fR \fB\-l\fR [\fB\-o\fR \fIoutfile\fR] [\fIinfile\fR]
+.PP
+\&\fBrxgen\fR \fB\-m\fR [\fB\-o\fR \fIoutfile\fR] [\fIinfile\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBrxgen\fR is a tool that generates C code to implement the Rx \s-1RPC\s0 protocol;
+it takes as input a description of an application interface similar to C
+and produces a number of server and/or client stub routines to be linked
+with RPC-based programs. These stubs allow programs to invoke remote
+procedures through local procedure calls. \fBrxgen\fR is an extension of
+Sun's \fBrpcgen\fR (version 3.9) and retains full \fBrpcgen\fR functionality (at
+least as of that version). Please refer to \fIrpcgen\fR\|(1) for more details on
+the Sun's \s-1RPC\s0 specific flags, and to the \s-1RPC\s0 programming guide regarding
+the \s-1RPC\s0 language along with useful examples.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+\&\fBrxgen\fR operates in several different modes. The generated output files
+can be produced individually (using one of \fB\-h\fR, \fB\-c\fR, \fB\-C\fR, or \fB\-S\fR)
+or collectively. All output files are created when the default is used
+(i.e., no options), or the output is limited to the server stubs (\fB\-C\fR
+and \fB\-S\fR) when the \fB\-r\fR flag is used. The following describes the types
+of generated output files (for simplicity, \fIfilename\fR refers to the main
+output filename):
+.IP "\fB\-h\fR" 4
+.IX Item "-h"
+Generate C data definitions (a header file) from standard \s-1RPCL\s0 definitions
+(default extension: \fIfilename\fR.h).
+.IP "\fB\-c\fR" 4
+.IX Item "-c"
+Compile the \s-1XDR\s0 routines required to serialize the protocol described by
+\&\s-1RPCL\s0. Generate \s-1XDR\s0 routines for all declarations (default extension:
+\&\fIfilename\fR.xdr.c).
+.IP "\fB\-C\fR" 4
+.IX Item "-C"
+Generate all the client-side stub routines (default extension:
+\&\fIfilename\fR.cs.c). Calling a routine in this file will cause the
+arguments to be packed up and sent via Rx (or R).
+.IP "\fB\-S\fR" 4
+.IX Item "-S"
+Generate all the server-side stub routines (default extension:
+\&\fIfilename\fR.ss.c). Arguments are unpacked, and the corresponding server
+routine is called.
+.IP "\fB\-r\fR" 4
+.IX Item "-r"
+Generate the two default extension files produced by the \fB\-C\fR and \fB\-S\fR
+options.
+.PP
+The following options can be used on any combination of \fBrxgen\fR calls:
+.IP "\fB\-R\fR" 4
+.IX Item "-R"
+Generate code for the older \eR protocol, as opposed to Rx, which is the
+default.
+.IP "\fB\-k\fR" 4
+.IX Item "-k"
+Must be specified when the generated code is intended to be used by the
+kernel; special \*(L"includes\*(R" and other specifics are produced when the
+target output is for the kernel.
+.IP "\fB\-p\fR" 4
+.IX Item "-p"
+Package combination flag: when multiple packages are included within a
+single specification file, a single Execute Request routine will be used
+for all of them as a result of this flag. The default is to generate
+individual Execute Request stubs for each package.
+.IP "\fB\-I\fR \fIdir\fR" 4
+.IX Item "-I dir"
+Similar to the \fB\-I\fR flag in the C compiler (\fBcc\fR). This flag is passed
+to the pre-processor (\fBcpp\fR) so that directory \fIdir\fR is searched before
+the standard lookup list for #include files. As expected, multiple \fB\-I\fR
+flags can be used simultaneously.
+.IP "\fB\-P\fR \fIprefix\fR" 4
+.IX Item "-P prefix"
+The \fIprefix\fR string following this switch is prepended to all generated
+output files; useful when multiple runs want to produce different versions
+of the same interface (say, kernel and non-kernel versions).
+.IP "\fB\-d\fR" 4
+.IX Item "-d"
+Debugging mode; only needed when \fBrxgen\fR is to be debugged (say, via
+\&\fBdbx\fR).
+.IP "\fB\-o\fR \fIoutfile\fR" 4
+.IX Item "-o outfile"
+Specify the name of the output file. If none is specified, the standard
+output is used (\fB\-c\fR, \fB\-h\fR, \fB\-C\fR, and \fB\-S\fR modes only). Note that if
+an output file is specified in a multi-output file option (such as the
+default, or with option \fB\-r\fR), then the \fIoutfile\fR replaces the name
+generated by default (which is based on the configuration's main file
+name).
+.PP
+The \fB\-s\fR, \fB\-l\fR, and \fB\-m\fR options are present only for \fBrpcgen\fR
+support. See \fIrpcgen\fR\|(1) for information on their use.
+.SH "\fBrxgen\fP SYNTAX SUMMARY"
+.IX Header "rxgen SYNTAX SUMMARY"
+.Vb 1
+\& Specification file:
+\&
+\& <Package description option> |
+\& <Prefix description option> |
+\& <StartingOpcode description option> |
+\& <SplitPrefix description option> |
+\& <Procedure description option> |
+\& <RPCL language description option>
+\&
+\& <Package description option>:
+\&
+\& "package" <Package_ident>
+\&
+\& <Prefix description option>:
+\&
+\& "prefix" <Prefix_ident>
+\&
+\& <StartingOpcode description option>:
+\&
+\& "startingopcode" <constant>
+\&
+\& <SplitPrefix description option>:
+\&
+\& "splitprefix" <split options> ";"
+\&
+\& <Split options>:
+\&
+\& "IN =" <Start_prefix_ident> "|"
+\& "OUT =" <End_prefix_ident> "|"
+\& <Split options>
+\&
+\& <Procedure description option>:
+\&
+\& ["proc"] [<Procedure_ident>] [<ServerStub_ident>]
+\& <Argument list> ["split" | "multi"]
+\& ["=" <Opcode_ident>] ";"
+\&
+\& <Argument list>:
+\&
+\& "(" <Argument definition> <Comma_joined argument> ")"
+\&
+\& <Argument definition>:
+\&
+\& <Direction option> <Standard RPCL type decl> <Arg_ident>
+\& ["<" <Max_size> ">" | "[" <Max_size> "]"] | NULL
+\&
+\& <Comma_joined argument>:
+\&
+\& "," <Argument definition> | NULL
+\&
+\& <Direction option>:
+\&
+\& "IN" | "OUT" | "INOUT" | NULL
+\&
+\& <Max_size>:
+\&
+\& <constant> | NULL
+\&
+\& <Package_ident>:
+\& <Prefix_ident>:
+\& <String_ident>:
+\& <Start_prefix_ident>:
+\& <End_prefix_ident>:
+\& <Procedure_ident>:
+\& <ServerStub_ident>:
+\& <Arg_ident>:
+\& <Opcode_ident>:
+\&
+\& <identifier>
+\&
+\& <RPCL language description option>:
+\& <Standard RPCL type decl>:
+\&
+\& Sun\*(Aqs RPCL language syntax (see rpcgen(1))
+.Ve
+.SH "\fBrxgen\fP COMMANDS"
+.IX Header "rxgen COMMANDS"
+.Sh "Comments and Preprocessing"
+.IX Subsection "Comments and Preprocessing"
+The input interface may contain preprocessor directives which are passed
+through the C preprocessor (i.e. \f(CW\*(C`cpp\*(C'\fR). Since the preprocessor runs on
+all input files before they are actually interpreted by \fBrxgen\fR, all
+\&\fBcpp\fR directives (#include, #ifdefs, #defines, etc.) are legal and
+welcomed within an \fBrxgen\fR input file. Of course, none of these
+preprocessor directives will be included in any of the generated files.
+To facilitate distinctions between the different types of output files,
+\&\fBrxgen\fR defines certain special \fBcpp\fR symbols for use by the \fBrxgen\fR
+programmer. These are \s-1RPC_HDR\s0 (defined when compiling into header,
+\&\fIfilename\fR.h, files), \s-1RPC_XDR\s0 (defined when compiling into xdr,
+\&\fIfilename\fR.xdr.c, files), \s-1RPC_CLIENT\s0 (defined when compiling into client
+stubs, \fIfilename\fR.cs.c, files), and \s-1RPC_SERVER\s0 (defined when compiling
+into server stubs, \fIfilename\fR.ss.c, files).
+.PP
+In addition, \fBrxgen\fR does a little preprocessing of its own. Any line
+beginning with \f(CW\*(C`%\*(C'\fR is passed directly into the output file, uninterpreted
+by \fBrxgen\fR. For a more heavy en masse dumping of uninterpreted code, it
+would be adviced to include all such code in an \f(CW\*(C`#include\*(C'\fR file and pass
+it in preceded by \f(CW\*(C`%\*(C'\fR. The input interface may also contain any C\-style
+comments which are, of course, ignored. Interpretation is token-based,
+thus special line-orientation of separate statements is not necessary.
+\&\fBrxgen\fR also provides a quite rich and helpful set of error reports,
+identifying them by exact line location and error type. Also, \fBrxgen\fR
+will automatically generate #include lines for standard include files,
+such as \fIrx/xdr.h\fR and \fIrx/rx.h\fR, along with the generated header file
+from this interface.
+.Sh "Prefixing stub procedures"
+.IX Subsection "Prefixing stub procedures"
+The \fIpackage\fR statement tells \fBrxgen\fR the name of the interface package.
+It is used for prefixing the naming of all generated stub routines and the
+execute request procedure. For example:
+.PP
+.Vb 1
+\& package AFS_
+.Ve
+.PP
+causes the execute request procedure to be named AFS_ExecuteRequest
+(Warning: in the older version an additional \f(CW\*(C`_\*(C'\fR was appended after the
+package name to the ExecuteRequest name; thus make sure you don't have an
+ExecuteRequest interface routine) and a given stub routine, say Fetch, to
+be actually named AFS_Fetch. Multiple package statements (current maximum
+size is 10) per configuration are permitted and are useful when multiple
+sets of interfaces are implemented (see the example at the end). Note
+that in such cases, use of the \fB\-p\fR flag results in the generation of
+just one ExecuteRequest procedure which recognizes the multiple interfaces
+and whose name is prefixed by the first package statement. In the default
+case, independent ExecuteRequest procedures will be created for each
+packaged group of remote procedure calls.
+.PP
+The \fIprefix\fR statement supplies a name to prepend to all calls to remote
+procedure names in the ExecuteRequest stub routine. It is useful when the
+server makes \s-1RPC\s0 calls to other servers (say, for debugging purposes).
+For example:
+.PP
+.Vb 1
+\& prefix S
+.Ve
+.PP
+causes the name \f(CW\*(C`S\*(C'\fR to be prepended to the name of all routines called
+from the server stubs. The server can then call the original name and get
+the client stubs.
+.Sh "\fBrxgen\fP procedure declaration"
+.IX Subsection "rxgen procedure declaration"
+The \fIproc\fR statement is the most common (and meaningful) in the \fBrxgen\fR
+interface. Its syntax description is:
+.PP
+.Vb 2
+\& [proc] [<proc_name>] [<server_stub>] (<arg>, ..., <arg>)
+\& [split | multi] [= <opcode>] ;
+.Ve
+.PP
+where:
+.IP "\(bu" 2
+\&\f(CW\*(C`proc\*(C'\fR is an optional prefix of the procedure statement. This is just a
+stylistic item and not a required procedure delimiter.
+.IP "\(bu" 2
+<proc_name> is the name of the procedure. Note that even the name of the
+procedure is optional. This only makes sense when the name of the given
+procedure is identical to the name of the last \fIpackage\fR statement (i.e.,
+\&\f(CW\*(C`package RCallBack\*(C'\fR and the declaration of the \f(CW\*(C`RCallBack\*(C'\fR procedure).
+.IP "\(bu" 2
+<server_stub>, if present, causes the ExecuteRequest procedure to call
+that stub instead of the automatically generated stub when a call with
+that opcode is decoded.
+.IP "\(bu" 2
+<opcode> is a constant or symbol that is the opcode for that procedure.
+One might use the preprocessor features (i.e., #define), the \fIconst\fR
+RPC-language feature, or the old good constants as opcodes. Some further
+evaluation/processing of opcodes is done. Particularly, checks for
+duplicate and non-existent opcodes are performed, along with checks for
+\&\*(L"holes\*(R" (i.e., gaps in consecutive opcodes) in the opcode sequences. For
+example, we use the fact that when \*(L"holes\*(R" in opcodes exist, the
+ExecuteRequest procedure uses the \fIcase\fR statement rather than the faster
+(and smaller, codewise) indexed array method.
+.Sp
+Also, \fBrxgen\fR defines (i.e., appends to the header file) three valuable
+macros for each package group: <package\-name>\s-1LOWEST_OPCODE\s0,
+<package\-name>\s-1HIGHEST_OPCODE\s0, and <package\-name>\s-1NUMBER_OPCODES\s0. These may
+be useful to the \fBrxgen\fR programmer. Also, notice that the \fIopcode\fR
+statement is an optional feature, and can be omitted. In such cases,
+automatic opcode numbers are generated sequentially, starting from 0.
+.Sp
+One can change the initial opcode number by using the \fIstartingopcode\fR
+(for lack of a better name) \fBrxgen\fR command. Its syntax is:
+.Sp
+.Vb 1
+\& startingopcode <constant>
+.Ve
+.Sp
+where <constant> must be reasonable! Note that one can not mix
+procedures, some with opcodes and some without, nor allow opcodes after
+the specification of the \fIstartingopcode\fR statement. \fBrxgen\fR will
+complain in all such cases.
+.IP "\(bu" 2
+The \fIargument\fR entry represents a given parameter of the procedure. Its
+syntax is:
+.Sp
+.Vb 2
+\& [IN | INOUT | OUT | <null>] <type_decl> <arg_name>
+\& [<max>|<>|[max]|[]]
+.Ve
+.Sp
+If the type is an indirect type (i.e., is followed by *), it is assumed
+that the pointer should be followed one level and the data pointed to is
+to be transmitted. This should normally be used for all structures/arrays
+and out parameters. A noticeable exception is when explicit
+array/structure maximum size is given; since no array-of-pointer
+declarations are allowed one should use typedefs to achieve the similar
+effect. The parameters could be input parameters (preceded by \s-1IN\s0), output
+parameters (preceded by \s-1OUT\s0), or input/output parameters (preceded by
+\&\s-1INOUT\s0). If not specified, then the direction of the previous parameter in
+the procedure is used. (Note: the first parameter must be preceded by the
+directional primitive!)
+.IP "\(bu" 2
+\&\f(CW\*(C`split\*(C'\fR is a hack to handle stub routines that do things such as file
+transfers or any other operation that has to exchange information (e.g.,
+length of a file) before the call returns its output parameters. Because
+of the particular handshake that is involved when doing remote file
+transfer, we currently break all such calls into two client-side stub
+routines. The first (with the default prefix of \f(CW\*(C`Begin\*(C'\fR) is used to pass
+all \s-1IN\s0 and \s-1INOUT\s0 parameters to the server side. The second (with the
+default prefix of \f(CW\*(C`End\*(C'\fR) is used to get back the \s-1INOUT\s0 and \s-1OUT\s0 parameters
+from the server. Between the two calls, the user is supposed to do the
+appropriate calls for the file transfer. For example, the following
+procedure declaration in package \s-1AFS_\s0
+.Sp
+.Vb 1
+\& Fetch (IN a, b,INOUT c, OUT d) split = FETCHOPCODE;
+.Ve
+.Sp
+will roughly generate the two independent client stub routines:
+.Sp
+.Vb 1
+\& BeginAFS_Fetch (IN a, b, c)
+.Ve
+.Sp
+and
+.Sp
+.Vb 1
+\& EndAFS_Fetch(OUT c, d)
+.Ve
+.Sp
+The \fIsplitprefix\fR statement is used to change the default prefix names
+used by the two client-side stub generated routines when dealing with file
+transfer-related procedure calls. For example:
+.Sp
+.Vb 1
+\& splitprefix IN=Before_ OUT=After_
+.Ve
+.Sp
+will cause the naming of the two client stubs for a file transfer-related
+routine, say \fIFetch()\fR, to be \fIBefore_AFS_Fetch()\fR and \fIAfter_AFS_Fetch()\fR,
+respectively.
+.IP "\(bu" 2
+The \f(CW\*(C`multi\*(C'\fR option is nearly identical to the \f(CW\*(C`split\*(C'\fR feature described
+above. The only significant visible difference is that along with the two
+client stubs, the standard client stub is also generated. Since the
+intention is to handle the multi-Rx calls, we need the whole standard
+procedure stub in the cases where no multi-Rx call of the procedure is
+performed. A side effect of the \f(CW\*(C`multi\*(C'\fR option is the generation of a
+special macro (i.e., \f(CW\*(C`multi_<Procedure\-name>\*(C'\fR which passes back as
+arguments the \f(CW\*(C`Begin\*(C'\fR and \f(CW\*(C`End\*(C'\fR stubs in the header output file. This
+macro is used directly by the Rx code when a multi-Rx call of this
+procedure is performed.
+.Sh "\s-1OBSOLETE\s0 \fBrxgen\fP \s-1FEATURES\s0"
+.IX Subsection "OBSOLETE rxgen FEATURES"
+Although the following rxgen commands are still in effect, they will soon
+be removed since there are better alternatives. \s-1DO\s0 \s-1NOT\s0 \s-1USE\s0 \s-1THEM\s0!
+.PP
+The \fIspecial\fR statement is a temporary hack used to handle certain
+inefficiencies of standard xdr routines to handle some user-customized
+declarations. In particular, this applies to a string pointer specified
+as part of a declaration. For example,
+.PP
+.Vb 1
+\& special struct BBS SeqBody;
+.Ve
+.PP
+tells \fBrxgen\fR that the entry \f(CW\*(C`SeqBody\*(C'\fR in the user-defined \s-1BBS\s0 xdr
+routine is a string (note that more than one string can be \*(L"special\*(R" per
+structure \*(-- multiple ones are separated by commas); it will thus allocate
+and de-allocate space properly in the server-generated stubs that contain
+this structure as an \s-1IN\s0 or \s-1INOUT\s0 parameter.
+.PP
+A better alternative to \fIspecial\fR is the \fIcustomized\fR statement, which
+is simply the \f(CW\*(C`customized\*(C'\fR token followed by the regular declaration of a
+struct based on the \s-1RPCL\s0 rules. In this case, the declaration will be
+included in the generated header file (\fB\-h\fR option) but no xdr routine
+will be generated for this structure \*(-- the user will supply this. All
+pointer entries in this structure will be remembered so when the structure
+is used as an \s-1IN\s0 or \s-1INOUT\s0 in the server stub, no core leaks will occur.
+For example, consider
+.PP
+.Vb 4
+\& customized struct CBS {
+\& long Seqlen;
+\& char *SeqBody;
+\& }
+.Ve
+.PP
+The \f(CW\*(C`xdr_CBS\*(C'\fR routine would be provided by the user where during the
+\&\s-1DECODE\s0 xdr opcode, appropriate space for the \f(CW\*(C`SeqBody\*(C'\fR string is
+allocated. Similarly, that space is freed during the \s-1FREE\s0 xdr opcode.
+.PP
+Note: Old style \*(L"Array parameter specifications\*(R" are not supported any
+more.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In case there are some requirements not available by the current \s-1RPC\s0
+language, one can customize some \s-1XDR\s0 routines by leaving those data types
+undefined. For every data type that is undefined, it will be assumed that
+a routine exists with the name \f(CW\*(C`xdr_\*(C'\fR prepended to it. A selected set of
+\&\fBrxgen\fR features is presented below, but for a more comprehensive one
+(unions, complex examples, etc) please refer to the \fIrpcgen Programming
+Guide\fR and \fIeXternal Data Representation: Sun Technical Notes\fR.
+.Sh "Typedefs"
+.IX Subsection "Typedefs"
+The \s-1RPC\s0 typedef statement is identical to the C typedef (i.e. \f(CW\*(C`typedef
+<declaration>\*(C'\fR). By default, most user declarations (i.e. structs,
+unions, etc) are automatically typedef'ed by \fBrxgen\fR. Since it makes
+parsing simpler, its usage is recommended by \fBrxgen\fR scripts.
+.Sh "Strings"
+.IX Subsection "Strings"
+The C \f(CW\*(C`char *\*(C'\fR string convention is kind of ambiguous, since it is
+usually intended to mean a null-terminated string of characters, but it
+could also represent a pointer to a single character, a pointer to an
+array of characters, etc. In the \s-1RPC\s0 language, a null-terminated string
+is unambiguously called a \*(L"string\*(R". Examples,
+.PP
+.Vb 3
+\& string bigname<>;
+\& string name<MAXNAMELEN>;
+\& typedef string volname<MAXVOLNAME>;
+.Ve
+.PP
+Notice that the maximum size of string can be arbitrary (like \f(CW\*(C`bigname\*(C'\fR
+above) or, preferably, or specified in angle brackets (i.e. \f(CW\*(C`name\*(C'\fR and
+\&\f(CW\*(C`volname\*(C'\fR above). In practice, one should always use only bounded
+strings in interfaces. A sample calling proc using the declarations above
+would be:
+.PP
+.Vb 2
+\& GetEntryByName (IN volname name,
+\& OUT struct vldbentry *entry) = VL_GETENTRYBYNAME;
+.Ve
+.PP
+or, of course,
+.PP
+.Vb 2
+\& GetEntryByName (IN string volname<MAXVOLNAME>,
+\& OUT struct vldbentry *entry) = VL_GETENTRYBYNAME;
+.Ve
+.PP
+It is very important for the user to understand when the string parameters
+should be allocated and/or freed by the his/her client and/or server
+programs. A short analysis on string parameters handling follows (note
+that a similar method is used for the handling of variable length arrays
+as it will be shown later on):
+.IP "\(bu" 2
+In the client side: \s-1IN\s0 and \s-1INOUT\s0 string parameters are the programmer's
+responsibility and should be allocated (static or via malloc) before
+calling the rpc and freed (if malloc was used) after the rpc's return in
+the user's client program; of course, for \s-1INOUT\s0 parameters, the returned
+string can't be bigger than the malloced input string.
+.Sp
+\&\s-1OUT\s0 string parameters are automatically malloced (based on the length of
+the returned string and not the maxsize) by the \fBrxgen\fR client stubs (in
+\&\fIfilename\fR.cs.c) and must be freed by the client program; admittedly,
+this could be somewhat confusing since the user needs to free something
+that he/she didn't allocate.}
+.IP "\(bu" 2
+In the server side: \s-1IN\s0 and \s-1INOUT\s0 string parameters are automatically
+malloced (based on the size of incoming strings) by the rxgen server stubs
+(in \fIfilename\fR.ss.c) before they are passed to the user's server
+procedure; that space is automatically freed just before the rxgen server
+stub returns; therefore the user need not do anything special for \s-1IN\s0 and
+\&\s-1INOUT\s0 string parameters.
+.Sp
+\&\s-1OUT\s0 string parameters must be malloced by the user's server procedure
+(i.e. null pointer is passed to it by the rxgen server stub) and it is
+automatically freed at the end of the \fBrxgen\fR server stub. Like in the
+client side, the \s-1OUT\s0 parameters are somewhat unorthodox (i.e. the server
+routine must malloc a string without ever freeing it itself; this is done
+by the \fBrxgen\fR server stub).
+.PP
+Note that for \s-1INOUT\s0 and \s-1OUT\s0 string parameters, in both the client and
+server sides their arguments must be char of pointers (i.e. char **).
+.Sh "Pointers"
+.IX Subsection "Pointers"
+Pointer declarations in \s-1RPC\s0 are also exactly as they are in C
+(i.e. \f(CW\*(C`struct single_vldbentry *vldblist;\*(C'\fR). Of course, one can't send
+pointers over the network, but one can use \s-1XDR\s0 pointers for sending
+recursive data types such as lists and trees (an example of a linked list
+will be demonstrated shortly).
+.Sh "Arrays"
+.IX Subsection "Arrays"
+Fixed arrays are just like standard C array declarations (i.e. \f(CW\*(C`struct
+UpdateEntry entries[20]\*(C'\fR) without any side effect problems in
+\&\fBrxgen\fR. Since variable-length arrays have no explicit syntax in C, the
+angle-brackets are used for it and the array declarations are actually
+compiled into \*(L"struct\*(R"s. For example, declarations such as:
+.PP
+.Vb 5
+\& const MAXBULKSIZE = 10000;
+\& const MAXENTRIES = 100;
+\& opaque bulk<MAXBULKSIZE>; /* At most 10000 items */
+\& int hosts<>; /* any number of items */
+\& typedef vldbentry blkentries<100>; /* Preferable array decl */
+.Ve
+.PP
+are compiled into the following structs:
+.PP
+.Vb 4
+\& struct {
+\& u_int bulk_len; /* no of items */
+\& char *bulk_val; /* pointer to array */
+\& } bulk;
+.Ve
+.PP
+for the \f(CW\*(C`bulk\*(C'\fR array, and similarly for the \f(CW\*(C`blkentries<100>\*(C'\fR array,
+.PP
+.Vb 4
+\& struct {
+\& u_int blkentries_len; /* no of items in array */
+\& vldbentry *blkentries_val; /* pointer to array */
+\& } blkentries;
+.Ve
+.PP
+Therefore the user should be aware of the \*(L"magically\*(R" generated structure
+entries such as the number of items in the array (<array_name>_len) and
+the pointer to the array (<array_name>_val) since some of the entries will
+have to be filled in from the client/server programs. A sample proc would
+be:
+.PP
+.Vb 2
+\& typedef vldbentry blkentries<MAXENTRIES>;
+\& proc GetBlk (OUT blkentries *vlentries) = VL_GETBLK;
+.Ve
+.PP
+or, more directly,
+.PP
+.Vb 1
+\& GetBlk(OUT vldbentry vlentries<MAXENTRIES>) = VL_GETBLK;
+.Ve
+.PP
+Note that although the latest method is preferable since one does not have
+to first use the typedef statement (and admittedly, programmers prefer
+avoiding typedefs), one should realize that \fBrxgen\fR does the structure
+expansion and the xdr creation implicitly; therefore the user should be
+aware of the \f(CW\*(C`vldbentries_val\*(C'\fR and \f(CW\*(C`vldbentries_len\*(C'\fR fields as before
+(see following examples).
+.PP
+\fIArray example I (least desirable)\fR
+.IX Subsection "Array example I (least desirable)"
+.PP
+Procedure declaration in the interface configuration:
+.PP
+.Vb 2
+\& proc ListAttributes (IN vldblistbyattributes *attributes,
+\& INOUT blkentries *vldbentries) = VL_LISTATTRIBUTES;
+.Ve
+.PP
+Sample \s-1CLIENT\s0 code:
+.PP
+.Vb 4
+\& blkentries entries, *pnt;
+\& entries.blkentries_len = 10; /* max # returned entries */
+\& entries.blkentries_val = (vldbentry *)malloc(LEN);
+\& /* It must be set */
+\&
+\& code = VL_ListAttributes(&attributes, &entries);
+\& if (!code) {
+\& pnt = entries.blkentries_val;
+\& for (i=0; i < entries.blkentries_len; i++, pnt++)
+\& display_vldbentry(pnt);
+\& /* Make sure you free the allocated space */
+\& free((char *)entries.blkentries_val);
+\& }
+.Ve
+.PP
+Sample \s-1SERVER\s0 code:
+.PP
+.Vb 4
+\& VL_ListAttributes(attributes, entries)
+\& {
+\& vldbentry *singleentry = entries\->blkentries_val;
+\& entries\->blkentries_len = 0;
+\&
+\& while (copy_to_vldbentry(&vlentry, singleentry))
+\& singleentry++, vldbentries\->entries_len++;
+\& }
+.Ve
+.PP
+Although this method for variable-size arrays works fine, there are some
+major drawbacks. The array parameter (i.e. vldbentries above) must be
+declared as \s-1INOUT\s0 since we need to pass the max length of the expected
+returned array; more importantly, a big (depending on the value of
+\&\f(CW\*(C`_len\*(C'\fR) chunk of junk code is going to be transferred to the server as
+result of the \s-1IN\s0(out) side-effect of the array. It's an easy and
+convenient method if the returned array size can be predicted from the
+start and when the size is quite high. This method is included as an
+example of erroneous use (and abuse) of \fBrxgen\fR and should not be used.
+.PP
+\fIArray example \s-1II\s0 (Desirable method)\fR
+.IX Subsection "Array example II (Desirable method)"
+.PP
+Procedure declaration in the interface configuration (using Example I
+above):
+.PP
+.Vb 2
+\& proc ListAttributes (IN vldblistbyattributes *attributes,
+\& OUT blkentries *vldbentries) = VL_LISTATTRIBUTES;
+.Ve
+.PP
+Sample \s-1CLIENT\s0 code:
+.PP
+.Vb 1
+\& blkentries entries, *pnt;
+\&
+\& code = VL_ListAttributes(&attributes, &entries);
+\& if (!code) {
+\& pnt = entries.blkentries_val;
+\& for (i=0; i < entries.blkentries_len; i++, pnt++)
+\& display_vldbentry(pnt);
+\& /* Make sure you free the allocated space (by rxgen) */
+\& free((char *)entries.blkentries_val);
+\& }
+.Ve
+.PP
+Sample \s-1SERVER\s0 code:
+.PP
+.Vb 6
+\& VL_ListAttributes(attributes, entries)
+\& {
+\& vldbentry *singleentry;
+\& entries\->blkentries_len = 0;
+\& singleentry = entries\->blkentries_val
+\& = (vldbentry *)malloc(MAXENTRIES * sizeof(vldbentry));
+\&
+\& while (copy_to_vldbentry(&vlentry, singleentry))
+\& singleentry++, vldbentries\->entries_len++;
+\& }
+.Ve
+.PP
+This is the best (and simplest) way of using variable-size arrays as an
+output parameter. It is the responsibility of the server-side stub to
+\&\fImalloc()\fR the adequate space which is automatically freed by the \fBrxgen\fR
+stub; the client side should free the space allocated by the
+\&\fBrxgen\fR\-calling stub.
+.PP
+\fIArray example \s-1III\s0 (Linked Lists)\fR
+.IX Subsection "Array example III (Linked Lists)"
+.PP
+Considering the following 3 declarations (could have applied some
+optimizations) in the configuration file:
+.PP
+.Vb 5
+\& typedef struct single_vldbentry *vldblist;
+\& struct single_vldbentry {
+\& vldbentry vlentry;
+\& vldblist next_vldb;
+\& };
+\&
+\& struct vldb_list {
+\& vldblist node;
+\& };
+.Ve
+.PP
+and the rxgen procedure declaration:
+.PP
+.Vb 2
+\& LinkedList (IN vldblistbyattributes *attributes,
+\& OUT vldb_list *linkedentries) = VL_LINKEDLIST;
+.Ve
+.PP
+Sample \s-1CLIENT\s0 code:
+.PP
+.Vb 2
+\& vldb_list linkedvldbs;
+\& vldblist vllist, vllist1;
+\&
+\& bzero(&linkedvldbs, sizeof(vldb_list));
+\& code = VL_LinkedList(&attributes, &nentries, &linkedvldbs);
+\& if (!code) {
+\& printf("We got %d vldb entries\en", nentries);
+\& for (vllist = linkedvldbs.node; vllist; vllist = vllist1) {
+\& vllist1 = vllist\->next_vldb;
+\& display_entry(&vllist\->vlentry);
+\& free((char *)vllist);
+\& }
+\& }
+.Ve
+.PP
+Sample \s-1SERVER\s0 code:
+.PP
+.Vb 12
+\& VL_LinkedList(rxcall, attributes, nentries, linkedvldbs);
+\& {
+\& vldblist vllist, *vllistptr = &linkedvldbs\->node;
+\& while (...) {
+\& vllist = *vllistptr
+\& = (single_vldbentry *)malloc (sizeof (single_vldbentry));
+\& copy_to_vldbentry(&tentry, &vllist\->vlentry);
+\& nentries++;
+\& vllistptr = &vllist\->next_vldb;
+\& };
+\& *vllistptr = NULL;
+\& }
+.Ve
+.PP
+Using a linked list offers many advantages: Nothing is passed to the
+server (the parameter is \s-1OUT\s0), no additional overhead is involved, and the
+caller doesn't have to explicitly prepare for an arbitrary return size. A
+drawback is that the caller has the responsibility of \fImalloc()\fR (on the
+server) and free (on the client) of each entry (to avoid unwanted
+core-leaks). Another drawback is that since it's a recursive call, the C
+stack will grow linearly with respect to the number of nodes in the list
+(so it's wise to increase the Rx \s-1LWP\s0 stack if huge amounts of data are
+expected back \*(-- default stack size is 4K). The advantages should
+outweight the disadvantages here.
+.PP
+It's important to pay attention to the comments of the three array
+examples above particularly when they're references to when the user
+should allocate/free space for the variable length arrays. The mechanism
+is very similar to the handling of strings thus you might need to review
+the strings section above; note that the linked lists are handled somewhat
+differently...
+.Sh "Miscellaneous examples"
+.IX Subsection "Miscellaneous examples"
+Below is an abbreviated version of a random interface file which shows
+some of the common cases.
+.PP
+.Vb 1
+\& /* Declaration of all structures used by the R.xg script interface */
+\&
+\& struct AFSFid {
+\& unsigned long Volume;
+\& unsigned long Vnode;
+\& unsigned long Unique;
+\& };
+\&
+\& typedef long ViceDataType;
+\&
+\& /* Note that TEST would be equivalent to "HEADER" only during the
+\& processing of the header, *.h, file */
+\&
+\& #ifdef RPC_HDR
+\& #define TEST "HEADER"
+\& #else
+\& #define TEST "REST"
+\& #endif
+\&
+\& /* This is the standard *.xg specification file */
+\&
+\& package AFS_
+\& splitprefix IN=BEFORE_ OUT=AFTER_;
+\& Prefix Test
+\&
+\& proc Remove(IN struct AFSFid *Did, IN string volname<64>,
+\& OUT struct AFSStatus *Status) = AFS_REMOVE;
+\&
+\& DisconnectFS AUX_disconnectFS() = AFS_DISCONNECTFS;
+\&
+\& proc GetVolumeInfo(IN string Vid,
+\& OUT struct VolumeInfo *Info) = AFS_GETVOLUMEINFO;
+\&
+\& /* You could have more than an interface per configuration */
+\&
+\& package VOTE_
+\&
+\& /* Using the "multi" feature; thus VOTE_Beacon can be called as an
+\& multi\-Rx call or as a regular call */
+\&
+\& Beacon (IN long state, long voteStart,
+\& net_version *version, net_tid *tid)
+\& multi = VOTE_BEACON;
+\&
+\& package DISK_
+\&
+\& /* Using the "split" feature */
+\&
+\& SendFile (IN long file, long offset,
+\& long length, net_version *version)
+\& split = DISK_SENDFILE;
+.Ve
+.Sh "Output of an actual interface configuration"
+.IX Subsection "Output of an actual interface configuration"
+We'll demonstrate some of the actual output generated by \fBrxgen\fR by
+following an abbreviated actual interface configuration.
+.PP
+\fIConfiguration file\fR
+.IX Subsection "Configuration file"
+.PP
+Contents of the interface configuration file (\fIvldbint.xg\fR):
+.PP
+.Vb 3
+\& package VL_
+\& #include "vl_opcodes.h" /* The opcodes are included here */
+\& %#include "vl_opcodes.h" /* directly to other places */
+\&
+\& /* Current limitations on parameters that affect other packages
+\& (i.e. volume) */
+\&
+\& const MAXNAMELEN = 65;
+\& const MAXNSERVERS = 8;
+\& const MAXTYPES = 3;
+\&
+\& /* External (visible) representation of an individual vldb entry */
+\&
+\& struct vldbentry {
+\& char name[MAXNAMELEN];
+\& long volumeType;
+\& long nServers;
+\& long serverNumber[MAXNSERVERS];
+\& long serverPartition[MAXNSERVERS];
+\& long serverFlags[MAXNSERVERS];
+\& u_long volumeId[MAXTYPES];
+\& long flags;
+\& };
+\&
+\& typedef struct single_vldbentry *vldblist;
+\& struct single_vldbentry {
+\& vldbentry VldbEntry;
+\& vldblist next_vldb;
+\& };
+\&
+\& struct vldb_list {
+\& vldblist node;
+\& };
+\&
+\& /* vldb interface calls */
+\&
+\& CreateEntry (IN long Volid,
+\& vldbentry *newentry) = VLCREATEENTRY;
+\&
+\& GetEntryByName (IN string volumename<MAXNAMELEN>,
+\& OUT vldbentry *entry) = VLGETENTRYBYNAME;
+\&
+\& GetNewVolumeId (IN long bumpcount,
+\& OUT long *newvolumid) = VLGETNEWVOLUMEID;
+\&
+\& ReplaceEntry (IN long Volid,
+\& long voltype,
+\& vldbentry *newentry,
+\& long ReleaseType) multi = VLREPLACEENTRY;
+\&
+\& ListAttributes (IN VldbListByAttributes *attributes,
+\& OUT long *nentries,
+\& OUT vldbentry bulkentries<MAXVLDBLEN>)
+\& = VLLISTATTRIBUTES;
+\&
+\& LinkedList (IN VldbListByAttributes *attributes,
+\& OUT long *nentries,
+\& OUT vldb_list *linkedentries) = VLLINKEDLIST;
+.Ve
+.PP
+We'll concentrate only on the Rx generated code since the R generated code
+(\fB\-R\fR option) will soon be obsolete. For a detailed description on the
+Rx-related calls inside the generated stubs (i.e., \fIrx_NewCall()\fR,
+\&\fIrx_EndCall()\fR), along with details on what happens inside certain calls
+(like \fIxdrrx_create()\fR) please refer to the Rx documentation. Typing \f(CW\*(C`rxgen
+vldbint.xg\*(C'\fR will result in the creation of four files: \fIvldbint.h\fR,
+\&\fIvldbint.xdr.c\fR, \fIvldbint.cs.c\fR and \fIvldbint.ss.c\fR. A closer look at
+these files follows.
+.PP
+\fIHeader file (\fIvldbint.h\fI)\fR
+.IX Subsection "Header file (vldbint.h)"
+.PP
+.Vb 1
+\& /* Machine generated file \-\- Do NOT edit */
+\&
+\& #include "vl_opcodes.h" /* directly to other places */
+\& #define MAXNAMELEN 65
+\& #define MAXNSERVERS 8
+\& #define MAXTYPES 3
+\&
+\& struct vldbentry {
+\& char name[MAXNAMELEN];
+\& long volumeType;
+\& long nServers;
+\& long serverNumber[MAXNSERVERS];
+\& long serverPartition[MAXNSERVERS];
+\& long serverFlags[MAXNSERVERS];
+\& u_long volumeId[MAXTYPES];
+\& long flags;
+\& };
+\& typedef struct vldbentry vldbentry;
+\& bool_t xdr_vldbentry();
+\&
+\& typedef struct single_vldbentry *vldblist;
+\& bool_t xdr_vldblist();
+\&
+\& struct single_vldbentry {
+\& vldbentry VldbEntry;
+\& vldblist next_vldb;
+\& };
+\& typedef struct single_vldbentry single_vldbentry;
+\& bool_t xdr_single_vldbentry();
+\&
+\& struct vldb_list {
+\& vldblist node;
+\& };
+\& typedef struct vldb_list vldb_list;
+\& bool_t xdr_vldb_list();
+\&
+\& #include <rx/rx_multi.h>
+\& #define multi_VL_ReplaceEntry(Volid, voltype, newentry, ReleaseType) \e
+\& multi_Body(StartVL_ReplaceEntry(multi_call, Volid, voltype,
+\& newentry, ReleaseType), EndVL_ReplaceEntry(multi_call))
+\&
+\& typedef struct bulkentries {
+\& u_int bulkentries_len;
+\& vldbentry *bulkentries_val;
+\& } bulkentries;
+\& bool_t xdr_bulkentries();
+\&
+\& /* Opcode\-related useful stats for package: VL_ */
+\& #define VL_LOWEST_OPCODE 501
+\& #define VL_HIGHEST_OPCODE 506
+\& #define VL_NUMBER_OPCODES 6
+.Ve
+.PP
+Notice that all structures are automatically typedef'ed and all \f(CW\*(C`const\*(C'\fRs
+are converted to \f(CW\*(C`#define\*(C'\fRs. Some data structures, such as bulkentries,
+are taken from procedure params (from ListAttributes proc). Thus, this
+should be kept in mind when creating stubs piecemeal with \fBrxgen\fR (i.e.,
+using the \fB\-c\fR, \fB\-h\fR, \fB\-C\fR, or \fB\-S\fR flags). Also, one of the side
+effects of the \f(CW\*(C`multi\*(C'\fR option (in \f(CW\*(C`ReplaceEntry\*(C'\fR proc) is the generation
+of the \f(CW\*(C`multi_VL_ReplaceEntry\*(C'\fR above.
+.PP
+\fI\s-1XDR\s0 routines for structures (vldbint.xdr.c)\fR
+.IX Subsection "XDR routines for structures (vldbint.xdr.c)"
+.PP
+.Vb 1
+\& /* Machine generated file \-\- Do NOT edit */
+\&
+\& #include <rx/xdr.h>
+\& #include "vldbint.h"
+\&
+\& #include "vl_opcodes.h" /* directly to other places */
+\&
+\& bool_t
+\& xdr_vldbentry(xdrs, objp)
+\& XDR *xdrs;
+\& vldbentry *objp;
+\& {
+\& if (!xdr_vector(xdrs, (char *)objp\->name, MAXNAMELEN,
+\& sizeof(char), xdr_char))
+\& return (FALSE);
+\& if (!xdr_long(xdrs, &objp\->volumeType))
+\& return (FALSE);
+\& if (!xdr_long(xdrs, &objp\->nServers))
+\& return (FALSE);
+\& if (!xdr_vector(xdrs, (char *)objp\->serverNumber, MAXNSERVERS,
+\& sizeof(long), xdr_long))
+\& return (FALSE);
+\& if (!xdr_vector(xdrs, (char *)objp\->serverPartition,
+\& MAXNSERVERS, sizeof(long), xdr_long))
+\& return (FALSE);
+\& if (!xdr_vector(xdrs, (char *)objp\->serverFlags, MAXNSERVERS,
+\& sizeof(long), xdr_long))
+\& return (FALSE);
+\& if (!xdr_vector(xdrs, (char *)objp\->volumeId, MAXTYPES,
+\& sizeof(u_long), xdr_u_long))
+\& return (FALSE);
+\& if (!xdr_long(xdrs, &objp\->flags))
+\& return (FALSE);
+\& return (TRUE);
+\& }
+\&
+\& bool_t
+\& xdr_vldblist(xdrs, objp)
+\& XDR *xdrs;
+\& vldblist *objp;
+\& {
+\& if (!xdr_pointer(xdrs, (char **)objp,
+\& sizeof(struct single_vldbentry),
+\& xdr_single_vldbentry))
+\& return (FALSE);
+\& return (TRUE);
+\& }
+\&
+\& bool_t
+\& xdr_single_vldbentry(xdrs, objp)
+\& XDR *xdrs;
+\& single_vldbentry *objp;
+\& {
+\& if (!xdr_vldbentry(xdrs, &objp\->VldbEntry))
+\& return (FALSE);
+\& if (!xdr_vldblist(xdrs, &objp\->next_vldb))
+\& return (FALSE);
+\& return (TRUE);
+\& }
+\&
+\& bool_t
+\& xdr_vldb_list(xdrs, objp)
+\& XDR *xdrs;
+\& vldb_list *objp;
+\& {
+\& if (!xdr_vldblist(xdrs, &objp\->node))
+\& return (FALSE);
+\& return (TRUE);
+\& }
+\&
+\& bool_t
+\& xdr_bulkentries(xdrs, objp)
+\& XDR *xdrs;
+\& bulkentries *objp;
+\& {
+\& if (!xdr_array(xdrs, (char **)&objp\->bulkentries_val,
+\& (u_int *)&objp\->bulkentries_len, MAXVLDBLEN,
+\& sizeof(vldbentry), xdr_vldbentry))
+\& return (FALSE);
+\& return (TRUE);
+\& }
+.Ve
+.PP
+Note that the \fIxdr_bulkentries()\fR is automatically generated as a side
+effect of a procedure parameter declaration. Thus, if identical multiple
+type parameter declarations are used, then multiply-defined xdr_* stubs
+will be created! We felt this was a better alternative to having the
+\&\fBrxgen\fR programmer deal with types such as bulkentries_1,
+bulkentries_2...
+.PP
+\fIClient-Side stub routines (vldbint.cs.c)\fR
+.IX Subsection "Client-Side stub routines (vldbint.cs.c)"
+.PP
+.Vb 1
+\& /* Machine generated file \-\- Do NOT edit */
+\&
+\& #include <rx/xdr.h>
+\& #include <rx/rx.h>
+\& #include <afs/rxgen_consts.h>
+\& #include "vldbint.h"
+\&
+\& #include "vl_opcodes.h" /* directly to other places */
+\&
+\& int VL_CreateEntry(z_conn, Volid, newentry)
+\& register struct rx_connection *z_conn;
+\& long Volid;
+\& vldbentry * newentry;
+\& {
+\& struct rx_call *z_call = rx_NewCall(z_conn);
+\& static int z_op = 501;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_long(&z_xdrs, &Volid))
+\& || (!xdr_vldbentry(&z_xdrs, newentry))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return rx_EndCall(z_call, z_result);
+\& }
+\&
+\& int VL_GetEntryByName(z_conn, volumename, entry)
+\& register struct rx_connection *z_conn;
+\& char * volumename;
+\& vldbentry * entry;
+\& {
+\& struct rx_call *z_call = rx_NewCall(z_conn);
+\& static int z_op = 504;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_string(&z_xdrs, &volumename, 65))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& /* Un\-marshal the reply arguments */
+\& z_xdrs.x_op = XDR_DECODE;
+\& if ((!xdr_vldbentry(&z_xdrs, entry))) {
+\& z_result = RXGEN_CC_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return rx_EndCall(z_call, z_result);
+\& }
+\&
+\& int VL_GetNewVolumeId(z_conn, bumpcount, newvolumid)
+\& register struct rx_connection *z_conn;
+\& long bumpcount;
+\& long * newvolumid;
+\& {
+\& struct rx_call *z_call = rx_NewCall(z_conn);
+\& static int z_op = 505;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_long(&z_xdrs, &bumpcount))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& /* Un\-marshal the reply arguments */
+\& z_xdrs.x_op = XDR_DECODE;
+\& if ((!xdr_long(&z_xdrs, newvolumid))) {
+\& z_result = RXGEN_CC_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return rx_EndCall(z_call, z_result);
+\& }
+\&
+\& int VL_ReplaceEntry(z_conn, Volid, voltype, newentry, ReleaseType)
+\& register struct rx_connection *z_conn;
+\& long Volid, voltype, ReleaseType;
+\& vldbentry * newentry;
+\& {
+\& struct rx_call *z_call = rx_NewCall(z_conn);
+\& static int z_op = 506;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_long(&z_xdrs, &Volid))
+\& || (!xdr_long(&z_xdrs, &voltype))
+\& || (!xdr_vldbentry(&z_xdrs, newentry))
+\& || (!xdr_long(&z_xdrs, &ReleaseType))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return rx_EndCall(z_call, z_result);
+\& }
+\&
+\& int StartVL_ReplaceEntry(z_call, Volid, voltype, newentry, ReleaseType)
+\& register struct rx_call *z_call;
+\& long Volid, voltype, ReleaseType;
+\& vldbentry * newentry;
+\& {
+\& static int z_op = 506;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_long(&z_xdrs, &Volid))
+\& || (!xdr_long(&z_xdrs, &voltype))
+\& || (!xdr_vldbentry(&z_xdrs, newentry))
+\& || (!xdr_long(&z_xdrs, &ReleaseType))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return z_result;
+\& }
+\&
+\& int EndVL_ReplaceEntry(z_call)
+\& register struct rx_call *z_call;
+\& {
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return z_result;
+\& }
+\&
+\& int VL_ListAttributes(z_conn, attributes, nentries, bulkentries_1)
+\& register struct rx_connection *z_conn;
+\& VldbListByAttributes * attributes;
+\& long * nentries;
+\& bulkentries * bulkentries_1;
+\& {
+\& struct rx_call *z_call = rx_NewCall(z_conn);
+\& static int z_op = 511;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_VldbListByAttributes(&z_xdrs, attributes))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& /* Un\-marshal the reply arguments */
+\& z_xdrs.x_op = XDR_DECODE;
+\& if ((!xdr_long(&z_xdrs, nentries))
+\& || (!xdr_bulkentries(&z_xdrs, bulkentries_1))) {
+\& z_result = RXGEN_CC_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return rx_EndCall(z_call, z_result);
+\& }
+\&
+\& int VL_LinkedList(z_conn, attributes, nentries, linkedentries)
+\& register struct rx_connection *z_conn;
+\& VldbListByAttributes * attributes;
+\& long * nentries;
+\& vldb_list * linkedentries;
+\& {
+\& struct rx_call *z_call = rx_NewCall(z_conn);
+\& static int z_op = 512;
+\& int z_result;
+\& XDR z_xdrs;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_ENCODE);
+\&
+\& /* Marshal the arguments */
+\& if ((!xdr_int(&z_xdrs, &z_op))
+\& || (!xdr_VldbListByAttributes(&z_xdrs, attributes))) {
+\& z_result = RXGEN_CC_MARSHAL;
+\& goto fail;
+\& }
+\&
+\& /* Un\-marshal the reply arguments */
+\& z_xdrs.x_op = XDR_DECODE;
+\& if ((!xdr_long(&z_xdrs, nentries))
+\& || (!xdr_vldb_list(&z_xdrs, linkedentries))) {
+\& z_result = RXGEN_CC_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = RXGEN_SUCCESS;
+\& fail:
+\& return rx_EndCall(z_call, z_result);
+\& }
+.Ve
+.PP
+Notice the side effect of the \f(CW\*(C`multi\*(C'\fR feature (three different modules
+for \f(CW\*(C`ReplaceEntry\*(C'\fR proc).
+.PP
+\fIServer-Side stub routines (vldbint.ss.c)\fR
+.IX Subsection "Server-Side stub routines (vldbint.ss.c)"
+.PP
+.Vb 1
+\& /* Machine generated file \-\- Do NOT edit */
+\&
+\& #include <rx/xdr.h>
+\& #include <rx/rx.h>
+\& #include <afs/rxgen_consts.h>
+\& #include "vldbint.h"
+\&
+\& #include "vl_opcodes.h" /* directly to other places */
+\&
+\& long _VL_CreateEntry(z_call, z_xdrs)
+\& struct rx_call *z_call;
+\& XDR *z_xdrs;
+\& {
+\& long z_result;
+\& long Volid;
+\& vldbentry newentry;
+\&
+\& if ((!xdr_long(z_xdrs, &Volid))
+\& || (!xdr_vldbentry(z_xdrs, &newentry))) {
+\& z_result = RXGEN_SS_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = VL_CreateEntry(z_call, Volid, &newentry);
+\& fail:
+\& return z_result;
+\& }
+\&
+\& long _VL_GetEntryByName(z_call, z_xdrs)
+\& struct rx_call *z_call;
+\& XDR *z_xdrs;
+\& {
+\& long z_result;
+\& char *volumename = (char *)0;
+\& vldbentry entry;
+\&
+\& if ((!xdr_string(z_xdrs, &volumename, 65))) {
+\& z_result = RXGEN_SS_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = VL_GetEntryByName(z_call, &volumename, &entry);
+\& z_xdrs\->x_op = XDR_ENCODE;
+\& if ((!xdr_vldbentry(z_xdrs, &entry)))
+\& z_result = RXGEN_SS_MARSHAL;
+\& fail:
+\& z_xdrs\->x_op = XDR_FREE;
+\& if (!xdr_string(z_xdrs, &volumename, 65)) goto fail1;
+\& return z_result;
+\& fail1:
+\& return RXGEN_SS_XDRFREE;
+\& }
+\&
+\& long _VL_GetNewVolumeId(z_call, z_xdrs)
+\& struct rx_call *z_call;
+\& XDR *z_xdrs;
+\& {
+\& long z_result;
+\& long bumpcount;
+\& long newvolumid;
+\&
+\& if ((!xdr_long(z_xdrs, &bumpcount))) {
+\& z_result = RXGEN_SS_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = VL_GetNewVolumeId(z_call, bumpcount, &newvolumid);
+\& z_xdrs\->x_op = XDR_ENCODE;
+\& if ((!xdr_long(z_xdrs, &newvolumid)))
+\& z_result = RXGEN_SS_MARSHAL;
+\& fail:
+\& return z_result;
+\& }
+\&
+\& long _VL_ReplaceEntry(z_call, z_xdrs)
+\& struct rx_call *z_call;
+\& XDR *z_xdrs;
+\& {
+\& long z_result;
+\& long Volid, voltype, ReleaseType;
+\& vldbentry newentry;
+\&
+\& if ((!xdr_long(z_xdrs, &Volid))
+\& || (!xdr_long(z_xdrs, &voltype))
+\& || (!xdr_vldbentry(z_xdrs, &newentry))
+\& || (!xdr_long(z_xdrs, &ReleaseType))) {
+\& z_result = RXGEN_SS_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = VL_ReplaceEntry(z_call, Volid, voltype, &newentry,
+\& ReleaseType);
+\& fail:
+\& return z_result;
+\& }
+\&
+\& long _VL_ListAttributes(z_call, z_xdrs)
+\& struct rx_call *z_call;
+\& XDR *z_xdrs;
+\& {
+\& long z_result;
+\& VldbListByAttributes attributes;
+\& long nentries;
+\& bulkentries bulkentries_1;
+\&
+\& if ((!xdr_VldbListByAttributes(z_xdrs, &attributes))) {
+\& z_result = RXGEN_SS_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = VL_ListAttributes(z_call, &attributes, &nentries,
+\& &bulkentries_1);
+\& z_xdrs\->x_op = XDR_ENCODE;
+\& if ((!xdr_long(z_xdrs, &nentries))
+\& || (!xdr_bulkentries(z_xdrs, &bulkentries_1)))
+\& z_result = RXGEN_SS_MARSHAL;
+\& fail:
+\& z_xdrs\->x_op = XDR_FREE;
+\& if (!xdr_bulkentries(z_xdrs, &bulkentries_1)) goto fail1;
+\& return z_result;
+\& fail1:
+\& return RXGEN_SS_XDRFREE;
+\& }
+\&
+\& long _VL_LinkedList(z_call, z_xdrs)
+\& struct rx_call *z_call;
+\& XDR *z_xdrs;
+\& {
+\& long z_result;
+\& VldbListByAttributes attributes;
+\& long nentries;
+\& vldb_list linkedentries;
+\&
+\& if ((!xdr_VldbListByAttributes(z_xdrs, &attributes))) {
+\& z_result = RXGEN_SS_UNMARSHAL;
+\& goto fail;
+\& }
+\&
+\& z_result = VL_LinkedList(z_call, &attributes, &nentries,
+\& &linkedentries);
+\& z_xdrs\->x_op = XDR_ENCODE;
+\& if ((!xdr_long(z_xdrs, &nentries))
+\& || (!xdr_vldb_list(z_xdrs, &linkedentries)))
+\& z_result = RXGEN_SS_MARSHAL;
+\& fail:
+\& return z_result;
+\& }
+\&
+\& long _VL_CreateEntry();
+\& long _VL_GetEntryByName();
+\& long _VL_GetNewVolumeId();
+\& long _VL_ReplaceEntry();
+\& long _VL_ListAttributes();
+\& long _VL_LinkedList();
+\&
+\& static long (*StubProcsArray0[])() = {_VL_CreateEntry,
+\& _VL_GetEntryByName, _VL_GetNewVolumeId, _VL_ReplaceEntry,
+\& _VL_ListAttributes, _VL_LinkedList};
+\&
+\& VL_ExecuteRequest(z_call)
+\& register struct rx_call *z_call;
+\& {
+\& int op;
+\& XDR z_xdrs;
+\& long z_result;
+\&
+\& xdrrx_create(&z_xdrs, z_call, XDR_DECODE);
+\& if (!xdr_int(&z_xdrs, &op))
+\& z_result = RXGEN_DECODE;
+\& else if (op < VL_LOWEST_OPCODE || op > VL_HIGHEST_OPCODE)
+\& z_result = RXGEN_OPCODE;
+\& else
+\& z_result = (*StubProcsArray0[op \- VL_LOWEST_OPCODE])
+\& (z_call, &z_xdrs);
+\& return z_result;
+\& }
+.Ve
+.PP
+If there were gaps in the procedures' opcode sequence the code for
+\&\fIVL_ExecuteRequest()\fR routine would be have been drastically different (it
+would have been a case statement for each procedure).
+.SH "NOTES"
+.IX Header "NOTES"
+\&\fBrxgen\fR is implemented from Sun's \fBrpcgen\fR utility. All of the standard
+\&\fBrpcgen\fR's functionality is fully maintained. Note that some active
+\&\fBrpcgen\fR options that don't apply to \fBrxgen\fR's purpose aren't referenced
+here (i.e., \fB\-s\fR, \fB\-l\fR, \fB\-m\fR options) and the interested reader should
+refer to \fIrpcgen\fR\|(1) for details.
+.PP
+When the \f(CW\*(C`%#include <include file\*(C'\fR> feature is used make sure that you
+don't have any \fBrxgen\fR language features (i.e. %#defines) since you'll
+get syntax errors during compilations..
+.PP
+Since this is an ongoing project many of the above may change/disappear
+without a major warning.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIRxgen Syntax Summary\fR: Summary description of rxgen's grammar.
+.PP
+\&\fIRpcgen Programming Guide\fR: Sun's \s-1RPC\s0 protocol compiler. \fBrxgen\fR was
+implemented as an extension to that compiler.
+.PP
+\&\fIExternal Data Representation: Sun Technical Notes\fR: Detailed examples in
+using \s-1XDR\s0.
+.PP
+\&\fI\s-1RPCL\s0 Syntax Summary\fR: Summary of Sun's Remote Procedure Call Language.
+.PP
+\&\fIRx\fR: An extended Remote Procedure Call Protocol.
+.PP
+\&\fIrgen\fR: An earlier version of a similar stub generator used for the R \s-1RPC\s0
+protocol.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It
+was converted from the original TeX \fBrxgen\fR manual to \s-1POD\s0 by Russ
+Allbery.
--- /dev/null
- .TH SCOUT 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SCOUT 1"
++.TH SCOUT 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+scout \- Monitors the File Server process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBscout\fR [\fBinitcmd\fR] \fB\-server\fR\ <\fIservers\ to\ monitor\fR>+
+ [\fB\-basename\fR\ <\fIbase\ server\ name\fR>]
+ [\fB\-frequency\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>] [\fB\-host\fR]
+ [\fB\-attention\fR\ <\fIspecify\ attention\ (highlighting)\ level\fR>+]
+ [\fB\-debug\fR\ <\fIturn\ debugging\ output\ on\ to\ the\ named\ file\fR>]
+ [\fB\-help\fR]
+.PP
+\&\fBscout\fR [\fBi\fR] \fB\-s\fR\ <\fIservers\ to\ monitor\fR>+
+ [\fB\-b\fR\ <\fIbase\ server\ name\fR>] [\fB\-f\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-ho\fR] [\fB\-a\fR\ <\fIspecify\ attention\ (highlighting)\ level\fR>+]
+ [\fB\-d\fR\ <\fIturn\ debugging\ output\ on\ to\ the\ named\ file\fR>] [\fB\-he\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The scout command displays statistics gathered from the File Server
+process running on each machine specified with the \fB\-server\fR
+argument. \s-1OUTPUT\s0 explains the meaning of the statistics and describes
+how they appear in the command shell, which is preferably a window managed
+by a window manager program.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBscout\fR program must be able to access the curses graphics package,
+which it uses to display statistics. Most \s-1UNIX\s0 distributions include
+curses as a standard utility.
+.PP
+Both dumb terminals and windowing systems that emulate terminals can
+display the \fBscout\fR program's statistics. The display makes use of
+reverse video and cursor addressing, so the display environment must
+support those features for it to look its best (most windowing systems do,
+most dumb terminals do not). Also, set the \s-1TERM\s0 environment variable to
+the correct terminal type, or one with characteristics similar to the
+actual ones. For machines running the \s-1AIX\s0 operating system, the
+recommended setting for \s-1TERM\s0 is \f(CW\*(C`vt100\*(C'\fR, as long as the terminal is
+similar to that. For other operating systems, the wider range of
+acceptable values includes \f(CW\*(C`xterm\*(C'\fR, \f(CW\*(C`xterms\*(C'\fR, \f(CW\*(C`vt100\*(C'\fR, \f(CW\*(C`vt200\*(C'\fR, and
+\&\f(CW\*(C`wyse85\*(C'\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fBinitcmd\fR" 4
+.IX Item "initcmd"
+Accommodates the command's use of the \s-1AFS\s0 command parser, and is optional.
+.IP "\fB\-server\fR <\fIservers to monitor\fR>+" 4
+.IX Item "-server <servers to monitor>+"
+Specifies each file server machine running a File Server process to
+monitor. Provide each machine's fully qualified hostname unless the
+\&\fB\-basename\fR argument is used. In that case, specify only the unique
+initial part of each machine name, omitting the domain name suffix (the
+basename) common to all the names. It is also acceptable to use the
+shortest abbreviated form of a host name that distinguishes it from other
+machines, but successful resolution depends on the availability of a name
+resolution service (such as the Domain Name Service or a local host table)
+at the time the command is issued.
+.IP "\fB\-basename\fR <\fIbase server name\fR>" 4
+.IX Item "-basename <base server name>"
+Specifies the basename (domain name) suffix common to all of the file
+server machine names specified with the \fB\-server\fR argument, and is
+automatically appended to them. This argument is normally the name of the
+cell to which the machines belong. Do not include the period that
+separates this suffix from the distinguishing part of each file server
+machine name, but do include any periods that occur within the suffix
+itself. For example, in the \s-1ABC\s0 Corporation cell, the proper value is
+\&\f(CW\*(C`abc.com\*(C'\fR rather than \f(CW\*(C`.abc.com\*(C'\fR.
+.IP "\fB\-frequency\fR <\fIpoll frequency\fR>" 4
+.IX Item "-frequency <poll frequency>"
+Indicates how often to probe the File Server processes. Specify a number
+of seconds greater than \f(CW0\fR (zero). The default is 60 seconds.
+.IP "\fB\-host\fR" 4
+.IX Item "-host"
+Displays the name of the machine that is running the scout program, in the
+banner line of the display screen.
+.IP "\fB\-attention\fR <\fIattention level\fR>+" 4
+.IX Item "-attention <attention level>+"
+Defines a list of entries, each of which pairs a statistic and a threshold
+value. When the value of the statistic exceeds the indicated threshold
+value, it is highlighted (in reverse video) in the display. List the pairs
+in any order. The acceptable values are the following:
+.RS 4
+.IP "conn <\fIconnections\fR>" 4
+.IX Item "conn <connections>"
+Indicates the number of open connections to client processes at which to
+highlight the statistic. The statistic returns to regular display when
+the value goes back below the threshold. There is no default threshold.
+.Sp
+An example of an acceptable value is conn 300.
+.IP "disk <\fIblocks_free\fR>" 4
+.IX Item "disk <blocks_free>"
+Indicates the number of remaining free kilobyte blocks at which to
+highlight the statistic. The statistic returns to regular display when the
+value again exceeds the threshold. There is no default threshold.
+.Sp
+An example of an acceptable value is disk 5000.
+.IP "disk <\fIpercent_full\fR>%" 4
+.IX Item "disk <percent_full>%"
+Indicates the percentage of disk usage at which to highlight the
+statistic. The statistic returns to regular display when the value goes
+back below the threshold. The default threshold is 95%. Acceptable values
+are the integers in the range from \f(CW0\fR to \f(CW99\fR, followed by the percent
+sign (\f(CW\*(C`%\*(C'\fR) to distinguish this type of value from the one described just
+previously.
+.Sp
+An example is disk 90%.
+.IP "fetch <\fIfetch RPCs\fR>" 4
+.IX Item "fetch <fetch RPCs>"
+Indicates the cumulative number of fetch RPCs from client processes at
+which to highlight the statistic. The statistic does not return to regular
+display until the File Server process restarts, at which time the value
+returns to zero. There is no default threshold.
+.Sp
+Example of a legal value: fetch 6000000
+.IP "store <\fIstore RPCs\fR>" 4
+.IX Item "store <store RPCs>"
+Indicates the cumulative number of store RPCs from client processes at
+which to highlight the statistic. The statistic does not return to regular
+display until the File Server process restarts, at which time the value
+returns to zero. There is no default threshold.
+.Sp
+Example of an acceptable value: store 200000
+.IP "ws <\fIactive client machines\fR>" 4
+.IX Item "ws <active client machines>"
+Indicates the number of client machines with active open connections at
+which to highlight the statistic. An active connection is defined as one
+over which the File Server and client have communicated in the last 15
+minutes. The statistic returns to regular display when the value goes back
+below the threshold. There is no default threshold.
+.Sp
+Example of an acceptable value: ws 65
+.RE
+.RS 4
+.RE
+.IP "\fB\-debug\fR <\fIdebugging trace file\fR>" 4
+.IX Item "-debug <debugging trace file>"
+Specifies the pathname of the file into which to write a debugging
+trace. Partial pathnames are interpreted relative to the current working
+directory.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The \fBscout\fR program can display statistics either in a dedicated window
+or on a plain screen if a windowing environment is not available. For best
+results, the window or screen needs the ability to print in reverse video.
+.PP
+The \fBscout\fR screen has three main parts: the banner line, the statistics
+display region and the message/probe line.
+.Sh "The Banner Line"
+.IX Subsection "The Banner Line"
+By default, the string \f(CW\*(C`Scout\*(C'\fR appears in the banner line at the top of
+the window or screen. Two optional arguments place additional information
+in the banner line:
+.IP "\(bu" 4
+The \fB\-host\fR flag displays the name of the machine where the \fBscout\fR
+program is running. As mentioned previously, this is useful when running
+the \fBscout\fR program on several machines but displaying the results on a
+single machine.
+.Sp
+For example, when the \fB\-host\fR flag is included and the \fBscout\fR program
+is running on the machine \f(CW\*(C`client1.abc.com\*(C'\fR, the banner line reads as
+follows:
+.Sp
+.Vb 1
+\& [client1.abc.com] Scout
+.Ve
+.IP "\(bu" 4
+The \fB\-basename\fR argument displays the indicated basename on the banner
+line. For example, including the argument \f(CW\*(C`\-basename abc.com\*(C'\fR argument
+results in the following banner line:
+.Sp
+.Vb 1
+\& Scout for abc.com
+.Ve
+.Sh "The Statistics Display Region"
+.IX Subsection "The Statistics Display Region"
+In this region, which occupies the majority of the window, the \fBscout\fR
+process displays the statistics gathered for each File Server
+process. Each process appears on its own line.
+.PP
+The region is divided into six columns, labeled as indicated and
+displaying the following information:
+.IP "Conn" 4
+.IX Item "Conn"
+The first column displays the number of \s-1RPC\s0 connections open between the
+File Server process and client machines. This number equals or exceeds
+the number in the \f(CW\*(C`Ws\*(C'\fR column (see the fourth entry below), because each
+user on the machine can have several separate connections open at once,
+and one client machine can handle several users.
+.IP "Fetch" 4
+.IX Item "Fetch"
+The second column displays the number of fetch-type RPCs (fetch data,
+fetch access list, and fetch status) that client machines have made to the
+File Server process since the latter started. This number is reset to
+zero each time the File Server process restarts.
+.IP "Store" 4
+.IX Item "Store"
+The third column displays the number of store-type RPCs (store data, store
+access list, and store status) that client machines have made to the File
+Server process since the latter started. This number is reset to zero each
+time the File Server process restarts.
+.IP "Ws" 4
+.IX Item "Ws"
+The fourth column displays the number of client machines (\f(CW\*(C`Ws\*(C'\fR stands for
+workstations) that have communicated with the File Server process within
+the last 15 minutes. Such machines are termed \fIactive\fR). This number is
+likely to be smaller than the number in the first (\f(CW\*(C`Conn\*(C'\fR) column because
+a single client machine can have several connections open to one File
+Server.
+.IP "server name" 4
+.IX Item "server name"
+The fifth, unlabeled, column displays the name of the file server machine
+on which the File Server process is running. Names of 12 characters or
+less are displayed in full; longer names are truncated and an asterisk
+(\f(CW\*(C`*\*(C'\fR) appears as the last character in the name. Using the \fB\-basename\fR
+argument is a good way to avoid truncation, but only if all machine names
+end in a common string.
+.IP "Disk attn" 4
+.IX Item "Disk attn"
+The sixth column displays the number of available kilobyte blocks on each
+\&\s-1AFS\s0 disk partition on the file server machine.
+.Sp
+The display for each partition has the following form:
+.Sp
+.Vb 1
+\& x:<free_blocks>
+.Ve
+.Sp
+where \f(CW\*(C`x\*(C'\fR indicates the partition name. For example, \f(CW\*(C`a:8949\*(C'\fR specifies
+that the \fI/vicepa\fR partition has 8,949 1\-KB blocks free. Available space
+can be displayed for up to 26 partitions. If the window is not wide enough
+for all partition entries to appear on a single line, the \fBscout\fR process
+automatically creates multiple lines, stacking the partition entries into
+sub-columns within the sixth column.
+.Sp
+The label on the \f(CW\*(C`Disk attn\*(C'\fR column indicates the threshold value at
+which entries in the column become highlighted. By default, the label is
+.Sp
+.Vb 1
+\& Disk attn: > 95% used
+.Ve
+.Sp
+because by default the scout program highlights the entry for any
+partition that is over 95% full.
+.PP
+For all columns except the fifth (file server machine name), the optional
+\&\fB\-attention\fR argument sets the value at which entries in the column are
+highlighted to indicate that a certain value has been exceeded. Only
+values in the fifth and \f(CW\*(C`Disk attn\*(C'\fR columns ever become highlighted by
+default.
+.PP
+If the scout program is unable to access or otherwise obtain information
+about a partition, it generates a message similar to the following
+example:
+.PP
+.Vb 1
+\& Could not get information on server fs1.abc.com partition /vicepa
+.Ve
+.Sh "The Message/Probe Line"
+.IX Subsection "The Message/Probe Line"
+The bottom line of the scout screen indicates how many times the \fBscout\fR
+program has probed the File Server processes for statistics. The
+statistics gathered in the latest probe appear in the statistics display
+region. The \fB\-frequency\fR argument overrides the default probe frequency
+of 60 seconds.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+See the chapter on monitoring tools in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration
+Guide\fR, which illustrates the displays that result from different
+combinations of options.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsmonitor\fR\|(1),
+\&\fIfstrace\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH SYMLINK 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SYMLINK 1"
++.TH SYMLINK 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+symlink \- Introduction to the symlink command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBsymlink\fR command creates, lists and removes Unix-style symbolic links
+(symlinks) in OpenAFS filespace from a platform that does not support
+symlinks, like Windows. The \fBsymlink make\fR command is equivalent to
+\&\f(CW\*(C`ln \-s\*(C'\fR on a Unix platform. \fBsymlink\fR can manipulate symlinks created
+by \f(CW\*(C`ln \-s\*(C'\fR on Unix and vice versa.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBsymlink\fR commands are only available on Windows platforms. On
+other platforms, use the \f(CW\*(C`ln \-s\*(C'\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsymlink_list\fR\|(1),
+\&\fIsymlink_make\fR\|(1),
+\&\fIsymlink_remove\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH SYMLINK_LIST 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SYMLINK_LIST 1"
++.TH SYMLINK_LIST 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+symlink_list \- Show the file to which a symlink points
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBsymlink list\fR [\fB\-name\fR]\ <\fIfile\ name\fR> [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBsymlink list\fR command shows if a file is a symbolic link and, if so,
+shows to which file the link points.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBsymlink\fR commands are only available on Windows platforms. On other
+platforms, use the \fBreadlink\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fB\-name\fR] <\fIfile name\fR>" 4
+.IX Item "[-name] <file name>"
+Specify one or more symbolic links to list. The \f(CW\*(C`\-name\*(C'\fR is optional, but
+the file name is not.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command prints \*(L"'file' is a symlink to 'otherfile'\*(R" or \*(L"'file' is
+not a symlink.\*(R"
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Given that file \f(CW\*(C`mylink\*(C'\fR is a link pointing to file \f(CW\*(C`myfile\*(C'\fR, the
+following commands will list the files:
+.PP
+.Vb 2
+\& % symlink list \-name mylink
+\& \*(Aqmylink\*(Aq is a symlink to \*(Aqmyfile\*(Aq
+\&
+\& % symlink list mylink
+\& \*(Aqmylink\*(Aq is a symlink to \*(Aqmyfile\*(Aq
+\&
+\& % symlink list \-name myfile
+\& \*(Aqmyfile\*(Aq is not a symlink.
+\&
+\& % symlink list myfile
+\& \*(Aqmyfile\*(Aq is not a symlink.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (look) and \f(CW\*(C`r\*(C'\fR (read) permissions on the \s-1ACL\s0
+of the directory that houses the symlink.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsymlink\fR\|(1),
+\&\fIsymlink_make\fR\|(1),
+\&\fIsymlink_remove\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH SYMLINK_MAKE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SYMLINK_MAKE 1"
++.TH SYMLINK_MAKE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+symlink_make \- Create a symbolic link
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBsymlink make\fR [\fB\-name\fR]\ <\fIfile\ name\fR>
+ [\fB\-to\fR]\ <\fIfile\ name\fR> [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBsymlink make\fR command creates a new symbolic link to a file. The file
+to which the link points does not have to exist when the link is created.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBsymlink\fR commands are only available on Windows platforms. On other
+platforms, use the \f(CW\*(C`ln \-s\*(C'\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fB\-name\fR] <\fIfile name\fR>" 4
+.IX Item "[-name] <file name>"
+Specify the name of the new link. \fB\-name\fR is optional, but the file name
+is not.
+.IP "[\fB\-to\fR] <\fIfile name\fR>" 4
+.IX Item "[-to] <file name>"
+Specify the file to which the new link points. \fB\-to\fR is optional, but the
+file name is not.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In order to create a link named \f(CW\*(C`mylink\*(C'\fR pointing to the file \f(CW\*(C`myfile\*(C'\fR,
+use one of the following commands:
+.PP
+.Vb 2
+\& % symlink make \-name mylink \-to myfile
+\& % symlink make mylink myfile
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (look) and \f(CW\*(C`i\*(C'\fR (insert) permissions on the
+\&\s-1ACL\s0 of the directory that houses the symlink.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsymlink\fR\|(1),
+\&\fIsymlink_list\fR\|(1),
+\&\fIsymlink_remove\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH SYMLINK_REMOVE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SYMLINK_REMOVE 1"
++.TH SYMLINK_REMOVE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+symlink_remove \- Remove a symbolic link.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBsymlink remove\fR [\fB\-name\fR]\ <\fIfile\ name\fR> [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBsymlink remove\fR command removes a symbolic link to a file.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBsymlink\fR commands are only available on Windows platforms. On other
+platforms, use the \fBrm\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fB\-name\fR] <\fIfile name\fR>" 4
+.IX Item "[-name] <file name>"
+Specify one or more symbolic links to remove. The \fB\-name\fR is optional, but
+the file name is not.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command has no output except error and help messages. If the command
+is passed a real file instead of a symlink, it prints \*(L"symlink: 'file name'
+is not a symlink\*(R" instead of removing the file.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Given that file \f(CW\*(C`mylink\*(C'\fR is a link pointing to file \f(CW\*(C`myfile\*(C'\fR, the
+following commands will remove the link \f(CW\*(C`mylink\*(C'\fR:
+.PP
+.Vb 2
+\& % symlink remove \-name mylink
+\& % symlink remove mylink
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`l\*(C'\fR (look) and \f(CW\*(C`d\*(C'\fR (delete) permissions on
+the \s-1ACL\s0 of the directory that houses the symlink.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsymlink\fR\|(1),
+\&\fIsymlink_list\fR\|(1),
+\&\fIsymlink_make\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH SYS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SYS 1"
++.TH SYS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+sys \- Reports the compile\-time CPU/operating system type
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBsys\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBsys\fR command displays the string set at compile time that indicates
+the local machine's CPU/operating system (\s-1OS\s0) type, conventionally called
+the \fIsysname\fR. This string is the default for the value stored in kernel
+memory. The Cache Manager substitutes this string for the \fI\f(CI@sys\fI\fR
+variable which can occur in \s-1AFS\s0 pathnames; the \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR
+and \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR explain how using \fI\f(CI@sys\fI\fR can simplify
+cell configuration.
+.PP
+To set a new value in kernel memory, use the \fBfs sysname\fR command. To
+view the current value set in the kernel, use either \fBfs sysname\fR or
+\&\fBlivesys\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+You almost always want to use \fBlivesys\fR rather than this command. The
+\&\fBsys\fR command displays a single value hard-coded at compile time. It
+does not query the Cache Manager for the current value and it does not
+report sysname lists. If you have changed the local system type with \fBfs
+sysname\fR, or if you run a version of \fBsys\fR compiled differently than the
+Cache Manager running on the system, the value retured will not match the
+behavior of the Cache Manager. The only reason to use \fBsys\fR is that
+\&\fBlivesys\fR wasn't available in older versions of \s-1AFS\s0.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The machine's system type appears as a text string:
+.PP
+.Vb 1
+\& I<system_type>
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output produced on a Sun SPARCStation
+running Solaris 5.7:
+.PP
+.Vb 2
+\& % sys
+\& sun4x_57
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_sysname\fR\|(1),
+\&\fIlivesys\fR\|(1)
+.PP
+\&\fIOpenAFS Quick Beginnings\fR
+.PP
+\&\fIOpenAFS Administration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH TOKENS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TOKENS 1"
++.TH TOKENS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+tokens, tokens.krb \- Displays the issuer's tokens
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBtokens\fR [\fB\-help\fR]
+.PP
+\&\fBtokens\fR [\fB\-h\fR]
+.PP
+\&\fBtokens.krb\fR [\fB\-help\fR]
+.PP
+\&\fBtokens.krb\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBtokens\fR command displays all tokens (tickets) cached on the local
+machine for the issuer. \s-1AFS\s0 server processes require that their clients
+present a token as evidence that they have authenticated in the server's
+local cell.
+.PP
+The (mostly obsolete) \fBtokens.krb\fR command is the same as \fBtokens\fR
+except that it also displays the user's Kerberos v4 ticket cache.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output lists one token for each cell in which the user is
+authenticated. The output indicates the
+.IP "\(bu" 2
+User's \s-1AFS\s0 \s-1UID\s0, if it is available for display.
+.IP "\(bu" 2
+Server for which the token is valid (normally, afs). This includes a cell
+specification.
+.IP "\(bu" 2
+Day and time the token expires.
+.PP
+The output of the Kerberos version of this command, \fBtokens.krb\fR, also
+reports the following about the Kerberos ticket-granting ticket: the
+ticket owner, which Kerberos ticket-granting service that issued the
+ticket (for example, \f(CW\*(C`krbtgt.ABC.COM\*(C'\fR), and ticket's expiration date.
+.PP
+The string \f(CW\*(C`\-\-End of list\-\-\*(C'\fR appears at the end of the output. If the
+user is not authenticated in any cell, this line is all that appears.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output when the issuer is not
+authenticated in any cell.
+.PP
+.Vb 2
+\& % tokens
+\& Tokens held by the Cache Manager:
+\&
+\& \-\-End of list\-\-
+.Ve
+.PP
+The following example shows the output when the issuer is authenticated in
+\&\s-1ABC\s0 Corporation cell, where he or she has \s-1AFS\s0 \s-1UID\s0 1000.
+.PP
+.Vb 2
+\& % tokens
+\& Tokens held by the Cache Manager:
+\&
+\& User\*(Aqs (AFS ID 1000) tokens for afs@abc.com [Expires Jan 2 10:00]
+\& \-\-End of list\-\-
+.Ve
+.PP
+The following example shows the output when the issuer is authenticated in
+the \s-1ABC\s0 Corporation cell, the State University cell, and the \s-1XYZ\s0 Company
+cell. The user has different \s-1AFS\s0 UIDs in the three cells. Tokens for last
+cell are expired:
+.PP
+.Vb 2
+\& % tokens
+\& Tokens held by the Cache Manager:
+\&
+\& User\*(Aqs (AFS ID 1000) tokens for afs@abc.com [Expires Jan 3 10:00]
+\& User\*(Aqs (AFS ID 4286) tokens for afs@stateu.edu [Expires Jan 3 1:34]
+\& User\*(Aqs (AFS ID 22) tokens for afs@xyz.com [>>Expired<]
+\& \-\-End of list\-\-
+.Ve
+.PP
+The following example shows the output when the issuer uses the
+\&\fBtokens.krb\fR version of the command after authenticating in the \s-1ABC\s0
+Corporation cell using the \fBklog.krb\fR command.
+.PP
+.Vb 2
+\& % tokens.krb
+\& Tokens held by the Cache Manager:
+\&
+\& User\*(Aqs (AFS ID 1000) tokens for afs@abc.com [Expires Jan 31 00:09]
+\& User smiths tokens for krbtgt.ABC.COM@abc.com [Expires Jan 31 00:09]
+\& \-\-End of list\-\-
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIklog\fR\|(1),
+\&\fIunlog\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH TRANSLATE_ET 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TRANSLATE_ET 1"
++.TH TRANSLATE_ET 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+translate_et \- Translates numbered error codes into text messages
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBtranslate_et\fR\ <\fIerror\ number\fR>+
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBtranslate_et\fR command translates each specified error number into a
+text message.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "<\fIerror number\fR>+" 4
+.IX Item "<error number>+"
+Specifies each error number to translate.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command translates the error numbers 1 and 4:
+.PP
+.Vb 3
+\& % translate_et 1 4
+\& 1 ().1 = Not owner
+\& 4 ().4 = Interrupted system call
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH UDEBUG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "UDEBUG 1"
++.TH UDEBUG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+udebug \- Reports Ubik process status for a database server process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBudebug\fR \fB\-servers\fR\ <\fIserver\ machine\fR> [\fB\-port\fR\ <\fI\s-1IP\s0\ port\fR>]
+ [\fB\-long\fR] [\fB\-help\fR]
+.PP
+\&\fBudebug\fR \fB\-s\fR\ <\fIserver\ machine\fR> [\fB\-p\fR\ <\fI\s-1IP\s0\ port\fR>] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBudebug\fR command displays the status of the lightweight Ubik process
+for the database server process identified by the \fB\-port\fR argument that
+is running on the database server machine named by the \fB\-servers\fR
+argument. The output identifies the machines where peer database server
+processes are running, which of them is the synchronization site (Ubik
+coordinator), and the status of the connections between them.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-servers\fR <\fIserver machine\fR>" 4
+.IX Item "-servers <server machine>"
+Names the database server machine that is running the process for which to
+display status information. Provide the machine's \s-1IP\s0 address in dotted
+decimal format, its fully qualified host name (for example,
+\&\fBfs1.abc.com\fR), or the shortest abbreviated form of its host name that
+distinguishes it from other machines. Successful use of an abbreviated
+form depends on the availability of a name resolution service (such as the
+Domain Name Service or a local host table) at the time the command is
+issued.
+.IP "\fB\-port\fR <\fI\s-1IP\s0 port\fR>" 4
+.IX Item "-port <IP port>"
+Identifies the database server process for which to display status
+information, either by its process name or port number. Provide one of the
+following values.
+.RS 4
+.IP "\fBbuserver\fR or 7021 for the Backup Server" 4
+.IX Item "buserver or 7021 for the Backup Server"
+.PD 0
+.IP "\fBkaserver\fR or 7004 for the Authentication Server" 4
+.IX Item "kaserver or 7004 for the Authentication Server"
+.IP "\fBptserver\fR or 7002 for the Protection Server" 4
+.IX Item "ptserver or 7002 for the Protection Server"
+.IP "\fBvlserver\fR or 7003 for the Volume Location Server" 4
+.IX Item "vlserver or 7003 for the Volume Location Server"
+.RE
+.RS 4
+.RE
+.IP "\fB\-long\fR" 4
+.IX Item "-long"
+.PD
+Reports additional information about each peer of the machine named by the
+\&\fB\-servers\fR argument. The information appears by default if that machine
+is the synchronization site.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+Several of the messages in the output provide basic status information
+about the Ubik process on the machine specified by the \fB\-servers\fR
+argument, and the remaining messages are useful mostly for debugging
+purposes.
+.PP
+To check basic Ubik status, issue the command for each database server
+machine in turn. In the output for each, one of the following messages
+appears in the top third of the output.
+.PP
+.Vb 1
+\& I am sync site . . . (<#_sites> servers)
+\&
+\& I am not sync site
+.Ve
+.PP
+For the synchronization site, the following message indicates that all
+sites have the same version of the database, which implies that Ubik is
+functioning correctly. See the following for a description of values other
+than \f(CW\*(C`1f\*(C'\fR.
+.PP
+.Vb 1
+\& Recovery state 1f
+.Ve
+.PP
+For correct Ubik operation, the database server machine clocks must agree
+on the time. The following messages, which are the second and third lines
+in the output, report the current date and time according to the database
+server machine's clock and the clock on the machine where the \fBudebug\fR
+command is issued.
+.PP
+.Vb 2
+\& Host\*(Aqs <IP_addr> time is <dbserver_date/time>
+\& Local time is <local_date/time> (time differential <skew> secs)
+.Ve
+.PP
+The <skew> is the difference between the database server machine clock and
+the local clock. Its absolute value is not vital for Ubik functioning, but
+a difference of more than a few seconds between the \fIskew\fR values for the
+database server machines indicates that their clocks are not synchronized
+and Ubik performance is possibly hampered.
+.PP
+Following is a description of all messages in the output. As noted, it is
+useful mostly for debugging and most meaningful to someone who understands
+Ubik's implementation.
+.PP
+The output begins with the following messages. The first message reports
+the \s-1IP\s0 addresses that are configured with the operating system on the
+machine specified by the \fB\-servers\fR argument. As previously noted, the
+second and third messages report the current date and time according to
+the clocks on the database server machine and the machine where the
+\&\fBudebug\fR command is issued, respectively. All subsequent timestamps in
+the output are expressed in terms of the local clock rather than the
+database server machine clock.
+.PP
+.Vb 3
+\& Host\*(Aqs addresses are: <list_of_IP_addrs>
+\& Host\*(Aqs <IP_addr> time is <dbserver_date/time>
+\& Local time is <local_date/time> (time differential <skew> secs)
+.Ve
+.PP
+If the <skew> is more than about 10 seconds, the following message
+appears. As noted, it does not necessarily indicate Ubik malfunction: it
+denotes clock skew between the database server machine and the local
+machine, rather than among the database server machines.
+.PP
+.Vb 1
+\& ****clock may be bad
+.Ve
+.PP
+If the udebug command is issued during the coordinator election process
+and voting has not yet begun, the following message appears next.
+.PP
+.Vb 1
+\& Last yes vote not cast yet
+.Ve
+.PP
+Otherwise, the output continues with the following messages.
+.PP
+.Vb 3
+\& Last yes vote for <sync_IP_addr> was <last_vote> secs ago (sync site);
+\& Last vote started <vote_start> secs ago (at <date/time>)
+\& Local db version is <db_version>
+.Ve
+.PP
+The first indicates which peer this Ubik process last voted for as
+coordinator (it can vote for itself) and how long ago it sent the vote.
+The second message indicates how long ago the Ubik coordinator requested
+confirming votes from the secondary sites. Usually, the <last_vote> and
+<vote_start> values are the same; a difference between them can indicate
+clock skew or a slow network connection between the two database server
+machines. A small difference is not harmful. The third message reports the
+current version number <db_version> of the database maintained by this
+Ubik process. It has two fields separated by a period. The field before
+the period is based on a timestamp that reflects when the database first
+changed after the most recent coordinator election, and the field after
+the period indicates the number of changes since the election.
+.PP
+The output continues with messages that differ depending on whether the
+Ubik process is the coordinator or not.
+.IP "\(bu" 4
+If there is only one database server machine, it is always the coordinator
+(synchronization site), as indicated by the following message.
+.Sp
+.Vb 1
+\& I am sync site forever (1 server)
+.Ve
+.IP "\(bu" 4
+If there are multiple database sites, and the \fB\-servers\fR argument names
+the coordinator (synchronization site), the output continues with the
+following two messages.
+.Sp
+.Vb 3
+\& I am sync site until <expiration> secs from now (at <date/time>)
+\& (<#_sites> servers)
+\& Recovery state <flags>
+.Ve
+.Sp
+The first message (which is reported on one line) reports how much longer
+the site remains coordinator even if the next attempt to maintain quorum
+fails, and how many sites are participating in the quorum. The \fIflags\fR
+field in the second message is a hexadecimal number that indicates the
+current state of the quorum. A value of \f(CW\*(C`1f\*(C'\fR indicates complete database
+synchronization, whereas a value of \f(CW\*(C`f\*(C'\fR means that the coordinator has
+the correct database but cannot contact all secondary sites to determine
+if they also have it. Lesser values are acceptable if the \fBudebug\fR
+command is issued during coordinator election, but they denote a problem
+if they persist. The individual flags have the following meanings:
+.RS 4
+.IP "0x1" 4
+.IX Item "0x1"
+This machine is the coordinator.
+.IP "0x2" 4
+.IX Item "0x2"
+The coordinator has determined which site has the database with the
+highest version number.
+.IP "0x4" 4
+.IX Item "0x4"
+The coordinator has a copy of the database with the highest version
+number.
+.IP "0x8" 4
+.IX Item "0x8"
+The database's version number has been updated correctly.
+.IP "0x10" 4
+.IX Item "0x10"
+All sites have the database with the highest version number.
+.RE
+.RS 4
+.Sp
+If the udebug command is issued while the coordinator is writing a change
+into the database, the following additional message appears.
+.Sp
+.Vb 1
+\& I am currently managing write transaction I<identifier>
+.Ve
+.RE
+.IP "\(bu" 4
+If the \fB\-servers\fR argument names a secondary site, the output continues
+with the following messages.
+.Sp
+.Vb 3
+\& I am not sync site
+\& Lowest host <lowest_IP_addr> was set <low_time> secs ago
+\& Sync host <sync_IP_addr> was set <sync_time> secs ago
+.Ve
+.Sp
+The <lowest_IP_addr> is the lowest \s-1IP\s0 address of any peer from which the
+Ubik process has received a message recently, whereas the <sync_IP_addr>
+is the \s-1IP\s0 address of the current coordinator. If they differ, the machine
+with the lowest \s-1IP\s0 address is not currently the coordinator. The Ubik
+process continues voting for the current coordinator as long as they
+remain in contact, which provides for maximum stability. However, in the
+event of another coordinator election, this Ubik process votes for the
+<lowest_IP_addr> site instead (assuming they are in contact), because it
+has a bias to vote in elections for the site with the lowest \s-1IP\s0 address.
+.PP
+For both the synchronization and secondary sites, the output continues
+with the following messages. The first message reports the version number
+of the database at the synchronization site, which needs to match the
+<db_version> reported by the preceding \f(CW\*(C`Local db version\*(C'\fR message. The
+second message indicates how many \s-1VLDB\s0 records are currently locked for
+any operation or for writing in particular. The values are nonzero if the
+\&\fBudebug\fR command is issued while an operation is in progress.
+.PP
+.Vb 2
+\& Sync site\*(Aqs db version is <db_version>
+\& <locked> locked pages, <writes> of them for write
+.Ve
+.PP
+The following messages appear next only if there are any read or write
+locks on database records:
+.PP
+.Vb 2
+\& There are read locks held
+\& There are write locks held
+.Ve
+.PP
+Similarly, one or more of the following messages appear next only if there
+are any read or write transactions in progress when the \fBudebug\fR command
+is issued:
+.PP
+.Vb 3
+\& There is an active write transaction
+\& There is at least one active read transaction
+\& Transaction tid is <tid>
+.Ve
+.PP
+If the machine named by the \fB\-servers\fR argument is the coordinator, the
+next message reports when the current coordinator last updated the
+database.
+.PP
+.Vb 2
+\& Last time a new db version was labelled was:
+\& <last_restart> secs ago (at <date/time>)
+.Ve
+.PP
+If the machine named by the \fB\-servers\fR argument is the coordinator, the
+output concludes with an entry for each secondary site that is
+participating in the quorum, in the following format.
+.PP
+.Vb 5
+\& Server (<IP_address>): (db <db_version>)
+\& last vote rcvd <last_vote> secs ago (at <date/time>),
+\& last beacon sent <last_beacon> secs ago (at <date/time>),
+\& last vote was { yes | no }
+\& dbcurrent={ 0 | 1 }, up={ 0 | 1 } beaconSince={ 0 | 1 }
+.Ve
+.PP
+The first line reports the site's \s-1IP\s0 address and the version number of the
+database it is maintaining. The <last_vote> field reports how long ago the
+coordinator received a vote message from the Ubik process at the site, and
+the <last_beacon> field how long ago the coordinator last requested a vote
+message. If the \fBudebug\fR command is issued during the coordinator
+election process and voting has not yet begun, the following messages
+appear instead.
+.PP
+.Vb 2
+\& Last vote never rcvd
+\& Last beacon never sent
+.Ve
+.PP
+On the final line of each entry, the fields have the following meaning:
+.IP "\(bu" 4
+\&\f(CW\*(C`dbcurrent\*(C'\fR is \f(CW1\fR if the site has the database with the highest version
+number, \f(CW0\fR if it does not.
+.IP "\(bu" 4
+\&\f(CW\*(C`up\*(C'\fR is \f(CW1\fR if the Ubik process at the site is functioning correctly,
+\&\f(CW0\fR if it is not.
+.IP "\(bu" 4
+\&\f(CW\*(C`beaconSince\*(C'\fR is \f(CW1\fR if the site has responded to the coordinator's last
+request for votes, \f(CW0\fR if it has not.
+.PP
+Including the \fB\-long\fR flag produces peer entries even when the
+\&\fB\-servers\fR argument names a secondary site, but in that case only the
+\&\fIIP_address\fR field is guaranteed to be accurate. For example, the value
+in the <db_version> field is usually \f(CW0.0\fR, because secondary sites do
+not poll their peers for this information. The values in the \fIlast_vote\fR
+and \fIlast_beacon\fR fields indicate when this site last received or
+requested a vote as coordinator; they generally indicate the time of the
+last coordinator election.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+This example checks the status of the Ubik process for the Volume Location
+Server on the machine \f(CW\*(C`afs1\*(C'\fR, which is the synchronization site.
+.PP
+.Vb 10
+\& % udebug afs1 vlserver
+\& Host\*(Aqs addresses are: 192.12.107.33
+\& Host\*(Aqs 192.12.107.33 time is Wed Oct 27 09:49:50 1999
+\& Local time is Wed Oct 27 09:49:52 1999 (time differential 2 secs)
+\& Last yes vote for 192.12.107.33 was 1 secs ago (sync site);
+\& Last vote started 1 secs ago (at Wed Oct 27 09:49:51 1999)
+\& Local db version is 940902602.674
+\& I am sync site until 58 secs from now (at Wed Oct 27 09:50:50 1999) (3 servers)
+\& Recovery state 1f
+\& Sync site\*(Aqs db version is 940902602.674
+\& 0 locked pages, 0 of them for write
+\& Last time a new db version was labelled was:
+\& 129588 secs ago (at Mon Oct 25 21:50:04 1999)
+\&
+\& Server( 192.12.107.35 ): (db 940902602.674)
+\& last vote rcvd 2 secs ago (at Wed Oct 27 09:49:50 1999),
+\& last beacon sent 1 secs ago (at Wed Oct 27 09:49:51 1999), last vote was yes
+\& dbcurrent=1, up=1 beaconSince=1
+\&
+\& Server( 192.12.107.34 ): (db 940902602.674)
+\& last vote rcvd 2 secs ago (at Wed Oct 27 09:49:50 1999),
+\& last beacon sent 1 secs ago (at Wed Oct 27 09:49:51 1999), last vote was yes
+\& dbcurrent=1, up=1 beaconSince=1
+.Ve
+.PP
+This example checks the status of the Authentication Server on the machine
+with \s-1IP\s0 address 192.12.107.34, which is a secondary site. The local clock
+is about 4 minutes behind the database server machine's clock.
+.PP
+.Vb 10
+\& % udebug 192.12.107.34 7004
+\& Host\*(Aqs addresses are: 192.12.107.34
+\& Host\*(Aqs 192.12.107.34 time is Wed Oct 27 09:54:15 1999
+\& Local time is Wed Oct 27 09:50:08 1999 (time differential \-247 secs)
+\& ****clock may be bad
+\& Last yes vote for 192.12.107.33 was 6 secs ago (sync site);
+\& Last vote started 6 secs ago (at Wed Oct 27 09:50:02 1999)
+\& Local db version is 940906574.25
+\& I am not sync site
+\& Lowest host 192.12.107.33 was set 6 secs ago
+\& Sync host 192.12.107.33 was set 6 secs ago
+\& Sync site\*(Aqs db version is 940906574.25
+\& 0 locked pages, 0 of them for write
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbuserver\fR\|(8),
+\&\fIkaserver\fR\|(8),
+\&\fIptserver\fR\|(8),
+\&\fIvlserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH UNLOG 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "UNLOG 1"
++.TH UNLOG 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+unlog \- Discards all of the issuer's tokens
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBunlog\fR [\fB\-cell\fR\ <\fIcell\ name\fR>+] [\fB\-help\fR]
+.PP
+\&\fBunlog\fR [\fB\-c \fR<\fIcell name\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBunlog\fR command by default discards all tokens that the issuer
+currently holds. To discard tokens for certain cells only, name them with
+the \fB\-cell\fR argument.
+.PP
+Since a token pertains to one client machine only, destroying tokens on
+one machine has no effect on tokens on another machine.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Specifying one or more cell names can cause a brief authentication outage
+during which the issuer has no valid tokens in any cell. This is because
+the command actually discards all tokens and then restores the ones for
+cells not named by the \fB\-cell\fR argument. The outage can sometimes
+interrupt the operation of jobs that require authentication.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>+" 4
+.IX Item "-cell <cell name>+"
+Specifies each cell for to discard the token. If this argument is omitted,
+the Cache Manager discards all tokens. Provide the fully qualified domain
+name, or a shortened form, in which case successful resolution depends on
+the availability of a name resolution service (such as the Domain Name
+Service or a local host table) at the time the command is issued.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command discards all tokens.
+.PP
+.Vb 1
+\& % unlog
+.Ve
+.PP
+The following command discards only the tokens for the \f(CW\*(C`abc.com\*(C'\fR and
+\&\f(CW\*(C`stateu.edu\*(C'\fR cells.
+.PP
+.Vb 1
+\& % unlog \-cell abc.com stateu
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIklog\fR\|(1),
+\&\fItokens\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH UP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "UP 1"
++.TH UP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+up \- Recursively copy directories, preserving AFS metadata
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBup\fR [\fB\-v\fR] [\fB\-1\fR] [\fB\-f\fR] [\fB\-r\fR] [\fB\-x\fR] [\fB\-m\fR]
+ <\fIsource directory\fR> <\fIdestination directory\fR>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBup\fR command recursively copies the files and subdirectories in a
+specified source directory to a specified destination directory. The
+command interpreter changes the destination directory and the files and
+subdirectories in it in the following ways:
+.IP "\(bu" 4
+It copies the source directory's access control list (\s-1ACL\s0) to the
+destination directory and its subdirectories, overwriting any existing
+ACLs.
+.IP "\(bu" 4
+If the issuer is logged on as the local superuser root and has \s-1AFS\s0 tokens
+as a member of the group system:administrators, then the source
+directory's owner (as reported by the \f(CW\*(C`ls \-ld\*(C'\fR command) becomes the owner
+of the destination directory and all files and subdirectories in
+it. Otherwise, the issuer's user name is recorded as the owner.
+.IP "\(bu" 4
+If a file or directory exists in both the source and destination
+directories, the source version overwrites the destination version. The
+overwrite operation fails if the first (user) \f(CW\*(C`w\*(C'\fR (write) mode bit is
+turned off on the version in the destination directory, unless the \fB\-f\fR
+flag is provided.
+.IP "\(bu" 4
+The modification timestamp on a file (as displayed by the \f(CW\*(C`ls \-l\*(C'\fR
+command) in the source directory overwrites the timestamp on a file of the
+same name in the destination directory, but the timestamp on an existing
+subdirectory in the destination directory remains unchanged. If the
+command creates a new subdirectory in the destination directory, the new
+subdirectory's timestamp is set to the time of the copy operation, rather
+than to the timestamp that the subdirectory has in the source directory.
+.PP
+The up command is idempotent, meaning that if its execution is interrupted
+by a network, server machine, or process outage, then a subsequent reissue
+of the same command continues from the interruption point, rather than
+starting over at the beginning. This saves time and reduces network
+traffic in comparison to the \s-1UNIX\s0 commands that provide similar
+functionality.
+.PP
+The \fBup\fR command returns a status code of \f(CW0\fR (zero) only if it
+succeeds. Otherwise, it returns a status code of \f(CW1\fR (one).
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-v\fR" 4
+.IX Item "-v"
+Prints a detailed trace to the standard output stream as the command runs.
+.IP "\fB\-1\fR" 4
+.IX Item "-1"
+Copies only the files in the top level source directory to the destination
+directory, rather than copying recursively through subdirectories. The
+source directory's \s-1ACL\s0 still overwrites the destination directory's. (This
+is the number one, not the letter \f(CW\*(C`l\*(C'\fR.)
+.IP "\fB\-f\fR" 4
+.IX Item "-f"
+Overwrites existing directories, subdirectories, and files even if the
+first (user) \f(CW\*(C`w\*(C'\fR (write) mode bit is turned off on the version in the
+destination directory.
+.IP "\fB\-m\fR" 4
+.IX Item "-m"
+Recognize and copy mount points rather than traversing the volumes they
+reference during the recursive copy operation. Without \fB\-m\fR, \fBup\fR's
+default behavior is to copy the contents of all volumes and subvolumes
+mounted under the source directory into the volume containing the
+destination directory.
+.IP "\fB\-r\fR" 4
+.IX Item "-r"
+Creates a backup copy of all files overwritten in the destination
+directory and its subdirectories, by adding a \f(CW\*(C`.old\*(C'\fR extension to each
+filename.
+.IP "\fB\-x\fR" 4
+.IX Item "-x"
+Sets the modification timestamp on each file to the time of the copying
+operation.
+.IP "\fIsource directory\fR" 4
+.IX Item "source directory"
+Names the directory to copy recursively.
+.IP "\fIdestination directory\fR" 4
+.IX Item "destination directory"
+Names the directory to which to copy. It does not have to exist already.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command copies the contents of the directory \fIdir1\fR to
+directory \fIdir2\fR:
+.PP
+.Vb 1
+\& % up dir1 dir2
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`a\*(C'\fR (administer) permission on the \s-1ACL\s0 of both
+the source and destination directories.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS 1"
++.TH VOS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos \- Introduction to the vos command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBvos\fR command suite are the administrative interface
+to the Volume Server and Volume Location (\s-1VL\s0) Server. System
+administrators use \fBvos\fR commands to create, move, delete, replicate,
+back up and examine volumes, among other operations. The \s-1VL\s0 Server
+automatically records in the Volume Location Database (\s-1VLDB\s0) changes in
+volume status and location that result from \fBvos\fR commands.
+.PP
+The operations invoked by most \fBvos\fR commands are idempotent, meaning
+that if an operation is interrupted by a network, server machine, or
+process outage, then a subsequent attempt at the same operation continues
+from the interruption point, rather than starting over at the beginning of
+the operation. Before executing a command, the Volume and \s-1VL\s0 Servers check
+the current state of the volumes and \s-1VLDB\s0 records to be altered by the
+command. If they are already in the desired end state (or a consistent
+intermediate state), there is no need to repeat the internal steps that
+brought them there. Idempotency does not apply if the command issuer
+explicitly interrupts the operation with the Ctrl-C command or another
+interrupt signal. In that case, the volume is left locked and the
+administrator must use the \fBvos unlock\fR command to unlock it before
+proceeding.
+.PP
+It is important that the \s-1VLDB\s0 accurately indicate the status of the
+volumes on file server machines at all times. \fIvldb.DB0\fR\|(5) and
+\&\fIafs_volume_header\fR\|(5) describe the information recorded in the \s-1VLDB\s0 and
+volume headers, respectively. If a \fBvos\fR command changes volume status,
+it automatically records the change in the corresponding \s-1VLDB\s0 entry. The
+most common cause of discrepancies between the \s-1VLDB\s0 and volume status on
+file server machines is interrupted operations; to restore consistency,
+use the \fBvos syncserv\fR and \fBvos syncvldb\fR commands.
+.PP
+There are several categories of commands in the vos command suite:
+.IP "\(bu" 4
+Commands to create, move, and rename volumes: \fBvos backup\fR, \fBvos
+backupsys\fR, \fBvos changeloc\fR, \fBvos create\fR, \fBvos move\fR, and \fBvos
+rename\fR.
+.IP "\(bu" 4
+Commands to remove \s-1VLDB\s0 volume records or volumes or both: \fBvos
+delentry\fR, \fBvos remove\fR, and \fBvos zap\fR.
+.IP "\(bu" 4
+Commands to edit or display \s-1VLDB\s0 server entries: \fBvos changeaddr\fR and
+\&\fBvos listaddrs\fR.
+.IP "\(bu" 4
+Commands to create, size, and restore dump files: \fBvos dump\fR, \fBvos
+restore\fR, and \fBvos size\fR.
+.IP "\(bu" 4
+Commands to administer replicated volumes: \fBvos addsite\fR, \fBvos release\fR,
+and \fBvos remsite\fR.
+.IP "\(bu" 4
+Commands to display \s-1VLDB\s0 records, volume headers, or both: \fBvos examine\fR,
+\&\fBvos listvldb\fR, and \fBvos listvol\fR.
+.IP "\(bu" 4
+Commands to display information about partitions that house volumes: \fBvos
+listpart\fR and \fBvos partinfo\fR.
+.IP "\(bu" 4
+Commands to restore consistency between the \s-1VLDB\s0 and volume headers: \fBvos
+syncserv\fR and \fBvos syncvldb\fR.
+.IP "\(bu" 4
+Commands to lock and unlock \s-1VLDB\s0 entries: \fBvos lock\fR, \fBvos unlock\fR, and
+\&\fBvos unlockvldb\fR.
+.IP "\(bu" 4
+A command to report Volume Server status: \fBvos status\fR.
+.IP "\(bu" 4
+A command to change volume fields: \fBvos setfields\fR.
+.IP "\(bu" 4
+Commands to obtain help: \fBvos apropos\fR and \fBvos help\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following arguments and flags are available on many commands in the
+\&\fBbos\fR suite. The reference page for each command also lists them, but
+they are described here in greater detail.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. It is acceptable to abbreviate
+the cell name to the shortest form that distinguishes it from the other
+entries in the \fI/usr/vice/etc/CellServDB\fR file on the local machine. If
+the \fB\-cell\fR argument is omitted, the command interpreter determines the
+name of the local cell by reading the following in order:
+.RS 4
+.IP "\(bu" 4
+The value of the \s-1AFSCELL\s0 environment variable.
+.IP "\(bu" 4
+The local \fI/usr/vice/etc/ThisCell\fR file.
+.RE
+.RS 4
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell.
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using the server encryption key with the
+highest key version number in the local \fI/usr/afs/etc/KeyFile\fR file. The
+\&\fBvos\fR command interpreter presents the ticket, which never expires, to
+the Volume Server and \s-1VL\s0 Server during mutual authentication.
+.Sp
+Use this flag only when issuing a command on a server machine; client
+machines do not usually have a \fI/usr/afs/etc/KeyFile\fR file. The issuer
+of a command that includes this flag must be logged on to the server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR. The flag is useful for commands
+invoked by an unattended application program, such as a process controlled
+by the \s-1UNIX\s0 \fBcron\fR utility or by a cron entry in the machine's
+\&\fI/usr/afs/local/BosConfig\fR file. It is also useful if an administrator is
+unable to authenticate to \s-1AFS\s0 but is logged in as the local superuser
+\&\fBroot\fR.
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell. Also, do not combine the \fB\-localauth\fR and
+\&\fB\-noauth\fR flags.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Establishes an unauthenticated connection to the Volume Server and \s-1VL\s0
+Server, in which the servers treat the issuer as the unprivileged user
+\&\f(CW\*(C`anonymous\*(C'\fR. It is useful only when authorization checking is disabled on
+the server machine (during the installation of a file server machine or
+when the \fBbos setauth\fR command has been used during other unusual
+circumstances). In normal circumstances, the servers allow only privileged
+users to issue commands that change the status of a volume or \s-1VLDB\s0 record,
+and refuses to perform such an action even if the \fB\-noauth\fR flag is
+provided. Do not combine the \fB\-noauth\fR and \fB\-localauth\fR flags.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the \s-1AFS\s0 server partition on a file server machine that houses,
+or is to house, the volumes of interest, or about which to list
+information. The \fBvos\fR command interpreter accepts any of the following
+four name formats:
+.Sp
+.Vb 2
+\& /vicepa = vicepa = a = 0
+\& /vicepb = vicepb = b = 1
+.Ve
+.Sp
+After /vicepz (for which the index is 25) comes
+.Sp
+.Vb 2
+\& /vicepaa = vicepaa = aa = 26
+\& /vicepab = vicepab = ab = 27
+.Ve
+.Sp
+and so on through
+.Sp
+.Vb 1
+\& /vicepiv = vicepiv = iv = 255
+.Ve
+.Sp
+The \fB\-frompartition\fR and \fB\-topartition\fR arguments to the \fBvos move\fR
+command also accept this notation.
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Identifies the file server machine that houses, or is to house, the
+volumes or \s-1AFS\s0 server partitions of interest. Provide the machine's \s-1IP\s0
+address in dotted decimal format, its fully qualified host name (for
+example, \f(CW\*(C`fs1.abc.com\*(C'\fR), or the shortest abbreviated form of its host
+name that distinguishes it from other machines. Successful use of an
+abbreviated form depends on the availability of a name resolution service
+(such as the Domain Name Service or a local host table) at the time the
+command is issued.
+.Sp
+The \fB\-fromserver\fR and \fB\-toserver\fR arguments to the \fBvos move\fR command
+also accept these name formats.
+.IP "\fB\-noresolve\fR" 4
+.IX Item "-noresolve"
+Shows all servers as \s-1IP\s0 addresses instead of the \s-1DNS\s0 name. This is very
+useful when the server address is registered as 127.0.0.1 or when dealing
+with multi-homed servers. The \fB\-noresolve\fR option is available in OpenAFS
+versions 1.4.8 or later and 1.5.35 or later.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To issue most vos commands, the issuer must be listed in the
+\&\fI/usr/afs/etc/UserList\fR file on each server machine that houses or is to
+house an affected volume, and on each database server machine. The most
+predictable performance results if all database server and file server
+machines in the cell share a common \fIUserList\fR file. Alternatively, if
+the \fB\-localauth\fR flag is included, the issuer must be logged on to a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+To issue a vos command that only displays information, no privilege is
+required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIvos_addsite\fR\|(1),
+\&\fIvos_apropos\fR\|(1),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_backupsys\fR\|(1),
+\&\fIvos_changeaddr\fR\|(1),
+\&\fIvos_convertROtoRW\fR\|(1),
+\&\fIvos_clone\fR\|(1),
+\&\fIvos_copy\fR\|(1),
+\&\fIvos_create\fR\|(1),
+\&\fIvos_delentry\fR\|(1),
+\&\fIvos_dump\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_help\fR\|(1),
+\&\fIvos_listaddrs\fR\|(1),
+\&\fIvos_listpart\fR\|(1),
+\&\fIvos_listvldb\fR\|(1),
+\&\fIvos_listvol\fR\|(1),
+\&\fIvos_lock\fR\|(1),
+\&\fIvos_move\fR\|(1),
+\&\fIvos_partinfo\fR\|(1),
+\&\fIvos_release\fR\|(1),
+\&\fIvos_remove\fR\|(1),
+\&\fIvos_remsite\fR\|(1),
+\&\fIvos_rename\fR\|(1),
+\&\fIvos_restore\fR\|(1),
+\&\fIvos_setfields\fR\|(1),
+\&\fIvos_shadow\fR\|(1),
+\&\fIvos_size\fR\|(1),
+\&\fIvos_status\fR\|(1),
+\&\fIvos_syncserv\fR\|(1),
+\&\fIvos_syncvldb\fR\|(1),
+\&\fIvos_unlock\fR\|(1),
+\&\fIvos_unlockvldb\fR\|(1),
+\&\fIvos_zap\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_ADDSITE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_ADDSITE 1"
++.TH VOS_ADDSITE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_addsite \- Adds a read\-only site definition to a volume's VLDB entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos addsite\fR \fB\-server\fR\ <\fImachine\ name\ for\ new\ site\fR>
+ \fB\-partition\fR\ <\fIpartition\ name\ for\ new\ site\fR>
+ \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ [\fB\-roid\fR\ <\fIreadonly\ volume\ name\ or\ \s-1ID\s0\fR>]
+ [\fB\-valid\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos ad\fR \fB\-s\fR\ <\fImachine\ name\ for\ new\ site\fR>
+ \fB\-p\fR\ <\fIpartition\ name\ for\ new\ site\fR>
+ \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ [\fB\-r\fR\ <\fIreadonly\ volume\ name\ or\ \s-1ID\s0\fR>]
+ [\fB\-va\fR] [\fB\-c\fR <\fIcell name\fR>] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos addsite\fR command defines a new read-only site (partition on a
+file server machine, specified by the \fB\-server\fR and \fB\-partition\fR
+arguments) in the Volume Location Database (\s-1VLDB\s0) entry of the read/write
+volume named by the \fB\-id\fR argument. When the \fBvos release\fR command is
+next issued against the read/write volume, a read-only copy of it is
+distributed to all of the read-only sites, including the newly defined
+one.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+A volume's \s-1VLDB\s0 entry accommodates a maximum number of site definitions,
+as defined in the \fI\s-1IBM\s0 \s-1AFS\s0 Release Notes\fR. The site housing the
+read/write and backup versions of the volume counts as one site, and each
+read-only site counts as an additional site (even the read-only site
+defined on the same file server machine and partition as the read/write
+site counts as a separate site). The limit in the \s-1VLDB\s0 entry effectively
+determines the maximum number of copies of the volume that are available
+to \s-1AFS\s0 clients.
+.PP
+Attempts to create additional sites by using this command fail with an
+error.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Identifies the file server machine where the read-only volume is to
+reside. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition where the read-only volume is to reside, on the
+file server machine named by the \fB\-server\fR argument. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the read/write
+source volume.
+.IP "\fB\-roid\fR <\fIreadonly volume name or \s-1ID\s0\fR>" 4
+.IX Item "-roid <readonly volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the readonly
+volume. This will only be honored if the source read/write volume does not
+already have a readonly volume \s-1ID\s0 associated with it. If the source
+read/write volume already has a readonly volume \s-1ID\s0, the specified \s-1ID\s0 will
+be ignored, and a warning will be printed.
+.Sp
+If this is not specified and the source read/write volume does not already
+have a readonly volume \s-1ID\s0, a volume \s-1ID\s0 for the readonly volume will be
+allocated for it when the \fBvos release\fR command is run.
+.Sp
+The automatically allocated readonly volume IDs should be fine for almost
+all cases, so you should almost never need to specify this option.
+.IP "\fB\-valid\fR" 4
+.IX Item "-valid"
+Marks the site as up-to-date in the \s-1VLDB\s0. You should only do this if the
+new site already has a current readonly replica of the volume, but for
+some reason it is not in the \s-1VLDB\s0 as a replica site. This is useful when
+an existing read-only volume is dumped and restored with the \fB\-readonly\fR
+flag at the new site. This option is available in OpenAFS clients 1.4.7 or
+later and 1.5.31 and later. This option can be used with OpenAFS server
+versions later than 1.4.1 or 1.5.0.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example, appropriate in the State University cell, defines a
+read-only site for the cell's \f(CW\*(C`root.afs\*(C'\fR volume.
+.PP
+.Vb 1
+\& % vos addsite \-server sv7.stateu.edu \-partition /vicepb \-id root.afs
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_release\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_APROPOS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_APROPOS 1"
++.TH VOS_APROPOS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBvos ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos apropos\fR command displays the first line of the online help
+entry for any \fBvos\fR command that has in its name or short description the
+string specified by the \fB\-topic\fR argument.
+.PP
+To display the syntax for a command, use the \fBvos help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match. Use lowercase letters only, except
+for the acronym \f(CW\*(C`VLDB\*(C'\fR. If the string is more than a single word,
+surround it with double quotes ("") or other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBvos\fR command where the string specified with the \fB\-topic\fR argument is
+part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays all vos commands that include the word
+\&\fBlock\fR in their names or short descriptions:
+.PP
+.Vb 4
+\& % vos apropos lock
+\& lock: lock VLDB entry for a volume
+\& unlock: release lock on VLDB entry for a volume
+\& unlockvldb: unlock all the locked entries in the VLDB
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_help\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_BACKUP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_BACKUP 1"
++.TH VOS_BACKUP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_backup \- Creates a backup volume for a single read/write volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos backup\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos backup\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-c\fR<\fIcell name\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos backup\fR command clones the indicated read/write volume to create
+a backup version, placing it at the same site as the read/write
+version. The backup volume's name is the same as the read/write source's
+with the addition of the \f(CW\*(C`.backup\*(C'\fR extension. Its volume \s-1ID\s0 number is the
+one allocated for it in the Volume Location Database (\s-1VLDB\s0) when the
+read/write source was created with the \fBvos create\fR command. If a backup
+version already exists, the new clone replaces it.
+.PP
+To create a backup version of multiple volumes, use the \fBvos backupsys\fR
+command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the read/write
+source volume.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The following message confirms that the command succeeded:
+.PP
+.Vb 1
+\& Created backup volume for I<volume name>
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example creates a backup version of the volume
+\&\f(CW\*(C`user.smith\*(C'\fR.
+.PP
+.Vb 2
+\& % vos backup user.smith
+\& Created backup volume for user.smith
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_backupsys\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_BACKUPSYS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_BACKUPSYS 1"
++.TH VOS_BACKUPSYS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_backupsys \- Creates a backup volume for several read/write volumes
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos backupsys\fR [\fB\-prefix\fR\ <\fIcommon\ prefix\ on\ volume(s)\fR>+]
+ [\fB\-server\fR\ <\fImachine\ name\fR>] [\fB\-partition\fR\ <\fIpartition\ name\fR>]
+ [\fB\-exclude\fR] [\fB\-xprefix\fR\ <\fInegative\ prefix\ on\ volume(s)\fR>+]
+ [\fB\-dryrun\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos backups\fR [\fB\-pr\fR\ <\fIcommon\ prefix\ on\ volume(s)\fR>+]
+ [\fB\-s\fR\ <\fImachine\ name\fR>] [\fB\-pa\fR\ <\fIpartition\ name\fR>] [\fB\-e\fR]
+ [\fB\-x\fR\ <\fInegative\ prefix\ on\ volume(s)\fR>+] [\fB\-d\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos backupsys\fR command clones each indicated read/write volume to
+create a backup version, placing each clone at the same site as its
+read/write source version. It assigns each clone the same name as the
+read/write source, adding a \f(CW\*(C`.backup\*(C'\fR extension. It assigns the volume \s-1ID\s0
+number already allocated for the backup version in the Volume Location
+Database (\s-1VLDB\s0). If a backup version already exists for a given volume,
+the new clone replaces it.
+.PP
+To clone every read/write volume listed in the \s-1VLDB\s0, omit all of the
+command's options. Otherwise, combine the command's options to clone
+various groups of volumes. The options use one of two basic criteria to
+select volumes: location (the \fB\-server\fR and \fB\-partition\fR arguments) or
+presence in the volume name of one of a set of specified character strings
+(the \fB\-prefix\fR, \fB\-exclude\fR, and \fB\-xprefix\fR options).
+.PP
+To clone only volumes that reside on one file server machine, include the
+\&\fB\-server\fR argument. To clone only volumes that reside on one partition,
+combine the \fB\-server\fR and \fB\-partition\fR arguments. The \fB\-partition\fR
+argument can also be used alone to clone volumes that reside on the
+indicated partition on every file server machine. These arguments can be
+combined with those that select volumes based on their names.
+.PP
+Combine the \fB\-prefix\fR, \-exclude, and \fB\-xprefix\fR options (with or without
+the \fB\-server\fR and \fB\-partition\fR arguments) in the indicated ways to
+select volumes based on character strings contained in their names:
+.IP "\(bu" 4
+To clone every read/write volume at the specified location whose name
+includes one of a set of specified character strings (for example, begins
+with \f(CW\*(C`user.\*(C'\fR or includes the string \f(CW\*(C`afs\*(C'\fR), use the \fB\-prefix\fR argument
+or combine the \fB\-xprefix\fR and \fB\-exclude\fR options.
+.IP "\(bu" 4
+To clone every read/write volume at the specified location except those
+whose name includes one of a set of specified character strings, use the
+\&\fB\-xprefix\fR argument or combine the \fB\-prefix\fR and \fB\-exclude\fR options.
+.IP "\(bu" 4
+To clone every read/write volume at the specified location whose name
+includes one of one of a set of specified character strings, except those
+whose names include one of a different set of specified character strings,
+combine the \fB\-prefix\fR and \fB\-xprefix\fR arguments. The command creates a
+list of all volumes that match the \fB\-prefix\fR argument and then removes
+from the list the volumes that match the \fB\-xprefix\fR argument. For
+effective results, the strings specified by the \fB\-xprefix\fR argument must
+designate a subset of the volumes specified by the \fB\-prefix\fR argument.
+.Sp
+If the \fB\-exclude\fR flag is combined with the \fB\-prefix\fR and \fB\-xprefix\fR
+arguments, the command creates a list of all volumes that do not match the
+\&\fB\-prefix\fR argument and then adds to the list any volumes that match the
+\&\fB\-xprefix\fR argument. As when the \fB\-exclude\fR flag is not used, the result
+is effective only if the strings specified by the \fB\-xprefix\fR argument
+designate a subset of the volumes specified by the \fB\-prefix\fR argument.
+.PP
+The \fB\-prefix\fR and \fB\-xprefix\fR arguments both accept multiple values,
+which can be used to define disjoint groups of volumes. Each value can be
+one of two types:
+.IP "\(bu" 4
+A simple character string, which matches volumes whose name begin with the
+string. All characters are interpreted literally (that is, characters that
+potentially have special meaning to the command shell, such as the period,
+have only their literal meaning).
+.IP "\(bu" 4
+A regular expression, which matches volumes whose names contain the
+expressions. Place a caret (\f(CW\*(C`^\*(C'\fR) at the beginning of the expression, and
+enclose the entire string in single quotes (\f(CW\*(Aq\*(Aq\fR). Explaining regular
+expressions is outside the scope of this reference page; see the \s-1UNIX\s0
+manual page for \fIregexp\fR\|(5) or (for a brief introduction)
+\&\fIbackup_addvolentry\fR\|(8). As an example, the following expression matches
+volumes that have the string \f(CW\*(C`aix\*(C'\fR anywhere in their names:
+.Sp
+.Vb 1
+\& \-prefix \*(Aq^.*aix\*(Aq
+.Ve
+.PP
+To display a list of the volumes to be cloned, without actually cloning
+them, include the \fB\-dryrun\fR flag. To display a statement that summarizes
+the criteria being used to select volume, include the \fB\-verbose\fR flag.
+.PP
+This command can be used to clone a single read/write volume; specify its
+complete name as the \fB\-prefix\fR argument. However, it is more efficient to
+use the \fBvos backup\fR command, which employs a more streamlined technique
+for finding a single volume.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-prefix\fR <\fIcommon prefix\fR>" 4
+.IX Item "-prefix <common prefix>"
+Specifies one or more simple character strings or regular expressions of
+any length; a volume whose name includes the string is placed on the set
+of volumes to be cloned. Include field separators (such as periods) if
+appropriate. This argument can be combined with any combination of the
+\&\fB\-server\fR, \fB\-partition\fR, \fB\-exclude\fR, and \fB\-xprefix\fR options.
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Identifies the file server machine where each read/write source volume
+resides. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.Sp
+This argument can be combined with any combination of the \fB\-prefix\fR,
+\&\fB\-partition\fR, \fB\-exclude\fR, and \fB\-xprefix\fR options.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition where each read/write source volume
+resides. Provide the partition's complete name with preceding slash (for
+example, \f(CW\*(C`/vicepa\*(C'\fR) or use one of the three acceptable abbreviated
+forms. For details, see \fIvos\fR\|(1).
+.Sp
+This argument can be combined with any combination of the \fB\-prefix\fR,
+\&\fB\-server\fR, \fB\-exclude\fR, and \fB\-xprefix\fR options.
+.IP "\fB\-exclude\fR" 4
+.IX Item "-exclude"
+Reverses the meaning of the \fB\-prefix\fR or \fB\-xprefix\fR argument. This flag
+can be combined with any combination of the \fB\-prefix\fR, \fB\-server\fR,
+\&\fB\-partition\fR, and \fB\-xprefix\fR options.
+.IP "\fB\-xprefix\fR <\fInegative prefix\fR>" 4
+.IX Item "-xprefix <negative prefix>"
+Specifies a simple character string or regular expression of any length; a
+volume whose name includes the string is removed from the set of volumes
+to be cloned. Include field separators (such as periods) if
+appropriate. This argument can be combined with any combination of the
+\&\fB\-prefix\fR, \fB\-server\fR, \fB\-partition\fR, and \fB\-exclude\fR options.
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Displays on the standard output stream a list of the volumes to be cloned,
+without actually cloning them.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command generates the following messages on the standard output stream
+to confirm that the operation was successful:
+.PP
+.Vb 2
+\& done
+\& Total volumes backed up: <number_cloned>; failed to backup: <failures>
+.Ve
+.PP
+If the \fB\-dryrun\fR flag is included, a list of the volumes to be backed up
+precedes the standard confirmation messages.
+.PP
+If the \fB\-verbose\fR flag is included but not the \fB\-dryrun\fR flag, the
+following messages appear for each volume. The output concludes with the
+standard confirmation messages.
+.PP
+.Vb 2
+\& Creating backup volume for <volume_name> on <date/time>
+\& {Recloning backup volume | Creating a new backup clone} <backup_volumeID> . . .done
+.Ve
+.PP
+If both the \fB\-dryrun\fR and \fB\-verbose\fR flags are included, the output
+begins with a statement summarizing the criteria being used to select the
+volumes, followed by a list of the volumes and the standard confirmation
+messages. The format of the criteria summary statement depends on which
+other options are provided:
+.IP "\(bu" 4
+If only the \fB\-prefix\fR argument is provided, or the \fB\-xprefix\fR and
+\&\fB\-exclude\fR options are combined:
+.Sp
+.Vb 1
+\& Would have backed up volumes which are prefixed with <string> [or <string>] . .
+.Ve
+.IP "\(bu" 4
+If only the \fB\-xprefix\fR argument is provided, or the \fB\-prefix\fR and
+\&\fB\-exclude\fR options are combined:
+.Sp
+.Vb 1
+\& Would have backed up volumes which are not prefixed with <string> [nor <string>] . .
+.Ve
+.IP "\(bu" 4
+If the \fB\-prefix\fR and \fB\-xprefix\fR arguments are combined:
+.Sp
+.Vb 2
+\& Would have backed up volumes which are prefixed with <string> [or <string>] \e
+\& removing those which are prefixed with <x_string> [or <x_string>] . .
+.Ve
+.IP "\(bu" 4
+If the \fB\-prefix\fR, \fB\-xprefix\fR, and \fB\-exclude\fR options are provided:
+.Sp
+.Vb 2
+\& Would have backed up volumes which are not prefixed with <string> [nor <string>] \e
+\& adding those which are prefixed with <x_string> [or <x_string>] . .
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example creates a backup version of every read/write volume
+listed in the cell's \s-1VLDB\s0 whose name begins with the string \fBuser\fR.
+.PP
+.Vb 1
+\& % vos backupsys \-prefix user
+.Ve
+.PP
+The following example, appropriate in the \s-1ABC\s0 Corporation cell, creates a
+backup version of every read/write volume on the file server machine
+\&\f(CW\*(C`fs3.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % vos backupsys \-server fs3.abc.com
+.Ve
+.PP
+The following example, appropriate in the State University cell, creates a
+backup version of every read/write volume on the file server machine
+\&\f(CW\*(C`db1.stateu.edu\*(C'\fR except those whose name includes the string \f(CW\*(C`temp\*(C'\fR.
+.PP
+.Vb 1
+\& % vos backupsys \-server db1.stateu.edu \-prefix \*(Aq^.*temp\*(Aq
+.Ve
+.PP
+The following example creates a backup version of every volume listed in
+the cell's \s-1VLDB\s0, excluding those whose names contain the string \f(CW\*(C`source\*(C'\fR,
+but including those whose names contain the string \f(CW\*(C`source.current\*(C'\fR.
+.PP
+.Vb 1
+\& % vos backupsys \-prefix \*(Aq^.*source\*(Aq \-exclude \-xprefix \*(Aq^.*source\e.current\*(Aq
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIvos\fR\|(1),
+\&\fIvos_backup\fR\|(1)
+.PP
+\&\s-1UNIX\s0 manual page for \fIregexp\fR\|(5)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_CHANGEADDR 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_CHANGEADDR 1"
++.TH VOS_CHANGEADDR 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_changeaddr \- Changes or removes a file server machine's entry in the VLDB
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos changeaddr\fR \fB\-oldaddr\fR\ <\fIoriginal\ \s-1IP\s0\ address\fR>
+ [\fB\-newaddr\fR\ <\fInew\ \s-1IP\s0\ address\fR>] [\fB\-remove\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos ch\fR \fB\-o\fR\ <\fIoriginal\ \s-1IP\s0\ address\fR> [\fB\-ne\fR\ <\fInew\ \s-1IP\s0\ address\fR>]
+ [\fB\-r\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos changeaddr\fR command removes a server entry from the Volume
+Location Database (\s-1VLDB\s0) when the \fB\-remove\fR flag is combined with the
+\&\fB\-oldaddr\fR argument. There must be no \s-1VLDB\s0 entries that list the machine
+as a site for any version of a volume (if necessary, use the \fBvos move\fR
+or \fBvos remove\fR command to more or remove volumes). It is appropriate to
+remove a \s-1VLDB\s0 server entry when removing the corresponding file server
+machine from service; this is the only recommended use of the command.
+.PP
+To display all \s-1VLDB\s0 server entries, use the \fBvos listaddrs\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Combining the command's \fB\-oldaddr\fR and \fB\-newaddr\fR arguments is no longer
+the appropriate way to change the \s-1IP\s0 address registered for a file server
+machine. Furthermore, if a machine is multihomed and its server entry
+includes several addresses, then the address specified with the
+\&\fB\-newaddr\fR argument replaces all of the addresses currently listed in the
+server entry that includes the address specified by the \fB\-oldaddr\fR
+argument. This effectively makes the machine single-homed with respect to
+\&\s-1AFS\s0 operations, which is probably not the desired result.
+.PP
+The recommended method for changing the \s-1IP\s0 addresses in a server entry is
+instead to restart the \f(CW\*(C`fs\*(C'\fR process group (which includes the File
+Server) after using the utilities provided by the operating system to
+reconfigure the machine's network interfaces. For a description of how the
+File Server constructs and registers a list of its network interfaces in
+the \s-1VLDB\s0, see \fIsysid\fR\|(5).
+.PP
+If, counter to recommended usage, the command is used to change the \s-1IP\s0
+address in a server entry, it does not also change the names of machine
+entries in the Protection Database. Operations fail when they refer to a
+protection group that has an obsolete \s-1IP\s0 address in it. Use the \fBpts
+rename\fR command to change the names of machine entries that correspond to
+the addresses changed with this command. Changing the address of a
+database server machine also requires updating the client and server
+versions of the \fICellServDB\fR file on every machine.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-oldaddr\fR <\fIoriginal \s-1IP\s0 address\fR>" 4
+.IX Item "-oldaddr <original IP address>"
+Specifies the \s-1IP\s0 address currently registered for the file server machine
+in the \s-1VLDB\s0 server entry. If there are multiple addresses registered for a
+multihomed machine, use any of them to identify the server entry.
+.IP "\fB\-newaddr\fR <\fInew \s-1IP\s0 address\fR>" 4
+.IX Item "-newaddr <new IP address>"
+Specifies the new \s-1IP\s0 address that replaces all currently registered
+addresses.
+.IP "\fB\-remove\fR" 4
+.IX Item "-remove"
+Removes from the \s-1VLDB\s0 the server entry that includes the address specified
+by the \fB\-oldaddr\fR argument.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the \s-1VLDB\s0 server entry that includes the \s-1IP\s0
+address \f(CW192.12.107.214\fR.
+.PP
+.Vb 1
+\& % vos changeaddr \-oldaddr 192.12.107.214 \-remove
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the machine
+specified with the \fB\-oldaddr\fR argument and on each database server
+machine.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIsysid\fR\|(5),
+\&\fIfileserver\fR\|(8),
+\&\fIpts_rename\fR\|(1),
+\&\fIvos\fR\|(1),
+\&\fIvos_listaddrs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_CHANGELOC 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_CHANGELOC 1"
++.TH VOS_CHANGELOC 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_changeloc \- Change a volume's entry in the VLDB
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos changeloc\fR [\fB\-server\fR]\ <\fInew\ server\ name\fR>
+ [\fB\-partition\fR]\ <\fInew\ partition\ location\fR>
+ [\fB\-id\fR]\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.PP
+\&\fBvos changel\fR [\fB\-s\fR]\ <\fInew\ server\ name\fR>
+ [\fB\-p\fR]\ <\fInew\ partition\ location\fR>
+ [\fB\-i\fR]\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-e\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos changeloc\fR command changes the location of a volume in the
+Volume Location Database (\s-1VLDB\s0) without needing to contact the original
+file server on which the volume was hosted. This is useful when a file
+server has gone down permanently and the data that was stored on that
+server has been moved to a new file server with a different name and \s-1IP\s0
+address (perhaps by mounting the same /vicepX partitions on a different
+host). After moving the data and running \fBvos changeloc\fR, run \fBvos
+syncvldb\fR and then \fBvos syncserv\fR against the new server to ensure full
+synchronization of the \s-1VLDB\s0 with the file server.
+.PP
+In essence, \fBvos changeloc\fR performs the same operations on the \s-1VLDB\s0 as
+\&\fBvos move\fR, but it does \s-1NOT\s0 move the data from one server's file system
+to another.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Using \fBvos changeloc\fR changes the \s-1VLDB\s0 without modifying the file server
+data, so it inherently causes the \s-1VLDB\s0 to be out of sync with the data on
+the servers. It should only be used when recovering from server failure.
+If the servers are on-line, \fBvos move\fR should be used instead. It is
+highly recommended that \fBvos syncvldb\fR and \fBvos syncserv\fR be run after
+using the \fBvos changeloc\fR command to ensure properly synchronization of
+the \s-1VLDB\s0 with the file servers.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+\&\fBvos changeloc\fR takes the following options:
+.IP "\fB\-server\fR <\fInew server name\fR>" 4
+.IX Item "-server <new server name>"
+Specifies the new server where the \s-1VLDB\s0 should believe the volume resides.
+Provide the machine's \s-1IP\s0 address or its host name (either fully qualified
+or using an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Specifies the partition where the \s-1VLDB\s0 should believe the volume resides.
+entries. Provide the \fB\-server\fR argument along with this one. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies the name or volume \s-1ID\s0 number on which to operate.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the commands that are sent to the server.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+\&\fBvos changeloc\fR shows a brief message upon completion:
+.PP
+.Vb 1
+\& Changed location to server2 /vicepa for volume user.jdoe
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command changes the location of the \f(CW\*(C`user.jdoe\*(C'\fR volume to
+be \fI/vicepa\fR on the file server machine \f(CW\*(C`server2\*(C'\fR while being verbose:
+.PP
+.Vb 3
+\& % vos changeloc server2 a user.jdoe \-verbose
+\& done
+\& Changed location to server2 /vicepa for volume user.jdoe
+.Ve
+.PP
+The following command changes the location of the \f(CW\*(C`user.jdoe\*(C'\fR volume to
+be \fI/vicepa\fR on \f(CW\*(C`server1\*(C'\fR without being verbose:
+.PP
+.Vb 2
+\& % vos changeloc server1 a user.jdoe
+\& Changed location to server1 /vicepa for volume user.jdoe
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on each
+database server machine. If the \fB\-localauth\fR flag is included, the issuer
+must instead be logged on to a server machine as the local superuser
+\&\f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_move\fR\|(1),
+\&\fIvos_syncserv\fR\|(1),
+\&\fIvos_syncvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_CLONE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_CLONE 1"
++.TH VOS_CLONE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_clone \- Creates a shared\-space copy of a volume on a partition
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos clone\fR [\fB\-id\fR]\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ [\fB\-server\fR]\ <\fIserver\ name\fR>
+ [\fB\-partition\fR]\ <\fIpartition\ name\fR>
+ [\fB\-toname\fR\ <\fIvolume\ name\ on\ destination\fR>]
+ [\fB\-toid\fR\ <\fIvolume\ \s-1ID\s0\ on\ destination\fR>] [\fB\-offline\fR] [\fB\-readonly\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR]
+ [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos clone\fR command creates a copy-on-write copy of a volume on the
+same partition and server ass the parent volume.
+.PP
+A clone is a copy of a volume that does only stores the changes from the
+parent volume. Cloning is a primitive operation that is used by the \fBvos
+move\fR, \fBvos backup\fR, and \fBvos release\fR commands. A clone functions using
+the same mechanism as a backup volume, but it is persistent. Clone volumes
+can be used as point-in-time copies of the parent vollume, but they must be
+used with care.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is not used during normal OpenAFS administration and may
+have adverse effects on the \s-1VLDB\s0 if not used properly! This command
+should only be used by an expert.
+.PP
+Deleting or moving the parent volume makes the clone volume inaccessible,
+but the clone volume remains in the \s-1VLDB\s0 and on disk, and it needs to be
+cleaned up manually.
+.PP
+There is a maximum limitation of 7 clones when using the namei
+fileserver. You may safely create up to 4 clones using the \fBvos clone\fR
+command. The other three clone slots are used by the backup volume, a
+read-only replica and the temporary clone that is created when executing a
+\&\fBvos move\fR, \fBvos dump\fR, or other \fBvos\fR commands.
+.PP
+Some commands do not work properly on clone volumes. \fBvos move\fR is one
+such command.
+.PP
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fB\-id\fR] <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "[-id] <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a read/write
+volume.
+.IP "[\fB\-server\fR] <\fImachine name\fR>" 4
+.IX Item "[-server] <machine name>"
+Identifies the file server machine where the source volume resides. Provide
+the machine's \s-1IP\s0 address or its host name (either fully qualified or using
+an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "[\fB\-partition\fR] <\fIpartition name\fR>" 4
+.IX Item "[-partition] <partition name>"
+Names the partition where the source volume resides. Provide the full
+partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms
+described in \fIvos\fR\|(1).
+.IP "\fB\-toname\fR <\fIvolume name for new copy\fR>" 4
+.IX Item "-toname <volume name for new copy>"
+The complete name of the new volume to create.
+.IP "\fB\-toid\fR <\fIvolume id for new copy\fR>" 4
+.IX Item "-toid <volume id for new copy>"
+The complete id of the new volume to create.
+.IP "\fB\-offline\fR" 4
+.IX Item "-offline"
+Leaves the new volume flagged as off-line in the volume database.
+.IP "\fB\-readonly\fR" 4
+.IX Item "-readonly"
+Flags the new volume as read-only in the volume database.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents
+it to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are not transmitted
+across the network in clear text.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command has no output unless \f(CW\*(C`\-verbose\*(C'\fR is specified or there is
+an error.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machines specified with the \fB\-toserver\fR and \fB\-fromserver\fR arguments and
+on each database server machine. If the \fB\-localauth\fR flag is included,
+the issuer must instead be logged on to a server machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_copy\fR\|(1),
+\&\fIvos_move\fR\|(1),
+\&\fIvos_shadow\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_CONVERTROTORW 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_CONVERTROTORW 1"
++.TH VOS_CONVERTROTORW 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_convertROtoRW \- Converts a Read\-Only volume into a Read/Write volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos convertROtoRW\fR [\fB\-server\fR]\ <\fImachine\ name\fR>
+ [\fB\-partition\fR]\ <\fIpartition\ name\fR>
+ [\fB\-id\fR]\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-force\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBvos convertROtoRW\fR converts a Read-Only volume into a Read/Write volume
+when the original Read/Write volume is no longer available. It's normal use
+is to recover the Read/Write volume from a replica after a failed disk,
+failed server, or accidental deletion.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The command name is case-sensitive. It must be issued with the capital \*(L"\s-1RO\s0\*(R"
+and \*(L"\s-1RW\s0\*(R".
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine that houses the Read-Only volume which
+will be converted. Provide the machine's \s-1IP\s0 address or its host name
+(either fully qualified or using an unambiguous abbreviation). For details,
+see \fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition on the file server machine that houses the
+Read-Only volume which will be converted. Provide the full partition name
+(for, example, \fB/vicepa\fR) or one of the abbreviated forms described in
+\&\fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume \s-1ID\s0\fR>" 4
+.IX Item "-id <volume ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a Read/Write
+volume.
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Don't ask for confirmation.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are not transmitted
+across the network in clear text.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example converts the read-only volume test3.readonly in
+partition vicepb on server1 to a read-write volume:
+.PP
+.Vb 1
+\& % vos convertROtoRW server1 b test3.readonly
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machines specified with the \fB\-toserver\fR and \fB\-fromserver\fR arguments and
+on each database server machine. If the \fB\-localauth\fR flag is included,
+the issuer must instead be logged on to a server machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_COPY 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_COPY 1"
++.TH VOS_COPY 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_copy \- Make a copy of a volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos copy\fR [\fB\-id\fR]\ <\fIvolume\ name\ or\ \s-1ID\s0\ of\ source\fR>
+ [\fB\-fromserver\fR]\ <\fImachine\ name\ for\ source\fR>
+ [\fB\-frompartition\fR]\ <\fIpartition\ name\ for\ source\fR>
+ [\fB\-toname\fR]\ <\fIvolume\ name\ for\ new\ copy\fR>
+ [\fB\-toserver\fR]\ <\fImachine\ name\ for\ destination\fR>
+ [\fB\-topartition\fR]\ <\fIpartition\ name\ for\ destination\fR>
+ [\fB\-offline\fR] [\fB\-readonly\fR] [\fB\-live\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos copy\fR command makes a copy of a volume with a new name. It is
+equivalent to \fBvos dump\fR followed by \fBvos restore\fR, but doesn't require
+the volume be stored locally by the client.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fB\-id\fR] <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "[-id] <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a read/write
+volume.
+.IP "[\fB\-fromserver\fR] <\fImachine name for source\fR>" 4
+.IX Item "[-fromserver] <machine name for source>"
+Identifies the file server machine where the source volume resides. Provide
+the machine's \s-1IP\s0 address or its host name (either fully qualified or using
+an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "[\fB\-frompartition\fR] <\fIpartition name for source\fR>" 4
+.IX Item "[-frompartition] <partition name for source>"
+Names the partition where the source volume resides. Provide the full
+partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms
+described in \fIvos\fR\|(1).
+.IP "[\fB\-toname\fR] <\fIvolume name for new copy\fR>" 4
+.IX Item "[-toname] <volume name for new copy>"
+The complete name of the new volume to create.
+.IP "[\fB\-toserver\fR] <\fImachine name for destination\fR>" 4
+.IX Item "[-toserver] <machine name for destination>"
+Identifies the file server machine to which to copy the volume. Provide
+the machine's \s-1IP\s0 address or its host name (either fully qualified or using
+an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "[\fB\-topartition\fR] <\fIpartition name for destination\fR>" 4
+.IX Item "[-topartition] <partition name for destination>"
+Names the partition to which to copy the volume. Provide the full partition
+name (for, example, \fB/vicepa\fR) or one of the abbreviated forms described in
+\&\fIvos\fR\|(1).
+.IP "\fB\-offline\fR" 4
+.IX Item "-offline"
+Leaves the new volume flagged as off-line in the volume database.
+.IP "\fB\-readonly\fR" 4
+.IX Item "-readonly"
+Flags the new volume as read-only in the volume database.
+.IP "\fB\-live\fR" 4
+.IX Item "-live"
+Copies the live volume without cloning. This is normally not necessary and
+causes the volume to be kept locked for longer than the normal copy
+mechanism.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it to
+the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are not transmitted
+across the network in clear text.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command has no output unless \f(CW\*(C`\-verbose\*(C'\fR is specified or there is
+an error.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example makes a verbose copy of the \f(CW\*(C`test\*(C'\fR volume named
+\&\f(CW\*(C`test2\*(C'\fR in the cell \f(CW\*(C`localcell\*(C'\fR. The volume and copy both reside on
+\&\f(CW\*(C`/vicepa\*(C'\fR of \f(CW\*(C`server1\*(C'\fR.
+.PP
+.Vb 10
+\& % vos copy test server1 a test2 server1 a \-cell localcell \-verbose
+\& Starting transaction on source volume 536870921 ... done
+\& Allocating new volume id for clone of volume 536870921 ... done
+\& Allocating new volume id for copy of volume 536870921 ... done
+\& Cloning source volume 536870921 ... done
+\& Ending the transaction on the source volume 536870921 ... done
+\& Starting transaction on the cloned volume 536870926 ... done
+\& Setting flags on cloned volume 536870926 ... done
+\& Getting status of cloned volume 536870926 ... done
+\& Creating the destination volume 536870927 ... done
+\& Setting volume flags on destination volume 536870927 ... done
+\& Dumping from clone 536870926 on source to volume 536870927 on destination ... done
+\& Ending transaction on cloned volume 536870926 ... done
+\& Starting transaction on source volume 536870921 ... done
+\& Doing the incremental dump from source to destination for volume 536870921 ... done
+\& Setting volume flags on destination volume 536870927 ... done
+\& Ending transaction on destination volume 536870927 ... done
+\& Ending transaction on source volume 536870921 ... done
+\& Starting transaction on the cloned volume 536870926 ... done
+\& Deleting the cloned volume 536870926 ... done
+\& Ending transaction on cloned volume 536870926 ... done
+\& Created the VLDB entry for the volume test2 536870927
+\& Volume 536870921 copied from server1 /vicepa to test2 on server1 /vicepa
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_clone\fR\|(1),
+\&\fIvos_move\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_CREATE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_CREATE 1"
++.TH VOS_CREATE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_create \- Creates a read/write volume and associated VLDB entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos create\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-partition\fR\ <\fIpartition\ name\fR>
+ \fB\-name\fR\ <\fIvolume\ name\fR> [\fB\-maxquota\fR\ <\fIinitial\ quota\ (\s-1KB\s0)\fR>]
+ [\fB\-id\fR\ <\fIvolume\ \s-1ID\s0\fR>] [\fB\-roid\fR\ <\fIreadonly\ volume\ \s-1ID\s0\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos cr\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-p\fR\ <\fIpartition\ name\fR>
+ \fB\-na\fR\ <\fIvolume\ name\fR> [\fB\-m\fR\ <\fIinitial\ quota\ (\s-1KB\s0)\fR>]
+ [\fB\-i\fR\ <\fIvolume\ \s-1ID\s0\fR>] [\fB\-r\fR\ <\fIreadonly\ volume\ \s-1ID\s0\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos create\fR command creates a read/write volume with the name
+specified by the \fB\-name\fR argument at the site specified by the \fB\-server\fR
+and \fB\-partition\fR arguments. In addition, the command allocates or sets
+the following:
+.IP "\(bu" 4
+Volume \s-1ID\s0 numbers for the read/write volume and its associated read-only
+and backup volumes (this command does not actually create the latter two
+types of volume). A volume \s-1ID\s0 number is an identification number
+guaranteed to be unique within a cell.
+.IP "\(bu" 4
+An access control list (\s-1ACL\s0) associated with the volume's root directory,
+which takes the same name as volume's mount point when the volume is
+mounted with the \fBfs mkmount\fR command. An entry that grants all seven
+permissions to the members of the system:administrators group is
+automatically placed on the \s-1ACL\s0. (In addition, the File Server by default
+always implicitly grants the \f(CW\*(C`l\*(C'\fR (lookup) and \f(CW\*(C`a\*(C'\fR (administer)
+permissions on every \s-1ACL\s0 to members of the system:administrators group,
+even when the group does not appear on an \s-1ACL\s0; use the \fB\-implicit\fR
+argument to the \fBfileserver\fR initialization command to alter the set of
+rights on a server-by-server basis if desired.)
+.IP "\(bu" 4
+The volume's space quota, set to 5000 kilobyte blocks by default. Use the
+\&\fB\-maxquota\fR argument to specify a different quota, or use the \fBfs
+setquota\fR command to change the volume's quota after mounting the volume
+with the \fBfs mkmount\fR command.
+.PP
+The volume is empty when created. To access it via the Cache Manager,
+mount it in the file space by using the \fBfs mkmount\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine on which to create the read/write
+volume. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition on which to create the read/write volume, on the
+file server machine specified by the \fB\-server\fR argument. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-name\fR <\fIvolume name\fR>" 4
+.IX Item "-name <volume name>"
+Specifies a name for the read/write volume. The maximum length is 22
+characters, which can include any alphanumeric or punctuation
+character. By convention, periods separate the fields in a name. Do not
+apply the \f(CW\*(C`.backup\*(C'\fR or \f(CW\*(C`.readonly\*(C'\fR extension to a read/write volume
+name; they are reserved for the Volume Server to add to the read/write
+name when creating those backup and read-only volumes respectively.
+.IP "\fB\-maxquota\fR <\fIvolume quota\fR>" 4
+.IX Item "-maxquota <volume quota>"
+Specifies the maximum amount of disk space the volume can use, as a number
+of kilobyte blocks (a value of \f(CW1024\fR is one megabyte). The value \f(CW0\fR
+(zero) grants an unlimited quota, but the size of the disk partition that
+houses the volume places an absolute limit on its size. If this argument
+is omitted, the default value is \f(CW5000\fR.
+.IP "\fB\-id\fR <\fIvolume \s-1ID\s0\fR>" 4
+.IX Item "-id <volume ID>"
+Specifies the volume \s-1ID\s0 for the read/write volume. If this options is not
+specified, or the given volume \s-1ID\s0 is 0, a volume \s-1ID\s0 will be allocated for
+the volume automatically. The volume IDs allocated should be fine for
+almost all cases, so you should almost never need to specify this option.
+.IP "\fB\-roid\fR <\fIreadonly volume \s-1ID\s0\fR>" 4
+.IX Item "-roid <readonly volume ID>"
+Specifies the volume \s-1ID\s0 for the readonly volume corresponding to the
+read/write volume that is being created. The readonly volume will not be
+created; this merely specifies what volume \s-1ID\s0 the readonly volume will use
+when it is created. If a volume \s-1ID\s0 of 0 is specified here, no readonly
+volume \s-1ID\s0 will be assigned to the created volume immediately. A readonly
+volume \s-1ID\s0 can still be assigned later when \fBvos addsite\fR is run; if a
+volume does not have a readonly volume \s-1ID\s0 associated with it by the time
+\&\fBvos release\fR is run, a volume \s-1ID\s0 will be allocated for it.
+.Sp
+If this option is not specified, the default readonly volume \s-1ID\s0 is one
+number higher than the read-write volume \s-1ID\s0, whether or not that \s-1ID\s0 was
+manually specified.
+.Sp
+As with the \fB\-id\fR option, the default allocated volume IDs should be
+sufficient for almost all cases, so you should almost never need to
+specify this option.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The Volume Server produces the following message to confirm that it
+created the volume:
+.PP
+.Vb 1
+\& Volume <volume_ID> created on partition <partition_name> of <machine_name>
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command creates the read/write volume \f(CW\*(C`user.pat\*(C'\fR on the
+\&\fI/vicepf\fR partition of the file server machine \f(CW\*(C`fs4.abc.com\*(C'\fR.
+.PP
+.Vb 2
+\& % vos create \-server fs4.abc.com \-partition /vicepf \-name user.pat
+\& Volume user.pat created on partition /vicepf of fs4.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_DELENTRY 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_DELENTRY 1"
++.TH VOS_DELENTRY 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_delentry \- Removes a volume entry from the VLDB.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos delentry\fR [\fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>+]
+ [\fB\-prefix\fR\ <\fIprefix\ of\ volume\ whose\ \s-1VLDB\s0\ entry\ is\ to\ be\ deleted\fR>]
+ [\fB\-server\fR\ <\fImachine\ name\fR>] [\fB\-partition\fR\ <\fIpartition\ name\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos de\fR [\fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>+]
+ [\fB\-pr\fR\ <\fIprefix\ of\ volume\ whose\ \s-1VLDB\s0\ entry\ is\ to\ be\ deleted\fR>]
+ [\fB\-s\fR\ <\fImachine\ name\fR>] [\fB\-pa\fR\ <\fIpartition\ name\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos delentry\fR command removes the Volume Location Database (\s-1VLDB\s0)
+entry for each specified volume. A specified volume can be any of the
+three types (read/write, read-only, or backup), but the entire entry is
+removed no matter which type is provided. The command has no effect on the
+actual volumes on file server machines, if they exist.
+.PP
+This command is useful if a volume removal operation did not update the
+\&\s-1VLDB\s0 (perhaps because the \fBvos zap\fR command was used), but the system
+administrator does not feel it is necessary to use the \fBvos syncserv\fR and
+\&\fBvos syncvldb\fR commands to synchronize an entire file server machine.
+.PP
+To remove the \s-1VLDB\s0 entry for a single volume, use the \fB\-id\fR argument. To
+remove groups of volumes, combine the \fB\-prefix\fR, \fB\-server\fR, and
+\&\fB\-partition\fR arguments. The following list describes how to remove the
+\&\s-1VLDB\s0 entry for the indicated group of volumes:
+.IP "\(bu" 4
+For every volume whose name begins with a certain character string (for
+example, \f(CW\*(C`sys.\*(C'\fR or \f(CW\*(C`user.\*(C'\fR): use the \fB\-prefix\fR argument.
+.IP "\(bu" 4
+Every volume for which the \s-1VLDB\s0 lists a site on a certain file server
+machine: specify the file server name with the \fB\-server\fR argument.
+.IP "\(bu" 4
+Every volume for which the \s-1VLDB\s0 lists a site on a partition of the same
+name (for instance, on the \fI/vicepa\fR partition on any file server
+machine): specify the partition name with the \fB\-partition\fR argument.
+.IP "\(bu" 4
+Every volume for which the \s-1VLDB\s0 lists a site one a specific partition of a
+file server machine: specify both the \fB\-server\fR and \fB\-partition\fR
+arguments.
+.IP "\(bu" 4
+Every volume whose name begins with a certain prefix and for which the
+\&\s-1VLDB\s0 lists a site on a file server machine: combine the \fB\-prefix\fR and
+\&\fB\-server\fR arguments. Combine the \fB\-prefix\fR argument with the
+\&\fB\-partition\fR argument, or both the \fB\-server\fR and \fB\-partition\fR
+arguments, to remove a more specific group of volumes.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use this command to remove a volume in normal circumstances; it
+does not remove a volume from the file server machine, and so is likely to
+make the \s-1VLDB\s0 inconsistent with state of the volumes on server
+machines. Use the \fBvos remove\fR command to remove both the volume and its
+\&\s-1VLDB\s0 entry.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>+" 4
+.IX Item "-id <volume name or ID>+"
+Specifies the complete name or the volume \s-1ID\s0 number of each volume for
+which to remove the \s-1VLDB\s0 entry. The entire entry is removed, regardless of
+whether the read/write, read-only, or backup version is indicated.
+Provide this argument or some combination of the \fB\-prefix\fR, \fB\-server\fR,
+and \fB\-partition\fR arguments.
+.IP "\fB\-prefix\fR <\fIprefix of volume entry\fR" 4
+.IX Item "-prefix <prefix of volume entry"
+Specifies a character string of any length; the \s-1VLDB\s0 entry for a volume
+whose name begins with the string is removed. Include field separators
+(such as periods) if appropriate. Combine this argument with the
+\&\fB\-server\fR argument, \fB\-partition\fR argument, or both.
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies a file server machine; if a volume's \s-1VLDB\s0 entry lists a site on
+the machine, the entry is removed. Provide the machine's \s-1IP\s0 address or its
+host name (either fully qualified or using an unambiguous
+abbreviation). For details, see \fIvos\fR\|(1).
+.Sp
+Combine this argument with the \fB\-prefix\fR argument, the \fB\-partition\fR
+argument, or both.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies a partition; if a volume's \s-1VLDB\s0 entry lists a site on the
+partition, the entry is removed. Provide the partition's complete name
+with preceding slash (for example, \fI/vicepa\fR) or use one of the three
+acceptable abbreviated forms. For details, see \fIvos\fR\|(1).
+.Sp
+Combine this argument with the \fB\-prefix\fR argument, the \fB\-server\fR
+argument, or both.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The following message confirms the success of the command by indicating
+how many \s-1VLDB\s0 entries were removed.
+.PP
+.Vb 1
+\& Deleted <number> VLDB entries
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the \s-1VLDB\s0 entry for the volume \f(CW\*(C`user.temp\*(C'\fR.
+.PP
+.Vb 1
+\& % vos delentry user.temp
+.Ve
+.PP
+The following command removes the \s-1VLDB\s0 entry for every volume whose name
+begins with the string \f(CW\*(C`test\*(C'\fR and for which the \s-1VLDB\s0 lists a site on the
+file server machine \f(CW\*(C`fs3.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % vos delentry \-prefix test \-server fs3.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_remove\fR\|(1),
+\&\fIvos_syncserv\fR\|(1),
+\&\fIvos_syncvldb\fR\|(1),
+\&\fIvos_zap\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_DUMP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_DUMP 1"
++.TH VOS_DUMP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_dump \- Converts a volume into ASCII format and writes it to a file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos dump\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-time\fR\ <\fIdump\ from\ time\fR>]
+ [\fB\-file\fR\ <\fIdump\ file\fR>] [\fB\-server\fR\ <\fIserver\fR>]
+ [\fB\-partition\fR\ <\fIpartition\fR>] [\fB\-clone\fR] [\fB\-omitdirs\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos du\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-t\fR\ <\fIdump\ from\ time\fR>]
+ [\fB\-f\fR\ <\fIdump\ file\fR>] [\fB\-s\fR\ <\fIserver\fR>] [\fB\-p\fR\ <\fIpartition\fR>]
+ [\fB\-cl\fR] [\fB\-o\fR] [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos dump\fR command converts the contents of the indicated volume,
+which can be read/write, read-only or backup, into \s-1ASCII\s0 format. The
+Volume Server writes the converted contents to the file named by the
+\&\fB\-file\fR argument, or to the standard output stream. In the latter case,
+the output can be directed to a named pipe, which enables interoperation
+with third-party backup utilities.
+.PP
+To dump the complete contents of a volume (create a \fIfull dump\fR), omit
+the \fB\-time\fR argument or specify the value \f(CW0\fR (zero) for it. To create
+an \fIincremental dump\fR, which includes only the files and directories in
+the volume that have modification timestamps later than a certain time,
+specify a date and time as the value for the \fB\-time\fR argument.
+.PP
+By default, the vos command interpreter consults the Volume Location
+Database (\s-1VLDB\s0) to learn the volume's location, so the \fB\-server\fR and
+\&\fB\-partition\fR arguments are not required. If the \fB\-id\fR argument
+identifies a read-only volume that resides at multiple sites, the command
+dumps the version from just one of them (normally, the one listed first in
+the volume's \s-1VLDB\s0 entry as reported by the \fBvos examine\fR or \fBvos
+listvldb\fR command). To dump the read-only volume from a particular site,
+use the \fB\-server\fR and \fB\-partition\fR arguments to specify the site. To
+bypass the \s-1VLDB\s0 lookup entirely, provide a volume \s-1ID\s0 number (rather than a
+volume name) as the value for the \fB\-id\fR argument, together with the
+\&\fB\-server\fR and \fB\-partition\fR arguments. This makes it possible to dump a
+volume for which there is no \s-1VLDB\s0 entry.
+.PP
+During the dump operation, the volume is inaccessible both to Cache
+Managers and to other volume operations. Dumping a volume does not
+otherwise affect its status on the partition or its \s-1VLDB\s0 entry.
+.PP
+To restore a dumped volume back into \s-1AFS\s0, use the \fBvos restore\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Support for incremental dumps is provided to facilitate interoperation
+with third-party backup utilities. The \fBvos dump\fR command does not
+provide any of the administrative facilities of an actual backup system,
+so the administrator must keep manual records of dump times and the
+relationship between full and incremental dumps of a volume. For a
+volume's contents to be consistent after restoration of incremental dumps,
+there must be no gap between the time at which a prior dump of the volume
+was created and the value of the \fB\-time\fR argument to the \fBvos dump\fR
+command that creates the incremental dump. More specifically, for a
+read/write volume, the \fB\-time\fR argument must specify the time that the
+prior dump was performed, and for a read-only or backup volume it must
+specify the time that the volume was last released (using the \fBvos
+release\fR command) or cloned (using the \fBvos backup\fR or \fBvos backupsys\fR
+command) prior to dumping it. The parent dump can be either a full dump or
+another incremental dump.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the read/write,
+read-only, or backup volume to dump.
+.IP "\fB\-time\fR <\fIdump from time\fR>" 4
+.IX Item "-time <dump from time>"
+Specifies whether the dump is full or incremental. Omit this argument to
+create a full dump, or provide one of three acceptable values:
+.RS 4
+.IP "\(bu" 4
+The value \f(CW0\fR (zero) to create a full dump.
+.IP "\(bu" 4
+A date in the format \fImm\fR\fB/\fR\fIdd\fR\fB/\fR\fIyyyy\fR (month, day and year) to
+create an incremental dump that includes only files and directories with
+modification timestamps later than midnight (12:00 a.m.) on the indicated
+date. Valid values for the year range from \f(CW1970\fR to \f(CW2037\fR; higher
+values are not valid because the latest possible date in the standard \s-1UNIX\s0
+representation is in 2038. The command interpreter automatically reduces
+later dates to the maximum value. An example is \f(CW\*(C`01/13/1999\*(C'\fR.
+.IP "\(bu" 4
+A date and time in the format \fB"\fR\fImm\fR\fB/\fR\fIdd\fR\fB/\fR\fIyyyy\fR
+\&\fIhh\fR\fB:\fR\fI\s-1MM\s0\fR\fB"\fR to create an incremental dump that includes only files
+and directories with modification timestamps later than the specified date
+and time. The date format is the same as for a date alone. Express the
+time as hours and minutes (\fIhh\fR:\fI\s-1MM\s0\fR) in 24\-hour format (for example,
+\&\fB20:30\fR is 8:30 p.m.). Surround the entire expression with double quotes
+(\f(CW""\fR) because it contains a space. An example is \f(CW"01/13/1999 22:30"\fR.
+.RE
+.RS 4
+.RE
+.IP "\fB\-file\fR <\fIdump file\fR>" 4
+.IX Item "-file <dump file>"
+Specifies the pathname of the file to which to write the dump. The file
+can be in \s-1AFS\s0, but not in the volume being dumped. A partial pathname is
+interpreted relative to the current working directory. If this argument is
+omitted, the dump is directed to the standard output stream.
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Specifies the file server machine on which the volume resides. Provide
+the \fB\-partition\fR argument along with this one.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Specifies the partition on which the volume resides. Provide the
+\&\fB\-server\fR argument along with this one.
+.IP "\fB\-clone\fR" 4
+.IX Item "-clone"
+Normally, \fBvos dump\fR locks the volume and dumps it, which blocks writes
+to the volume while the dump is in progress. If this flag is given, \fBvos
+dump\fR will instead clone the volume first (similar to what \fBvos move\fR
+would do) and then dumps the clone. This can significantly decrease the
+amount of time the volume is kept locked for dumps of large volumes.
+.IP "\fB\-omitdirs\fR" 4
+.IX Item "-omitdirs"
+By default, \fBvos dump\fR includes all directory objects in an incremental
+dump whether they've been changed or not. If this option is given,
+unchanged directories will be omitted. This will reduce the size of the
+dump and not cause problems if the incremental is restored, as expected,
+on top of a volume containing the correct directory structure (such as one
+created by restoring previous full and incremental dumps).
+.IP "\fB\-cell\fR <\fIcell name\fR" 4
+.IX Item "-cell <cell name"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command writes a full dump of the volume \f(CW\*(C`user.terry\*(C'\fR to
+the file \fI/afs/abc.com/common/dumps/terry.dump\fR.
+.PP
+.Vb 1
+\& % vos dump \-id user.terry \-time 0 \-file /afs/abc.com/common/dumps/terry.dump
+.Ve
+.PP
+The following command writes an incremental dump of the volume
+\&\f(CW\*(C`user.smith\*(C'\fR to the file \f(CW\*(C`smith.990131.dump\*(C'\fR in the current working
+directory. Only those files in the volume with modification time stamps
+later than 6:00 p.m. on 31 January 1999 are included in the dump.
+.PP
+.Vb 1
+\& % vos dump \-id user.smith \-time "01/31/1999 18:00" \-file smith.990131.dump
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+If the \fB\-file\fR argument is included, the issuer must also have permission
+to insert and write in the directory that houses the file.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIrestorevol\fR\|(8),
+\&\fIvos\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvldb\fR\|(1),
+\&\fIvos_restore\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_EXAMINE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_EXAMINE 1"
++.TH VOS_EXAMINE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_examine \- Shows volume header and VLDB entry information for a volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos examine\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-extended\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos e\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-e\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.PP
+\&\fBvos volinfo\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-e\fR] [\-c <\fIcell name\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.PP
+\&\fBvos v\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-e\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos examine\fR command formats and displays information from the
+Volume Location Database (\s-1VLDB\s0) entry and the volume header of the volume
+specified by the \fB\-id\fR argument.
+.PP
+To display the volume header only, use the \fBvos listvol\fR command. To
+display information from the \s-1VLDB\s0 only, use the \fBvos listvldb\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the volume,
+which can be read/write, read-only, or backup.
+.IP "\fB\-extended\fR" 4
+.IX Item "-extended"
+Display statistics about read and write operations on files and
+directories in the volume.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first seven lines of the output show information from the volume
+header and the remaining lines come from the \s-1VLDB\s0. Each item in the
+following list corresponds to a line of output derived from the volume
+header.
+.IP "\(bu" 4
+Basic information about the specified volume (displayed on a single
+line):
+.RS 4
+.IP "\(bu" 4
+Name
+.IP "\(bu" 4
+Volume \s-1ID\s0 number
+.IP "\(bu" 4
+Type (the flag is \f(CW\*(C`RW\*(C'\fR for read/write, \f(CW\*(C`RO\*(C'\fR for read-only, \f(CW\*(C`BK\*(C'\fR for
+backup)
+.IP "\(bu" 4
+Size in kilobytes (\f(CW1024\fR equals a megabyte)
+.IP "\(bu" 4
+Number of files in the volume, if the \fB\-extended\fR flag is provided
+.IP "\(bu" 4
+Status on the file server machine, which is one of the following:
+.RS 4
+.IP "On-line" 4
+.IX Item "On-line"
+The volume is completely accessible to Cache Managers.
+.IP "Off-line" 4
+.IX Item "Off-line"
+The volume is not accessible to Cache Managers, but does not seem to be
+corrupted. This status appears while a volume is being dumped, for
+example.
+.IP "Off\-line**needs salvage**" 4
+.IX Item "Off-line**needs salvage**"
+The volume is not accessible to Cache Managers, because it seems to be
+corrupted. Use the \fBbos salvage\fR or \fBsalvager\fR command to repair the
+corruption.
+.RE
+.RS 4
+.RE
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The file server machine and partition that house the volume, as determined
+by the command interpreter as the command runs, rather than derived from
+the \s-1VLDB\s0 or the volume header.
+.IP "\(bu" 4
+The volume \s-1ID\s0 numbers associated with the various versions of the volume:
+read/write (\f(CW\*(C`RWrite\*(C'\fR), read-only (\f(CW\*(C`ROnly\*(C'\fR), backup (\f(CW\*(C`Backup\*(C'\fR), and
+ReleaseClone (\f(CW\*(C`RClone\*(C'\fR). One of them matches the volume \s-1ID\s0 number that
+appears on the first line of the volume's output. If the value in the
+\&\f(CW\*(C`RWrite\*(C'\fR, \f(CW\*(C`ROnly\*(C'\fR, or \f(CW\*(C`Backup\*(C'\fR field is \f(CW0\fR (zero), there is no volume
+of that type. If there is currently no ReleaseClone, the \f(CW\*(C`RClone\*(C'\fR field
+does not appear at all.
+.IP "\(bu" 4
+The maximum space quota allotted to the read/write copy of the volume,
+expressed in kilobyte blocks in the \f(CW\*(C`MaxQuota\*(C'\fR field.
+.IP "\(bu" 4
+The date and time the volume was created, in the \f(CW\*(C`Creation\*(C'\fR field. If the
+volume has been restored with the \fBbackup diskrestore\fR, \fBbackup
+volrestore\fR, or \fBvos restore\fR command, this is the restore time. For a
+read-only volume, this is the last release time.
+.IP "\(bu" 4
+The date and time this copy of this volume was created, in the \f(CW\*(C`Copy\*(C'\fR
+field. This is the time when the volume was created on this server and
+partition. For read-only volumes, it is not updated by a release (unlike
+the Creation date). The copy date is not stored in volume dumps.
+.IP "\(bu" 4
+The date and time when the contents of the volume last changed, in the
+\&\f(CW\*(C`Last Update\*(C'\fR field. For read-only and backup volumes, it matches the
+timestamp in the \f(CW\*(C`Creation\*(C'\fR field.
+.IP "\(bu" 4
+The number of times the volume has been accessed for a fetch or store
+operation since the later of the two following times:
+.RS 4
+.IP "\(bu" 4
+12:00 a.m. on the day the command is issued
+.IP "\(bu" 4
+The last time the volume changed location
+.RE
+.RS 4
+.RE
+.PP
+When the \fB\-extended\fR flag is included, two tables appear next:
+.IP "\(bu" 4
+The table labeled \f(CW\*(C`Raw Read/Write Stats\*(C'\fR contains information on the
+number of reads (fetches) and writes (stores) made on the specified
+volume.
+.IP "\(bu" 4
+The table labeled \f(CW\*(C`Writes Affecting Authorship\*(C'\fR contains information on
+writes made to files and directories in the specified volume.
+.PP
+If the following message appears instead of the previously listed
+information, it indicates that a volume is not accessible to Cache
+Managers or the \fBvos\fR command interpreter, for example because a clone is
+being created.
+.PP
+.Vb 1
+\& **** Volume <volume_ID> is busy ****
+.Ve
+.PP
+If the following message appears instead of the previously listed
+information, it indicates that the File Server is unable to attach the
+volume, perhaps because it is seriously corrupted. The \fIFileLog\fR and
+\&\fIVolserLog\fR log files in the \fI/usr/afs/logs\fR directory on the file
+server machine possibly provide additional information; use the \fBbos
+getlog\fR command to display them.
+.PP
+.Vb 1
+\& **** Could not attach volume <volume_ID> ****
+.Ve
+.PP
+Following a blank line, information from the \s-1VLDB\s0 entry appears. Each
+item in this list corresponds to a separate line in the output:
+.IP "\(bu" 4
+The base (read/write) volume name. The read-only and backup versions have
+the same name with a \f(CW\*(C`.readonly\*(C'\fR and \f(CW\*(C`.backup\*(C'\fR extension, respectively.
+.IP "\(bu" 4
+The volume \s-1ID\s0 numbers allocated to the versions of the volume that
+actually exist, in fields labeled \f(CW\*(C`RWrite\*(C'\fR for the read/write, \f(CW\*(C`ROnly\*(C'\fR
+for the read-only, \f(CW\*(C`Backup\*(C'\fR for the backup, and \f(CW\*(C`RClone\*(C'\fR for the
+ReleaseClone. (If a field does not appear, the corresponding version of
+the volume does not exist.) The appearance of the \f(CW\*(C`RClone\*(C'\fR field normally
+indicates that a release operation did not complete successfully; the
+\&\f(CW\*(C`Old release\*(C'\fR and \f(CW\*(C`New release\*(C'\fR flags often also appear on one or more
+of the site definition lines described just following.
+.IP "\(bu" 4
+The number of sites that house a read/write or read-only copy of the
+volume, following the string \f(CW\*(C`number of sites \->\*(C'\fR.
+.IP "\(bu" 4
+A line for each site that houses a read/write or read-only copy of the
+volume, specifying the file server machine, partition, and type of volume
+(\f(CW\*(C`RW\*(C'\fR for read/write or \f(CW\*(C`RO\*(C'\fR for read-only). If a backup version exists,
+it is understood to share the read/write site. Several flags can appear
+with a site definition:
+.RS 4
+.IP "Not released" 4
+.IX Item "Not released"
+Indicates that the vos release command has not been issued since the \fBvos
+addsite\fR command was used to define the read-only site.
+.IP "Old release" 4
+.IX Item "Old release"
+Indicates that a vos release command did not complete successfully,
+leaving the previous, obsolete version of the volume at this site.
+.IP "New release" 4
+.IX Item "New release"
+Indicates that a vos release command did not complete successfully, but
+that this site did receive the correct new version of the volume.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+If the \s-1VLDB\s0 entry is locked, the string \f(CW\*(C`Volume is currently LOCKED\*(C'\fR.
+.PP
+For further discussion of the \f(CW\*(C`New release\*(C'\fR and \f(CW\*(C`Old release\*(C'\fR flags, see
+\&\fIvos_release\fR\|(1).
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows output for the \s-1ABC\s0 Corporation volume called
+\&\f(CW\*(C`usr\*(C'\fR with two read-only replication sites (this volume is mounted at the
+\&\fI/afs/abc.com/usr\fR directory). For the sake of illustration, the output
+shows the volume as locked.
+.PP
+.Vb 10
+\& % vos examine usr
+\& usr 536870981 RW 3459 K On\-line
+\& fs2.abc.com /vicepb
+\& RWrite 5360870981 ROnly 536870982 Backup 536870983
+\& MaxQuota 40000 K
+\& Creation Mon Jun 12 15:22:06 1989
+\& Copy Mon Jun 12 15:22:06 1989
+\& Last Update Fri Jun 16 09:34:35 1989
+\& 5719 accesses in the past day (i.e., vnode references)
+\& RWrite: 5360870981 ROnly: 536870982 Backup: 536870983
+\& number of sites \-> 3
+\& server fs1.abc.com partition /vicepa RO Site
+\& server fs3.abc.com partition /vicepa RO Site
+\& server fs2.abc.com partition /vicepb RW Site
+\& Volume is currently LOCKED
+.Ve
+.PP
+The following example shows the output for the volume \f(CW\*(C`user.terry\*(C'\fR using
+the \fB\-extended\fR flag. The volume has no read-only replication sites.
+.PP
+.Vb 10
+\& % vos examine \-id user.terry \-extended
+\& user.terry 354287190 RW 2302 K used 119 files On\-line
+\& fs4.abc.com /vicepc
+\& RWrite 354287190 ROnly 0 Backup 354287192
+\& MaxQuota 5000 K
+\& Creation Wed Nov 25 17:38:57 1992
+\& Copy Wed Nov 25 17:38:57 1992
+\& Last Update Tue Dec 15 10:46:20 1992
+\& 598 accesses in the past day (i.e., vnode references)
+\& Raw Read/Write Stats
+\& |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|
+\& | Same Network | Diff Network |
+\& |\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|
+\& | Total | Auth | Total | Auth |
+\& |\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|
+\& Reads | 55 | 55 | 38 | 38 |
+\& Writes | 95 | 95 | 0 | 0 |
+\& |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|
+\& Writes Affecting Authorship
+\& |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|
+\& | File Authorship | Directory Authorship|
+\& |\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|
+\& | Same | Diff | Same | Diff |
+\& |\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-|
+\& 0\-60 sec | 38 | 0 | 21 | 1 |
+\& 1\-10 min | 2 | 0 | 7 | 0 |
+\& 10min\-1hr | 0 | 0 | 1 | 0 |
+\& 1hr\-1day | 1 | 0 | 5 | 1 |
+\& 1day\-1wk | 0 | 0 | 0 | 0 |
+\& > 1wk | 0 | 0 | 0 | 0 |
+\& |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-|
+\& RWrite: 354287190 Backup: 354287192
+\& number of sites \-> 1
+\& server fs4.abc.com partition /vicepc RW Site
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbos_salvage\fR\|(8),
+\&\fIsalvager\fR\|(8),
+\&\fIvos\fR\|(1),
+\&\fIvos_listvol\fR\|(1),
+\&\fIvos_listvldb\fR\|(1),
+\&\fIvos_release\fR\|(1),
+\&\fIvos_restore\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_HELP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_HELP 1"
++.TH VOS_HELP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_help \- Displays help for vos commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBvos h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBvos\fR command.
+.PP
+To list every \fBvos\fR command whose name or short description includes a
+specified keyword, use the \fBvos apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Identifies each command for which to display the complete online help
+entry. Omit the \fBvos\fR part of the command name, providing only the
+operation code (for example, specify \fBcreate\fR, not \fBvos create\fR). If
+this argument is omitted, the output briefly describes every \fBvos\fR
+command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each \fBvos\fR command consists of the following
+two or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBvos create\fR
+command:
+.PP
+.Vb 5
+\& % vos help create
+\& vos create: create a new volume
+\& Usage: vos create \-server <machine name> \-partition <partition name>
+\& \-name <volume name> [\-cell <cell name>] [\-noauth] [\-localauth]
+\& [\-verbose] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_apropos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_LISTADDRS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_LISTADDRS 1"
++.TH VOS_LISTADDRS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_listaddrs \- Displays all VLDB server entries
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos listaddrs\fR [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR]
+ [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos lista\fR [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos listaddrs\fR command displays all of the server entries from the
+Volume Location Database (\s-1VLDB\s0). An entry is created as the File Server
+initializes and registers the contents of its \fI/usr/afs/local/sysid\fR file
+in the \s-1VLDB\s0.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output displays all server entries from the \s-1VLDB\s0, each on its own
+line. If a file server machine is multihomed, all of its registered
+addresses appear on the line. The first one is the one reported as a
+volume's site in the output from the \fBvos examine\fR and \fBvos listvldb\fR
+commands.
+.PP
+The \s-1VLDB\s0 records \s-1IP\s0 addresses, and the command interpreter has the local
+name service (either a process like the Domain Name Service or a local
+host table) translate them to hostnames before displaying them. If an \s-1IP\s0
+address appears in the output, it is not possible to translate it.
+.PP
+The existence of an entry does not necessarily indicate that the machine
+that is still an active file server machine. To remove obsolete server
+entries, use the \fBvos changeaddr\fR command with the \fB\-remove\fR argument.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the \s-1VLDB\s0 server entries in the \s-1ABC\s0
+Corporation cell:
+.PP
+.Vb 5
+\& % vos listaddrs
+\& sv5.abc.com
+\& sv1.abc.com
+\& sv2.abc.com afs2.abc.com
+\& sv6.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsysid\fR\|(5),
+\&\fIvos\fR\|(1),
+\&\fIvos_changeaddr\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_LISTPART 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_LISTPART 1"
++.TH VOS_LISTPART 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_listpart \- Displays all AFS partitions on a file server machine
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos listpart\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos listp\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos listpart\fR command displays all of the valid \s-1AFS\s0 partitions on
+the indicated file server machine, without consulting the Volume Location
+Database (\s-1VLDB\s0). The \fBvos partinfo\fR command reports the size of a
+partition and the available space on that partition.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine for which to list the partitions.
+Provide the machine's \s-1IP\s0 address or its host name (either fully qualified
+or using an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fB/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output consists of a list of partition names of the form
+\&\fI/vicep\fIxx\fI\fR, following the header:
+.PP
+.Vb 1
+\& The partitions on the server are:
+.Ve
+.PP
+The last line of the output reports the total number of partitions.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the partitions on \f(CW\*(C`fs1.abc.com\*(C'\fR:
+.PP
+.Vb 4
+\& % vos listpart fs1.abc.com
+\& The partitions on the server are:
+\& /vicepa /vicepb /vicepc /vicepd
+\& Total: 4
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_partinfo\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_LISTVLDB 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_LISTVLDB 1"
++.TH VOS_LISTVLDB 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_listvldb \- Displays a volume's VLDB entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos listvldb\fR [\fB\-name\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>]
+ [\fB\-server\fR\ <\fImachine\ name\fR>] [\fB\-partition\fR\ <\fIpartition\ name\fR>]
+ [\fB\-locked\fR] [\fB\-quiet\fR] [\fB\-nosort\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos listvl\fR [\fB\-na\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>] [\fB\-s\fR\ <\fImachine\ name\fR>]
+ [\fB\-p\fR\ <\fIpartition\ name\fR>] [\fB\-lock\fR] [\fB\-q\fR] [\fB\-nos\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-noa\fR] [\fB\-loca\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos listvldb\fR command formats and displays information from the
+Volume Location Database (\s-1VLDB\s0) entry for each volume specified. The
+output depends on the combination of options supplied on the command
+line. Combine options as indicated to display the desired type of \s-1VLDB\s0
+entries:
+.IP "\(bu" 4
+Every entry in the \s-1VLDB:\s0 provide no options.
+.IP "\(bu" 4
+Every \s-1VLDB\s0 entry that mentions a certain file server machine as the site
+for a volume: specify the machine's name as the \fB\-server\fR argument.
+.IP "\(bu" 4
+Every \s-1VLDB\s0 entry that mentions a certain partition on any file server
+machine as the site for a volume: specify the partition name as the
+\&\fB\-partition\fR argument.
+.IP "\(bu" 4
+Every \s-1VLDB\s0 entry that mentions a certain partition on a certain file
+server machine as the site for a volume: combine the \fB\-server\fR and
+\&\fB\-partition\fR arguments.
+.IP "\(bu" 4
+A single \s-1VLDB\s0 entry: specify a volume name or \s-1ID\s0 number with the \fB\-name\fR
+argument.
+.IP "\(bu" 4
+The \s-1VLDB\s0 entry only for the volumes with locked \s-1VLDB\s0 entries found at a
+certain site: combine the \fB\-locked\fR flag with any of arguments that
+define sites.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-name <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a volume of any
+of the three types.
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine listed as a site in each \s-1VLDB\s0 entry to
+display. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.Sp
+This argument can be combined with the \fB\-partition\fR argument, the
+\&\fB\-locked\fR flag, or both.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition (on the file server machine specified by the
+\&\fB\-server\fR argument) listed as a site in each \s-1VLDB\s0 entry to
+display. Provide the partition's complete name with preceding slash (for
+example, \f(CW\*(C`/vicepa\*(C'\fR) or use one of the three acceptable abbreviated
+forms. For details, see \fIvos\fR\|(1).
+.Sp
+This argument can be combined with the \fB\-server\fR argument, the \fB\-locked\fR
+flag, or both.
+.IP "\fB\-locked\fR" 4
+.IX Item "-locked"
+Displays only locked \s-1VLDB\s0 entries. This flag can be combined with the
+\&\fB\-server\fR argument, the \fB\-partition\fR argument, or both.
+.IP "\fB\-quiet\fR" 4
+.IX Item "-quiet"
+Suppresses the lines that summarize the number of volumes listed and their
+status, which otherwise appear at the beginning and end of the output when
+the output includes more than one volume.
+.IP "\fB\-nosort\fR" 4
+.IX Item "-nosort"
+Suppresses the default sorting of volume entries alphabetically by volume
+name.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the output includes more than one \s-1VLDB\s0 entry, by default the first line
+reports which file server machine, partition, or both, houses the
+volumes. The final line of output reports the total number of entries
+displayed. Including the \fB\-quiet\fR flag suppresses these lines.
+.PP
+By default, volumes are sorted alphabetically by volume name. Including
+the \fB\-nosort\fR flag skips the sorting step, which can speed up the
+production of output if there are a large number of entries.
+.PP
+The \s-1VLDB\s0 entry for each volume includes the following information:
+.IP "\(bu" 4
+The base (read/write) volume name. The read-only and backup versions have
+the same name with a \f(CW\*(C`.readonly\*(C'\fR and \f(CW\*(C`.backup\*(C'\fR extension, respectively.
+.IP "\(bu" 4
+The volume \s-1ID\s0 numbers allocated to the versions of the volume that
+actually exist, in fields labeled \f(CW\*(C`RWrite\*(C'\fR for the read/write, \f(CW\*(C`ROnly\*(C'\fR
+for the read-only, \f(CW\*(C`Backup\*(C'\fR for the backup, and \f(CW\*(C`RClone\*(C'\fR for the
+ReleaseClone. (If a field does not appear, the corresponding version of
+the volume does not exist.) The appearance of the \f(CW\*(C`RClone\*(C'\fR field normally
+indicates that a release operation did not complete successfully; the
+\&\f(CW\*(C`Old release\*(C'\fR and \f(CW\*(C`New release\*(C'\fR flags often also appear on one or more
+of the site definition lines described just following.
+.IP "\(bu" 4
+The number of sites that house a read/write or read-only copy of the
+volume, following the string \f(CW\*(C`number of sites \->\*(C'\fR.
+.IP "\(bu" 4
+A line for each site that houses a read/write or read-only copy of the
+volume, specifying the file server machine, partition, and type of volume
+(\f(CW\*(C`RW\*(C'\fR for read/write or \f(CW\*(C`RO\*(C'\fR for read-only). If a backup version exists,
+it is understood to share the read/write site. Several flags can appear
+with a site definition:
+.RS 4
+.IP "Not released" 4
+.IX Item "Not released"
+Indicates that the vos release command has not been issued since the \fBvos
+addsite\fR command was used to define the read-only site.
+.IP "Old release" 4
+.IX Item "Old release"
+Indicates that a vos release command did not complete successfully,
+leaving the previous, obsolete version of the volume at this site.
+.IP "New release" 4
+.IX Item "New release"
+Indicates that a vos release command did not complete successfully, but
+that this site did receive the correct new version of the volume.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+If the \s-1VLDB\s0 entry is locked, the string \f(CW\*(C`Volume is currently LOCKED\*(C'\fR.
+.PP
+For further discussion of the \f(CW\*(C`New release\*(C'\fR and \f(CW\*(C`Old release\*(C'\fR flags, see
+\&\fIvos_release\fR\|(1).
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays \s-1VLDB\s0 information for the \s-1ABC\s0 Corporation
+volume called \f(CW\*(C`usr\*(C'\fR, which has two read-only replication sites:
+.PP
+.Vb 7
+\& % vos listvldb \-name usr
+\& usr
+\& RWrite: 5360870981 ROnly: 536870982 Backup: 536870983
+\& number of sites \-> 3
+\& server fs1.abc.com partition /vicepa RO Site
+\& server fs3.abc.com partition /vicepa RO Site
+\& server fs2.abc.com partition /vicepb RW Site
+.Ve
+.PP
+The following example shows entries for two of the volumes that reside on
+the file server machine \f(CW\*(C`fs4.abc.com\*(C'\fR. The first \s-1VLDB\s0 entry is currently
+locked. There are 508 entries that mention the machine as a volume site.
+.PP
+.Vb 10
+\& % vos listvldb \-server fs4.abc.com
+\& VLDB entries for server fs4.abc.com
+\& . . . .
+\& . . . .
+\& user.smith
+\& RWrite: 278541326 ROnly: 278541327 Backup: 278542328
+\& number of sites \-> 1
+\& server fs4.abc.com partition /vicepg RW Site
+\& Volume is currently LOCKED
+\& user.terry
+\& RWrite 354287190 ROnly 354287191 Backup 354287192
+\& number of sites \-> 1
+\& server fs4.abc.com partition /vicepc RW Site
+\& . . . .
+\& . . . .
+\& Total entries: 508
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvol\fR\|(1),
+\&\fIvos_lock\fR\|(1),
+\&\fIvos_unlock\fR\|(1),
+\&\fIvos_unlockvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_LISTVOL 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_LISTVOL 1"
++.TH VOS_LISTVOL 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_listvol \- Displays information from a volume header
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos listvol\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>] [\fB\-fast\fR] [\fB\-long\fR] [\fB\-quiet\fR]
+ [\fB\-extended\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos listvo\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-p\fR\ <\fIpartition\ name\fR>] [\fB\-f\fR]
+ [\-lon] [\fB\-q\fR] [\fB\-e\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-loc\fR]
+ [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos listvol\fR command formats and displays the following information
+from the volume header of each specified volume: volume name, volume \s-1ID\s0,
+volume type, size, and status at the server. The actual information
+displayed depends on the combination of arguments supplied when the
+command is issued. To display volume header information for various
+numbers of volumes, combine the command's arguments as indicated:
+.IP "\(bu" 4
+For every volume on a file server machine, specify the machine's name with
+the \fB\-server\fR argument.
+.IP "\(bu" 4
+For every volume at a particular site, combine the \fB\-server\fR argument
+with the \fB\-partition\fR argument.
+.PP
+To display the Volume Location Database (\s-1VLDB\s0) entry for one or more
+volumes, use the \fBvos listvldb\fR command. To display both the \s-1VLDB\s0 entry
+and the volume header for a single volume, use the \fBvos examine\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine that houses volumes for which to
+display the header. Provide the machine's \s-1IP\s0 address or its host name
+(either fully qualified or using an unambiguous abbreviation). For
+details, see \fIvos\fR\|(1).
+.Sp
+This argument can be combined with the \fB\-partition\fR argument, as well as
+the \fB\-fast\fR, \fB\-long\fR, or \fB\-extended\fR flag.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition (on the file server machine specified by the
+\&\fB\-server\fR argument) that houses volumes for which to display the
+header. Provide the partition's complete name with preceding slash (for
+example, \fI/vicepa\fR) or use one of the three acceptable abbreviated
+forms. For details, see \fIvos\fR\|(1).
+.IP "\fB\-fast\fR" 4
+.IX Item "-fast"
+Displays only the volume \s-1ID\s0 numbers of volumes stored at the site
+specified by the \fB\-server\fR, and optionally \fB\-partition\fR, argument. Do
+not combine this flag with the \fB\-extended\fR flag.
+.IP "\fB\-long\fR" 4
+.IX Item "-long"
+Displays more detailed information about each volume stored at the site
+specified by the \fB\-server\fR, and optionally \fB\-partition\fR, argument. The
+information includes the volume IDs of all three volume types associated
+with the volume, and the read/write volume's quota, creation date and
+update date.
+.IP "\fB\-quiet\fR" 4
+.IX Item "-quiet"
+Suppresses the lines that summarize the number of volumes listed and their
+status, which otherwise appear at the beginning and end of the output when
+the output includes more than one volume.
+.IP "\fB\-extended\fR" 4
+.IX Item "-extended"
+Displays extensive statistics about access patterns for each volume stored
+at the site specified by the \fB\-server\fR, and optionally \fB\-partition\fR,
+argument. The statistics include the number of reads and writes to files
+in the volume, and how recently files and directories have been updated by
+their owners or other users. Do not combine this flag with the \fB\-fast\fR
+flag.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output is ordered alphabetically by volume name and by default
+provides the following information on a single line for each volume:
+.IP "\(bu" 4
+Name
+.IP "\(bu" 4
+Volume \s-1ID\s0 number
+.IP "\(bu" 4
+Type (the flag is \f(CW\*(C`RW\*(C'\fR for read/write, \f(CW\*(C`RO\*(C'\fR for read-only, \f(CW\*(C`BK\*(C'\fR for
+backup)
+.IP "\(bu" 4
+Size in kilobytes (\f(CW1024\fR equals a megabyte)
+.IP "\(bu" 4
+Number of files in the volume, if the \fB\-extended\fR flag is provided
+.IP "\(bu" 4
+Status on the file server machine, which is one of the following:
+.RS 4
+.IP "On-line" 4
+.IX Item "On-line"
+The volume is completely accessible to Cache Managers.
+.IP "Off-line" 4
+.IX Item "Off-line"
+The volume is not accessible to Cache Managers, but does not seem to be
+corrupted. This status appears while a volume is being dumped, for
+example.
+.IP "Off\-line**needs salvage**" 4
+.IX Item "Off-line**needs salvage**"
+The volume is not accessible to Cache Managers, because it seems to be
+corrupted. Use the \fBbos salvage\fR or \fBsalvager\fR command to repair the
+corruption.
+.RE
+.RS 4
+.RE
+.PP
+If the following message appears instead of the previously listed
+information, it indicates that a volume is not accessible to Cache
+Managers or the \fBvos\fR command interpreter, for example because a clone is
+being created.
+.PP
+.Vb 1
+\& **** Volume <volume_ID> is busy ****
+.Ve
+.PP
+If the following message appears instead of the previously listed
+information, it indicates that the File Server is unable to attach the
+volume, perhaps because it is seriously corrupted. The \fIFileLog\fR and
+\&\fIVolserLog\fR log files in the \fI/usr/afs/logs\fR directory on the file
+server machine possibly provide additional information; use the \fBbos
+getlog\fR command to display them.
+.PP
+.Vb 1
+\& **** Could not attach volume <volume_ID> ****
+.Ve
+.PP
+The information about individual volumes is bracketed by summary
+lines. The first line of output specifies the number of volumes in the
+listing. The last line of output summarizes the number of volumes that are
+online, offline, and busy. These lines do not appear if the \fB\-quiet\fR flag
+is used.
+.PP
+If the \fB\-fast\fR flag is added, the output displays only the volume \s-1ID\s0
+number of each volume, arranged in increasing numerical order. The final
+line (which summarizes the number of online, offline, and busy volumes) is
+omitted.
+.PP
+If the \fB\-long\fR flag is included, the output for each volume includes all
+of the information in the default listing plus the following. Each item in
+this list corresponds to a separate line of output:
+.IP "\(bu" 4
+The file server machine and partition that house the volume, as determined
+by the command interpreter as the command runs, rather than derived from the
+\&\s-1VLDB\s0 or the volume header.
+.IP "\(bu" 4
+The volume \s-1ID\s0 numbers associated with the various versions of the volume:
+read/write (\f(CW\*(C`RWrite\*(C'\fR), read-only (\f(CW\*(C`ROnly\*(C'\fR), backup (\f(CW\*(C`Backup\*(C'\fR), and
+ReleaseClone (\f(CW\*(C`RClone\*(C'\fR). One of them matches the volume \s-1ID\s0 number that
+appears on the first line of the volume's output. If the value in the
+\&\f(CW\*(C`RWrite\*(C'\fR, \f(CW\*(C`ROnly\*(C'\fR, or \f(CW\*(C`Backup\*(C'\fR field is \f(CW0\fR (zero), there is no volume
+of that type. If there is currently no ReleaseClone, the \f(CW\*(C`RClone\*(C'\fR field
+does not appear at all.
+.IP "\(bu" 4
+The maximum space quota allotted to the read/write copy of the volume,
+expressed in kilobyte blocks in the \f(CW\*(C`MaxQuota\*(C'\fR field.
+.IP "\(bu" 4
+The date and time the volume was created, in the \f(CW\*(C`Creation\*(C'\fR field. If the
+volume has been restored with the \fBbackup diskrestore\fR, \fBbackup
+volrestore\fR, or \fBvos restore\fR command, this is the restore time.
+.IP "\(bu" 4
+The date and time when the contents of the volume last changed, in the
+\&\f(CW\*(C`Last Update\*(C'\fR field. For read-only and backup volumes, it matches the
+timestamp in the \f(CW\*(C`Creation\*(C'\fR field.
+.IP "\(bu" 4
+The number of times the volume has been accessed for a fetch or store
+operation since the later of the two following times:
+.RS 4
+.IP "\(bu" 4
+12:00 a.m. on the day the command is issued
+.IP "\(bu" 4
+The last time the volume changed location
+.RE
+.RS 4
+.RE
+.PP
+If the \fB\-extended\fR flag is included, the output for each volume includes
+all of the information reported with the \fB\-long\fR flag, plus two tables of
+statistics:
+.IP "\(bu" 4
+The table labeled \f(CW\*(C`Raw Read/Write Stats\*(C'\fR table summarizes the number of
+times the volume has been accessed for reading or writing.
+.IP "\(bu" 4
+The table labeled \f(CW\*(C`Writes Affecting Authorship\*(C'\fR table contains
+information on writes made to files and directories in the specified
+volume.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output for the \fI/vicepb\fR partition on the
+file server machine \f(CW\*(C`fs2.abc.com\*(C'\fR when no flags are provided:
+.PP
+.Vb 9
+\& % vos listvol \-server fs2.abc.com \-partition b
+\& Total number of volumes on server fs2.abc.com partition /vicepb : 66
+\& sys 1969534847 RW 1582 K On\-line
+\& sys.backup 1969535105 BK 1582 K On\-line
+\& . . . . . .
+\& . . . . . .
+\& user.pat 1969534536 RW 17518 K On\-line
+\& user.pat.backup 1969534538 BK 17537 K On\-line
+\& Total volumes onLine 66 ; Total volumes offLine 0 ; Total busy 0
+.Ve
+.PP
+The following example shows the output when the \fB\-fast\fR flag is added:
+.PP
+.Vb 7
+\& % vos listvol \-server fs2.abc.com \-partition b \-fast
+\& Total number of volumes on server fs2.abc.com partition /vicepb : 66
+\& 1969516782
+\& 1969516784
+\& .
+\& .
+\& 1969535796
+.Ve
+.PP
+The following example shows two volumes from the output that appears when
+the \fB\-long\fR flag is added:
+.PP
+.Vb 10
+\& % vos listvol \-server fs2.abc.com \-partition b \-long
+\& Total number of volumes on server fs2.abc.com partition /vicepb: 66
+\& . . . . . .
+\& . . . . . .
+\& user.pat 1969534536 RW 17518 K On\-line
+\& fs2.abc.com /vicepb
+\& RWrite 1969534536 ROnly 0 Backup 1969534538
+\& MaxQuota 20000 K
+\& Creation Mon Jun 12 09:02:25 1989
+\& Last Update Thu May 20 17:39:34 1999
+\& 1573 accesses in the past day (i.e., vnode references)
+\& user.pat.backup 1969534538 BK 17537 K On\-line
+\& fs2.abc.com /vicepb
+\& RWrite 1969534536 ROnly 0 Backup 1969534538
+\& MaxQuota 20000 K
+\& Creation Tue Jun 13 04:37:59 1989
+\& Last Update Wed May 19 06:37:59 1999
+\& 0 accesses in the past day (i.e., vnode references)
+\& . . . . . .
+\& . . . . . .
+\& Total volumes onLine 66 ; Total volumes offLine 0 ; Total busy 0
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbos_salvage\fR\|(8),
+\&\fIsalvager\fR\|(8),
+\&\fIvos\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvldb\fR\|(1),
+\&\fIvos_restore\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_LOCK 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_LOCK 1"
++.TH VOS_LOCK 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_lock \- Locks a VLDB volume entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos lock\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos lo\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos lock\fR command locks the Volume Location Database (\s-1VLDB\s0) entry
+for the indicated volume, blocking any operation that requires a write to
+that entry. The lock applies to all of the volume versions associated with
+the entry, not just the one specified with the \fB\-id\fR argument.
+.PP
+To unlock a single \s-1VLDB\s0 entry, use the \fBvos unlock\fR command. To unlock
+several entries, or all locked entries in the \s-1VLDB\s0, use the \fBvos
+unlockvldb\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use this command in normal circumstances. It is useful for
+guaranteeing that the volume stays unchanged when there is reason to
+believe that volume operations cannot properly lock \s-1VLDB\s0 volume entries as
+they normally do to synchronize with one another.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a volume of the
+any of the three types.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command locks the \s-1VLDB\s0 entry for \f(CW\*(C`user.terry\*(C'\fR.
+.PP
+.Vb 1
+\& % vos lock user.terry
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_unlock\fR\|(1),
+\&\fIvos_unlockvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_MOVE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_MOVE 1"
++.TH VOS_MOVE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_move \- Moves a read/write volume to another site
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos move\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ \fB\-fromserver\fR\ <\fImachine\ name\ on\ source\fR>
+ \fB\-frompartition\fR\ <\fIpartition\ name\ on\ source\fR>
+ \fB\-toserver\fR\ <\fImachine\ name\ on\ destination\fR>
+ \fB\-topartition\fR\ <\fIpartition\ name\ on\ destination\fR>
+ [\fB\-live\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR]
+ [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos m\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ \fB\-froms\fR\ <\fImachine\ name\ on\ source\fR>
+ \fB\-fromp\fR\ <\fIpartition\ name\ on\ source\fR>
+ \fB\-tos\fR\ <\fImachine\ name\ on\ destination\fR>
+ \fB\-top\fR\ <\fIpartition\ name\ on\ destination\fR> [\fB\-li\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos move\fR command moves the indicated read/write volume from its
+current site (specified with the \fB\-fromserver\fR and \fB\-frompartition\fR
+arguments) to the destination site (specified with the \fB\-toserver\fR and
+\&\fB\-topartition\fR arguments). This command automatically removes the backup
+copy from the current site, if it exists. To create a new backup volume at
+the destination site, use the \fBvos backup\fR command.
+.PP
+This command works on read/write volumes only. To move a read-only volume,
+use the \fBvos addsite\fR and \fBvos release\fR commands to define a new
+read-only site and release the volume contents to it, and then use the
+\&\fBvos remove\fR command to remove the previous read-only volume's definition
+from the Volume Location Database (\s-1VLDB\s0) and data from the partition. To
+move a backup volume, use this command to move its read/write source and
+then issue the \fBvos backup\fR command.
+.PP
+Before executing this command, the \fBvos\fR command interpreter initiates a
+check that the destination partition contains enough space to house the
+volume being moved. If there is not enough space, the move operation is
+not attempted and the following message appears:
+.PP
+.Vb 1
+\& vos: no space on target partition <dest_part> to move volume <volume>
+.Ve
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Unless there is a compelling reason, do not interrupt a \fBvos move\fR
+command in progress. Interrupting a move can result in one or more of the
+following inconsistent states:
+.IP "\(bu" 4
+There are two versions of the volume, one at the source site and one at
+the destination site. (If this happens, retain the version identified by
+the \s-1VLDB\s0 and use the \fBvos zap\fR command to remove the other version.)
+.IP "\(bu" 4
+The backup version of the volume is stranded at the old site. (If this
+happens, use the \fBvos zap\fR command to remove it.)
+.IP "\(bu" 4
+The volume is off-line. (If this happens, run the \fBbos salvage\fR command
+to bring it back on line.)
+.PP
+If the Ctrl-C interrupt signal is pressed while a vos move operation is
+executing, the following message warns of the consequences and requests
+confirmation of the kill signal:
+.PP
+.Vb 3
+\& SIGINT handler: vos move operation in progress
+\& WARNING: may leave AFS storage and metadata in indeterminate state
+\& enter second control\-c to exit
+.Ve
+.PP
+To confirm termination of the operation, press Ctrl-C a second time; press
+any other key to continue the operation.
+.PP
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a read/write
+volume.
+.IP "\fB\-fromserver\fR <\fIserver name\fR>" 4
+.IX Item "-fromserver <server name>"
+Identifies the file server machine where the volume currently
+resides. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-frompartition\fR <\fIpartition name\fR>" 4
+.IX Item "-frompartition <partition name>"
+Names the partition where the volume currently resides. Provide the full
+partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms
+described in \fIvos\fR\|(1).
+.IP "\fB\-toserver\fR <\fIserver name\fR>" 4
+.IX Item "-toserver <server name>"
+Identifies the file server machine to which to move the volume. Provide
+the machine's \s-1IP\s0 address or its host name (either fully qualified or using
+an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "\fB\-topartition\fR <\fIpartition name\fR>" 4
+.IX Item "-topartition <partition name>"
+Names the partition to which to move the volume. Provide the full
+partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms
+described in \fIvos\fR\|(1).
+.IP "\fB\-live\fR" 4
+.IX Item "-live"
+Avoids making a temporary copy of the volume during the move. This is
+useful if the partition is full, but the administrator needs to move
+volumes to a another partition or server to free up disk space. The
+caveat is that the volume is locked during the entire operation
+instead of the short time that is needed to make the temporary clone.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example moves the volume \f(CW\*(C`user.smith\*(C'\fR from the \fI/vicepb\fR
+partition on the file server machine \f(CW\*(C`fs3.abc.com\*(C'\fR to the \fI/vicepg\fR
+partition on the file server machine \f(CW\*(C`fs7.abc.com\*(C'\fR.
+.PP
+.Vb 2
+\& % vos move \-id user.smith \-fromserver fs3.abc.com \-frompartition b \e
+\& \-toserver fs7.abc.com \-topartition g
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machines specified with the \fB\-toserver\fR and \fB\-fromserver\fR arguments and
+on each database server machine. If the \fB\-localauth\fR flag is included,
+the issuer must instead be logged on to a server machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_addsite\fR\|(1),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_copy\fR\|(1),
+\&\fIvos_release\fR\|(1),
+\&\fIvos_listvol\fR\|(1),
+\&\fIvos_remove\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_OFFLINE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_OFFLINE 1"
++.TH VOS_OFFLINE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_offline \- Takes a volume offline
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos offline\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-partition\fR\ <\fIpartition\ name\fR>
+ \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-unbless\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR]\ |\ \fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos offline\fR command takes a volume offline on the
+\&\fBfileserver\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Taking a volume offline that has existing
+callbacks will result in those callbacks being broken
+and clients not being able to access the volume.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Identifies the file server machine where the volume resides.
+Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition where the volume resides, on the
+file server machine named by the \fB\-server\fR argument. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the volume.
+.IP "\fB\-unbless\fR" 4
+.IX Item "-unbless"
+If the volume resides on a fileserver running as a \fIdafs\fR (Demand
+Attach File Server), then the volume may be marked as \fIblessed\fR or
+\&\fIunblessed\fR. A \fIdafs\fR server will not bring \fIunblessed\fR volumes
+online unless the \fB\-bless\fR option to vos_online is specified.
+See \fIvos_online\fR\|(1) for setting a volume to be \fIblessed\fR.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are
+not transmitted across the network in clear text.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example takes an online volume offline:
+.PP
+.Vb 1
+\& % vos offline \-server sv7.stateu.edu \-partition /vicepb \-id root.afs
+.Ve
+.PP
+The following example takes an online volume offline and marks it
+so that a \fBvos online\fR without \fB\-bless\fR will not bring it online:
+.PP
+.Vb 2
+\& % vos offline \-server sv7.stateu.edu \-partition /vicepb \-id root.afs \e
+\& \-unbless
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_online\fR\|(1),
+\&\fIbos_salvage\fR\|(8),
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This man page was created by Steven Jenkins.
--- /dev/null
- .TH VOS_ONLINE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_ONLINE 1"
++.TH VOS_ONLINE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_online \- Brings a volume online
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos online\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-partition\fR\ <\fIpartition\ name\fR>
+ \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-bless\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR]\ |\ \fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos online\fR command brings an offline volume on line with the
+\&\fBfileserver\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+None.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Identifies the file server machine where the volume resides.
+Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition where the volume resides, on the
+file server machine named by the \fB\-server\fR argument. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of the volume.
+.IP "\fB\-bless\fR" 4
+.IX Item "-bless"
+If the volume resides on a fileserver running as a \fIdafs\fR (Demand
+Attach File Server), then the volume may be marked as \fIblessed\fR or
+\&\fIunblessed\fR. A \fIdafs\fR server will not bring \fIunblessed\fR volumes
+online unless the \fB\-bless\fR option to vos_online is specified.
+See \fIvos_offline\fR\|(1) for setting a volume to be \fIunblessed\fR.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are
+not transmitted across the network in clear text.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example brings an offline volume online:
+.PP
+.Vb 1
+\& % vos online \-server sv7.stateu.edu \-partition /vicepb \-id root.afs
+.Ve
+.PP
+The following example brings an offline, unblessed volume online:
+.PP
+.Vb 1
+\& % vos online \-server sv7.stateu.edu \-partition /vicepb \-id root.afs \-bless
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_offline\fR\|(1),
+\&\fIbos_salvage\fR\|(8),
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This man page was created by Steven Jenkins.
--- /dev/null
- .TH VOS_PARTINFO 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_PARTINFO 1"
++.TH VOS_PARTINFO 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_partinfo \- Reports the available and total space on a partition
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos partinfo\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos p\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-p\fR\ <\fIpartition\ name\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The vos partinfo command reports the amount of space available and total
+size on either all of the partitions on the indicated file server machine
+(if the \fB\-partition\fR argument is omitted) or the specified partition on
+that file server machine. The Volume Location Database (\s-1VLDB\s0) is not
+consulted.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is also 2
+terabytes. The fileserver will not report an error when it has access
+to a partition larger than 2 terabytes, but it will probably fail if
+the administrator attempts to use more than 2 terabytes of space. In
+addition, there are reports of erroneous disk usage numbers when
+\&\fBvos partinfo\fR or other OpenAFS disk reporting tools are used with
+partitions larger than 2 terabytes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine for which to display partition
+information. Provide the machine's \s-1IP\s0 address or its host name (either
+fully qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies which partition on the file server machine specified by the
+\&\fB\-server\fR argument for which to display information. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The partition-related statistics in this command's output do not always
+agree with the corresponding values in the output of the standard \s-1UNIX\s0
+\&\fBdf\fR command. The statistics reported by this command can be up to five
+minutes old, because the Cache Manager polls the File Server for partition
+information at that frequency. Also, on some operating systems, the \fBdf\fR
+command's report of partition size includes reserved space not included in
+this command's calculation, and so is likely to be about 10% larger.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output reports the amount of space available and total space for each
+specified partition.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays all partitions on the file server machine
+\&\f(CW\*(C`fs2.abc.com\*(C'\fR.
+.PP
+.Vb 5
+\& % vos partinfo fs2.abc.com
+\& Free space on partition /vicepa: 27301 K blocks out of total 549197
+\& Free space on partition /vicepb: 13646 K blocks out of total 69194
+\& Free space on partition /vicepc: 31798 K blocks out of total 320315
+\& Free space on partition /vicepd: 33302 K blocks out of total 494954
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_listpart\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_RELEASE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_RELEASE 1"
++.TH VOS_RELEASE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_release \- Updates read\-only volumes to match the read/write source volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos release\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-f\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos rel\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-f\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos release\fR command copies the contents of the indicated read/write
+source volume to each read-only site defined in the source volume's Volume
+Location Database (\s-1VLDB\s0) entry. (Use the \fBvos addsite\fR command to define
+sites as necessary before issuing this command). Each read-only copy has
+the same name as read/write source with the addition of a \f(CW\*(C`.readonly\*(C'\fR
+extension.
+.PP
+For users to have a consistent view of the file system, the release of the
+new volume version must be atomic: either all read-only sites receive the
+new version, or all sites keep the version they currently have. The \fBvos
+release\fR command is designed to ensure that all copies of the volume's
+read-only version match both the read/write source and each other. In
+cases where problems such as machine or server process outages prevent
+successful completion of the release operation, \s-1AFS\s0 uses two mechanisms to
+alert the administrator.
+.PP
+First, the command interpreter generates an error message on the standard
+error stream naming each read-only site that did not receive the new
+volume version. Second, during the release operation the Volume Location
+(\s-1VL\s0) Server marks site definitions in the \s-1VLDB\s0 entry with flags (\f(CW\*(C`New
+release\*(C'\fR and \f(CW\*(C`Old release\*(C'\fR) that indicate whether or not the site has the
+new volume version. If any flags remain after the operation completes, it
+was not successful. The Cache Manager refuses to access a read-only site
+marked with the \f(CW\*(C`Old release\*(C'\fR flag, which potentially imposes a greater
+load on the sites marked with the \f(CW\*(C`New release\*(C'\fR flag. It is important to
+investigate and eliminate the cause of the failure and then to issue the
+\&\fBvos release\fR command as many times as necessary to complete the release
+without errors.
+.PP
+The pattern of site flags remaining in the volume's \s-1VLDB\s0 entry after a
+failed release operation can help determine the point at which the
+operation failed. Use the \fBvos examine\fR or \fBvos listvldb\fR command to
+display the \s-1VLDB\s0 entry. The \s-1VL\s0 Server sets the flags in concert with the
+Volume Server's operations, as follows:
+.IP "\(bu" 4
+Before the operation begins, the \s-1VL\s0 Server sets the \f(CW\*(C`New release\*(C'\fR flag on
+the read/write site definition in the \s-1VLDB\s0 entry and the \f(CW\*(C`Old release\*(C'\fR
+flag on read-only site definitions (unless the read-only site has been
+defined since the last release operation and has no actual volume, in
+which case its site flag remains \f(CW\*(C`Not released\*(C'\fR).
+.IP "\(bu" 4
+If necessary, the Volume Server creates a temporary copy (a \fIclone\fR) of
+the read/write source called the ReleaseClone (see the following
+discussion of when the Volume Server does or does not create a new
+ReleaseClone.) It assigns the ReleaseClone its own volume \s-1ID\s0 number, which
+the \s-1VL\s0 Server records in the \f(CW\*(C`RClone\*(C'\fR field of the source volume's \s-1VLDB\s0
+entry.
+.IP "\(bu" 4
+The Volume Server distributes a copy of the ReleaseClone to each read-only
+site defined in the \s-1VLDB\s0 entry. As the site successfully receives the new
+clone, the \s-1VL\s0 Server sets the site's flag in the \s-1VLDB\s0 entry to \f(CW\*(C`New
+release\*(C'\fR.
+.IP "\(bu" 4
+When all the read-only copies are successfully released, the \s-1VL\s0 Server
+clears all the \f(CW\*(C`New release\*(C'\fR site flags. The ReleaseClone is no longer
+needed, so the Volume Server deletes it and the \s-1VL\s0 Server erases its \s-1ID\s0
+from the \s-1VLDB\s0 entry.
+.PP
+By default, the Volume Server determines automatically whether or not it
+needs to create a new ReleaseClone:
+.IP "\(bu" 4
+If there are no flags (\f(CW\*(C`New release\*(C'\fR, \f(CW\*(C`Old release\*(C'\fR, or \f(CW\*(C`Not released\*(C'\fR)
+on site definitions in the \s-1VLDB\s0 entry, the previous \fBvos release\fR command
+completed successfully and all read-only sites currently have the same
+volume. The Volume Server infers that the current \fBvos release\fR command
+was issued because the read/write volume has changed. The Volume Server
+creates a new ReleaseClone and distributes it to all of the read-only
+sites.
+.IP "\(bu" 4
+If any site definition in the \s-1VLDB\s0 entry is marked with a flag, either the
+previous release operation did not complete successfully or a new
+read-only site was defined since the last release. The Volume Server does
+not create a new ReleaseClone, instead distributing the existing
+ReleaseClone to sites marked with the \f(CW\*(C`Old release\*(C'\fR or \f(CW\*(C`Not released\*(C'\fR
+flag. As previously noted, the \s-1VL\s0 Server marks each \s-1VLDB\s0 site definition
+with the \f(CW\*(C`New release\*(C'\fR flag as the site receives the ReleaseClone, and
+clears all flags after all sites successfully receive it.
+.PP
+To override the default behavior, forcing the Volume Server to create and
+release a new ReleaseClone to the read-only sites, include the \fB\-f\fR
+flag. This is appropriate if, for example, the data at the read/write site
+has changed since the existing ReleaseClone was created during the
+previous release operation.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or id\fR>" 4
+.IX Item "-id <volume name or id>"
+Specifies either the complete name or volume \s-1ID\s0 number of a read/write
+volume.
+.IP "\fB\-f\fR" 4
+.IX Item "-f"
+Creates a new ReleaseClone and distributes it all read-only sites
+regardless of whether or not any site definitions in the \s-1VLDB\s0 entry are
+marked with a flag.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command clones the read/write volume usr and releases it to
+the read-only sites defined in its \s-1VLDB\s0 entry.
+.PP
+.Vb 1
+\& % vos release usr
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_addsite\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_REMOVE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_REMOVE 1"
++.TH VOS_REMOVE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_remove \- Removes a volume from a site
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos remove\fR [\fB\-server\fR\ <\fImachine\ name\fR>]
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>]
+ \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos remo\fR [\fB\-s\fR\ <\fImachine\ name\fR>] [\fB\-p\fR\ <\fIpartition\ name\fR>]
+ \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos remove\fR command removes the indicated volume from the partition
+on which it resides. The Volume Location Database (\s-1VLDB\s0) record is altered
+appropriately, as described in the following paragraphs. Use this command
+to remove any of the three types of volumes; the effect depends on the
+type.
+.IP "\(bu" 4
+If the \fB\-id\fR argument names the read/write volume (that is, specifies the
+volume's base name), both it and the associated backup volume are removed
+from the partition that houses them. The \fB\-server\fR and \fB\-partition\fR
+arguments are optional, because there can be only one read/write
+site. When the volume is removed, the site information is also removed
+from the \s-1VLDB\s0 entry. The read/write and backup volume \s-1ID\s0 numbers no longer
+appear in the output from the \fBvos listvldb\fR or \fBvos examine\fR commands,
+but they are preserved internally. Read-only sites, if any, are not
+affected, but cannot be changed unless a read/write site is again
+defined. The site count reported by the \fBvos examine\fR and \fBvos listvldb\fR
+commands as \f(CW\*(C`number of sites\*(C'\fR decrements by one. The entire \s-1VLDB\s0 entry is
+removed if there are no read-only sites.
+.IP "\(bu" 4
+If the \fB\-id\fR argument names a read-only volume, it is removed from the
+partition that houses it, and the corresponding site information is
+removed from the \s-1VLDB\s0 entry. The site count reported by the \fBvos examine\fR
+and \fBvos listvldb\fR commands as \f(CW\*(C`number of sites\*(C'\fR decrements by one for
+each volume you remove. If there is more than one read-only site, the
+\&\fB\-server\fR argument (and optionally \fB\-partition\fR argument) must be used
+to specify the site from which to remove the volume. If there is only one
+read-only site, the \fB\-id\fR argument is sufficient; if there is also no
+read/write volume in this case, the entire \s-1VLDB\s0 entry is removed.
+.IP "\(bu" 4
+If the \fB\-id\fR argument names a backup volume, it is removed from the
+partition that houses it. The \fB\-server\fR and \fB\-partition\fR arguments are
+optional, because there can be only one backup site. The backup volume \s-1ID\s0
+number no longer appears in the output from the \fBvos listvldb\fR command or
+in the corresponding portion of the output from the \fBvos examine\fR
+command, but is preserved internally.
+.PP
+This command is the most appropriate one for removing volumes in almost
+all cases. Other commands that remove only volumes or only \s-1VLDB\s0 entries
+(such as the \fBvos delentry\fR, \fBvos remsite\fR and \fBvos zap\fR commands) by
+definition can put the volumes and \s-1VLDB\s0 out of sync. Use them only in the
+special circumstances mentioned on their reference pages. Like the \fBvos
+delentry\fR command, this command can remove a \s-1VLDB\s0 entry when no
+corresponding volumes exist on the file server machine. Like the \fBvos
+zap\fR command, this command can remove a volume that does not have a \s-1VLDB\s0
+entry, as long as the volume is online, \fB\-server\fR and \fB\-partition\fR
+arguments are provided, and the \fB\-id\fR argument specifies the volume's \s-1ID\s0
+number.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine that houses the volume to remove. It is
+necessary only when the \fB\-id\fR argument names a read-only volume that
+exists at multiple sites. Provide the machine's \s-1IP\s0 address or its host
+name (either fully qualified or using an unambiguous abbreviation). For
+details, see \fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition (on the file server machine specified by the
+\&\fB\-server\fR argument) that houses the volume to remove. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.Sp
+Including this argument is necessary only when the \fB\-id\fR argument names a
+read-only volume that exists at multiple sites. Provide the \fB\-server\fR
+argument along with this one.
+.IP "\fB\-id\fR <\fIvolume name or id\fR>" 4
+.IX Item "-id <volume name or id>"
+Identifies the volume to remove, either by its complete name or volume \s-1ID\s0
+number. If identifying a read-only or backup volume by name, include the
+appropriate extension (\f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example removes the read/write volume \f(CW\*(C`user.terry\*(C'\fR and its
+backup version, if any.
+.PP
+.Vb 1
+\& % vos remove \-id user.terry
+.Ve
+.PP
+The following example removes the read-only volume \f(CW\*(C`root.afs.readonly\*(C'\fR
+from one of its sites, the \fI/vicepa\fR partition on the file server machine
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % vos remove fs1.abc.com a root.afs.readonly
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_delentry\fR\|(1),
+\&\fIvos_remsite\fR\|(1),
+\&\fIvos_zap\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_REMSITE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_REMSITE 1"
++.TH VOS_REMSITE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_remsite \- Removes a read\-only site definition from a VLDB entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos remsite\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-partition\fR\ <\fIpartition\ name\fR> \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos rems\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-p\fR\ <\fIpartition\ name\fR>
+ \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos remsite\fR command removes the read-only replication site
+specified by the \fB\-machine\fR and \fB\-partition\fR arguments from the Volume
+Location Database (\s-1VLDB\s0) entry for the indicated volume, which is
+read/write.
+.PP
+This command is useful for removing read-only sites that were mistakenly
+created with the \fBvos addsite\fR command, before the \fBvos release\fR command
+actually releases them. If a read-only copy already exists at the site, it
+is not affected. However, if this read-only site was the last site housing
+any version of the volume, then the entire \s-1VLDB\s0 entry is removed, even if
+a copy of the read-only version still actually exists at the site. The \s-1VL\s0
+Server does not correct the discrepancy until the \fBvos syncserv\fR and
+\&\fBvos syncvldb\fR commands are run.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use this command as the standard way to remove a read-only volume,
+because it can create a discrepancy between the \s-1VLDB\s0 and the volumes on
+file server machines. Use the \fBvos remove\fR command instead.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Specifies the file server machine portion of the site definition to
+remove. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Specifies the partition name portion of the site definition to
+remove. Provide the partition's complete name with preceding slash (for
+example, \f(CW\*(C`/vicepa\*(C'\fR) or use one of the three acceptable abbreviated
+forms. For details, see \fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume name or id\fR>" 4
+.IX Item "-id <volume name or id>"
+Specifies either the complete name or volume \s-1ID\s0 number of the read/write
+volume to remove.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the mistakenly defined read-only site
+\&\fI/viceph\fR on the file server machine \f(CW\*(C`fs5.abc.com\*(C'\fR from the \s-1VLDB\s0 entry
+for the volume \f(CW\*(C`root.cell\*(C'\fR.
+.PP
+.Vb 1
+\& % vos remsite \-server fs5.abc.com \-partition h \-id root.cell
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_delentry\fR\|(1),
+\&\fIvos_remove\fR\|(1),
+\&\fIvos_zap\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_RENAME 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_RENAME 1"
++.TH VOS_RENAME 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_rename \- Renames a volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos rename\fR \fB\-oldname\fR\ <\fIold\ volume\ name\fR>
+ \fB\-newname\fR\ <\fInew\ volume\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos ren\fR \fB\-o\fR\ <\fIold\ volume\ name\fR> \fB\-ne\fR\ <\fInew\ volume\ name\fR>
+ [\-c <\fIcell name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos rename\fR command changes the name of the read/write volume
+specified with the \fB\-oldname\fR argument to the name specified with the
+\&\fB\-newname\fR argument. The names of the read/write's read-only copies and
+backup copy, if any, change automatically to match.
+.PP
+After issuing this command, remember to correct any mount points that
+refer to the old volume name, by removing the old mount point with the
+\&\fBfs rmmount\fR command and creating a new one with the \fBfs mkmount\fR
+command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-oldname\fR <\fIold volume name\fR>" 4
+.IX Item "-oldname <old volume name>"
+Is the current name of the read/write volume.
+.IP "\fB\-newname\fR <\fInew volume name\fR>" 4
+.IX Item "-newname <new volume name>"
+Is the desired new name for the volume.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The \fBvos rename\fR command produces no output if the command succeeds.
+.PP
+If the volume named by the \fB\-oldname\fR argument does not exist, the
+following message appears:
+.PP
+.Vb 1
+\& vos: Could not find entry for volume <old volume name>.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example changes the mistaken volume name \f(CW\*(C`sun4x_56.afsws\*(C'\fR
+to the correct alternative \f(CW\*(C`sun4x_56.usr.afsws\*(C'\fR.
+.PP
+.Vb 1
+\& % vos rename \-oldname sun4x_56.afsws \-newname sun4x_56.usr.afsws
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_RESTORE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_RESTORE 1"
++.TH VOS_RESTORE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_restore \- Converts an ASCII dump file into an AFS volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos restore\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-partition\fR\ <\fIpartition\ name\fR>
+ \fB\-name\fR\ <\fIname\ of\ volume\ to\ be\ restored\fR> [\fB\-file\fR\ <\fIdump\ file\fR>]
+ [\fB\-id\fR\ <\fIvolume\ \s-1ID\s0\fR>] [\fB\-overwrite\fR\ (abort\ |\ full\ |\ incremental)]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\-verbose]
+ [\fB\-help\fR]
+.PP
+\&\fBvos res\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-p\fR\ <\fIpartition\ name\fR>
+ \fB\-na\fR\ <\fIname\ of\ volume\ to\ be\ restored\fR> [\fB\-f\fR\ <\fIdump\ file\fR>]
+ [\fB\-i\fR\ <\fIvolume\ \s-1ID\s0\fR>] [\fB\-o\fR\ (a\ |\ f\ |\ i)] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-no\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos restore\fR command converts a volume dump file previously created
+with the \fBvos dump\fR command from \s-1ASCII\s0 into the volume format appropriate
+for the machine type indicated by the \fB\-server\fR argument, and restores it
+as a read/write volume to the partition named by the \fB\-partition\fR
+argument on that machine. The Volume Server assigns the volume name
+indicated with the \fB\-name\fR argument, and resets the volume's creation
+timestamp to the time at which the restore operation begins (the creation
+timestamp is stored in the volume header and reported in the \f(CW\*(C`Creation\*(C'\fR
+field in the output from the \fBvos examine\fR and \fBvos listvol\fR commands.)
+.PP
+Use the \fB\-file\fR argument to name the dump file, or omit the argument to
+provide the file via the standard input stream, presumably through a
+pipe. The pipe can be named, which enables interoperation with third-party
+backup utilities.
+.PP
+As described in the following list, the command can create a completely
+new volume or overwrite an existing volume. In all cases, the full dump of
+the volume must be restored before any incremental dumps. If there are
+multiple incremental dump files, they must be restored in the order they
+were created.
+.IP "\(bu" 4
+To create a new read/write volume, use the \fB\-name\fR argument to specify a
+volume name that does not already exist in the Volume Location Database
+(\s-1VLDB\s0), and the \fB\-server\fR and \fB\-partition\fR arguments to specify the new
+volume's site. It is best to omit the \fB\-id\fR argument so that the Volume
+Location (\s-1VL\s0) Server allocates a volume \s-1ID\s0 automatically. Do not include
+the \fB\-overwrite\fR argument, because there is no existing volume to
+overwrite.
+.IP "\(bu" 4
+To overwrite an existing volume at its current site, specify its name and
+site with the \fB\-name\fR, \fB\-server\fR, and \fB\-partition\fR arguments. The
+volume retains its current volume \s-1ID\s0 number unless the \fB\-id\fR argument is
+provided. Specify the value \f(CW\*(C`f\*(C'\fR or \f(CW\*(C`i\*(C'\fR for the \fB\-overwrite\fR argument to
+indicate whether the dump file is full or incremental, respectively.
+.IP "\(bu" 4
+To overwrite an existing volume and move it to a new site, specify its
+name and the new site with the \fB\-name\fR, \fB\-server\fR, and \fB\-partition\fR
+arguments. The volume retains its current volume \s-1ID\s0 number unless the
+\&\fB\-id\fR argument is provided. The volume is removed from its original
+site. Specify the value \f(CW\*(C`f\*(C'\fR for the \fB\-overwrite\fR argument to indicate
+that the dump file is a full dump (it is not possible to restore an
+incremental dump and move the volume at the same time).
+.PP
+If the volume named by the \fB\-name\fR argument already exists and the
+\&\fB\-overwrite\fR argument is omitted, the command interpreter produces the
+following prompt:
+.PP
+.Vb 1
+\& Do you want to do a full/incremental restore or abort? [fia](a):
+.Ve
+.PP
+Respond by entering one of the following values:
+.IP "\(bu" 4
+\&\f(CW\*(C`f\*(C'\fR if restoring a full dump file
+.IP "\(bu" 4
+\&\f(CW\*(C`i\*(C'\fR if restoring an incremental dump file
+.IP "\(bu" 4
+\&\f(CW\*(C`a\*(C'\fR or Return to cancel the restore operation
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If the \fB\-file\fR argument is omitted, the issuer must provide all other
+necessary arguments, because the standard input stream is unavailable for
+responding to the command interpreter's prompts for missing
+information. In particular, the issuer must provide the \fB\-overwrite\fR
+argument if overwriting an existing volume.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine onto which to restore the
+volume. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition (on the file server machine specified by the
+\&\fB\-server\fR argument) onto which to restore the volume. Provide the
+partition's complete name with preceding slash (for example, \fI/vicepa\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-name\fR <\fIname of volume\fR>" 4
+.IX Item "-name <name of volume>"
+Specifies the name under which to restore the volume. It can be up to 22
+characters long, but cannot end with a \f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR
+extension. If the volume already exists, it is overwritten subject to the
+value of the \fB\-overwrite\fR argument.
+.IP "\fB\-file\fR <\fIdump file\fR>" 4
+.IX Item "-file <dump file>"
+Names the dump file to restore. Incomplete pathnames are interpreted
+relative to the current working directory. Omit this argument to provide
+the dump file via the standard input stream.
+.IP "\fB\-id\fR <\fIvolume \s-1ID\s0\fR>" 4
+.IX Item "-id <volume ID>"
+Specifies the volume \s-1ID\s0 number to assign to the restored volume.
+.IP "\fB\-overwrite\fR (a | f | i)" 4
+.IX Item "-overwrite (a | f | i)"
+Specifies which type of dump file is being restored when overwriting an
+existing volume. Provide one of the following values:
+.RS 4
+.IP "\(bu" 4
+\&\f(CW\*(C`a\*(C'\fR to terminate the restore operation.
+.IP "\(bu" 4
+\&\f(CW\*(C`f\*(C'\fR if restoring a full dump file.
+.IP "\(bu" 4
+\&\f(CW\*(C`i\*(C'\fR if restoring an incremental dump file. This value is not acceptable
+if the \fB\-server\fR and \fB\-partition\fR arguments do not indicate the volume's
+current site.
+.RE
+.RS 4
+.Sp
+This argument is mandatory if the \fB\-file\fR argument is not provided.
+.RE
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command restores the contents of the dump file
+\&\fI/afs/abc.com/common/dumps/terry.dump\fR to the \fI/vicepc\fR partition on the
+file server machine \f(CW\*(C`fs3.abc.com\*(C'\fR. The restored volume is named
+\&\f(CW\*(C`user.terry\*(C'\fR.
+.PP
+.Vb 3
+\& % cd /afs/abc.com/common/dumps
+\& % vos restore \-file terry.dump \-server fs3.abc.com \-partition c \e
+\& \-name user.terry
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIrestorevol\fR\|(8),
+\&\fIvos\fR\|(1),
+\&\fIvos_dump\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvol\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_SETFIELDS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_SETFIELDS 1"
++.TH VOS_SETFIELDS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_setfields \- Sets the quota or clear the access counter on a volume.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos setfields\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ \fB\-maxquota\fR\ <\fIquota\ (\s-1KB\s0)\fR> [\fB\-clearuse\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-encrypt\fR] [b<\-noresolve>] [\fB\-help\fR]
+.PP
+\&\fBvos se\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>
+ \fB\-maxquota\fR\ <\fIquota\ (\s-1KB\s0)\fR> [\fB\-clearuse\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-verbose\fR] [\fB\-encrypt\fR] [b<\-noresolve>] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos setfields\fR command can set the quota on a volume, and it can
+clear the access counter on a volume. This command differs from
+\&\fBfs setquota\fR because only the volume name is needed to set the quota,
+whereas the path to the volume is needed with \fBfs setquota\fR.
+.PP
+If the \fB\-maxquota\fR and \fB\-clearuse\fR flags are missing, then no action is
+taken.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is not effective on read-only or backup volumes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or id\fR>" 4
+.IX Item "-id <volume name or id>"
+Identifies the volume on which to operate, either by its complete name or
+volume \s-1ID\s0 number.
+.IP "\fB\-maxquota\fR <\fIcell name\fR>" 4
+.IX Item "-maxquota <cell name>"
+Sets the maximum amount of file server disk space the volume can
+occupy. Specify the number of one-kilobyte blocks as a positive integer
+(\f(CW1024\fR is one megabyte). A value of \f(CW0\fR sets an unlimited quota, but
+the size of the disk partition that houses the volume places an absolute
+limit on the volume's size.
+.IP "\fB\-clearuse\fR" 4
+.IX Item "-clearuse"
+Clears the access counter on a volumes, which is shown as \f(CW\*(C`X accesses in
+the past day (i.e., vnode references)\*(C'\fR in the \fBvos examine\fR output.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are not transmitted
+across the network in clear text.
+.IP "\fB\-noresolve\fR" 4
+.IX Item "-noresolve"
+Shows all servers as \s-1IP\s0 addresses instead of the \s-1DNS\s0 name. This is very
+useful when the server address is registered as 127.0.0.1 or when dealing
+with multi-homed servers. The \fB\-noresolve\fR option is available in OpenAFS
+versions 1.4.8 or later and 1.5.35 or later.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command produces no output other than error messages.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+To set a 123KB quota on the root.cell volume, the following command may be
+used:
+.PP
+.Vb 1
+\& % vos setfields \-id root.cell \-maxquota 123
+.Ve
+.PP
+To clear the access counter on the root.cell volume, use the following
+command:
+.PP
+.Vb 1
+\& % vos setfields \-id root.cell \-clearuse
+.Ve
+.PP
+The above commands may be combined as follows:
+.PP
+.Vb 1
+\& % vos setfields \-id root.cell \-maxquota 123 \-clearuse
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_setquota\fR\|(1),
+\&\fIvos\fR\|(1),
+\&\fIvos_examine\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2009 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_SHADOW 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_SHADOW 1"
++.TH VOS_SHADOW 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_shadow \- Creates a shadow copy of a volume on a different server/partition
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos shadow\fR [\fB\-id\fR]\ <\fIvolume\ name\ or\ \s-1ID\s0\ on\ source\fR>
+ [\fB\-fromserver\fR]\ <\fImachine\ name\ on\ source\fR>
+ [\fB\-frompartition\fR]\ <\fIpartition\ name\ on\ source\fR>
+ [\fB\-toserver\fR]\ <\fImachine\ name\ on\ destination\fR>
+ [\fB\-topartition\fR]\ <\fIpartition\ name\ on\ destination\fR>
+ [\fB\-toname\fR\ <\fIvolume\ name\ on\ destination\fR>]
+ [\fB\-toid\fR\ <\fIvolume\ \s-1ID\s0\ on\ destination\fR>] [\fB\-offline\fR] [\fB\-readonly\fR]
+ [\fB\-live\fR] [\fB\-incremental\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR]
+ [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos shadow\fR command creates a shadow copy of a volume on a
+different partition or server.
+.PP
+A shadow volume is a copy of a volume that does not normally appear in
+the volume location database (\s-1VLDB\s0). It is a primitive operation that
+is meant to be used in backup or disaster recovery situations.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is not used during normal OpenAFS administration and may
+have adverse effects on the \s-1VLDB\s0 if not used properly! This command
+should only be used by an expert.
+.PP
+Using this command on a volume when the source volume is not the same
+as parent volume used to create the shadow will leave the destination
+volume in a unknown state.
+.PP
+Do \s-1NOT\s0 run the \fBvos syncserv\fR or \fBvos syncvldb\fR on any fileserver
+containing shadow volumes. This would update the \s-1VLDB\s0 to show all
+shadowed Read/Write volumes instead of the source volumes from which
+they were copied.
+.PP
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fB\-id\fR] <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "[-id] <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a read/write
+volume.
+.IP "[\fB\-fromserver\fR] <\fImachine name for source\fR>" 4
+.IX Item "[-fromserver] <machine name for source>"
+Identifies the file server machine where the source volume resides. Provide
+the machine's \s-1IP\s0 address or its host name (either fully qualified or using
+an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "[\fB\-frompartition\fR] <\fIpartition name for source\fR>" 4
+.IX Item "[-frompartition] <partition name for source>"
+Names the partition where the source volume resides. Provide the full
+partition name (for, example, \fB/vicepa\fR) or one of the abbreviated forms
+described in \fIvos\fR\|(1).
+.IP "[\fB\-toserver\fR] <\fImachine name for destination\fR>" 4
+.IX Item "[-toserver] <machine name for destination>"
+Identifies the file server machine to which to copy the volume. Provide
+the machine's \s-1IP\s0 address or its host name (either fully qualified or using
+an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "[\fB\-topartition\fR] <\fIpartition name for destination\fR>" 4
+.IX Item "[-topartition] <partition name for destination>"
+Names the partition to which to copy the volume. Provide the full partition
+name (for, example, \fB/vicepa\fR) or one of the abbreviated forms described in
+\&\fIvos\fR\|(1).
+.IP "\fB\-toname\fR <\fIvolume name for new copy\fR>" 4
+.IX Item "-toname <volume name for new copy>"
+The complete name of the new volume to create.
+.IP "\fB\-offline\fR" 4
+.IX Item "-offline"
+Leaves the new volume flagged as off-line in the volume database.
+.IP "\fB\-readonly\fR" 4
+.IX Item "-readonly"
+Flags the new volume as read-only in the volume database.
+.IP "\fB\-live\fR" 4
+.IX Item "-live"
+Copies the live volume without cloning. This is normally not necessary and
+causes the volume to be kept locked for longer than the normal copy
+mechanism.
+.IP "\fB\-incremental\fR" 4
+.IX Item "-incremental"
+Copy the changes from the source volume to a previously created shadow
+volume.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents
+it to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypts the command so that the operation's results are not transmitted
+across the network in clear text.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+This command has no output unless \f(CW\*(C`\-verbose\*(C'\fR is specified or there is
+an error.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machines specified with the \fB\-toserver\fR and \fB\-fromserver\fR arguments and
+on each database server machine. If the \fB\-localauth\fR flag is included,
+the issuer must instead be logged on to a server machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_copy\fR\|(1),
+\&\fIvos_move\fR\|(1)
+.PP
+<http://www.openafs.org/pipermail/openafs\-info/2005\-July/018469.html>
+discusses motivation for the creation of this command.
+.PP
+<http://workshop.openafs.org/afsbpw06/talks/drh.scs.html> discusses
+one possible use for it.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_SIZE 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_SIZE 1"
++.TH VOS_SIZE 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_size \- Computes the size of a volume dump
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos size\fR [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-dump\fR]
+ [\fB\-encrypt\fR] [\fB\-help\fR] [\fB\-id\fR] <\fIvolume name or id\fR>
+ [\fB\-localauth\fR] [\fB\-noauth\fR]
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>]
+ [\fB\-server\fR\ <\fImachine\ name\fR>]
+ [\fB\-time\fR\ <\fIdump\ from\ time\fR>] [\fB\-verbose\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos size\fR command shows the size of a volume's dump for backup
+purposes. The size of the dump may differ from the volume size as reported
+by \fBvos examine\fR or \fBfs listquota\fR. The size is shown in bytes.
+.PP
+This command is intended for use with backup systems that want to size
+volume dumps before performing them (to optimize use of tape resources,
+for example).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+The cell in which the volume resides, if it's not in the current cell.
+.IP "\fB\-dump\fR" 4
+.IX Item "-dump"
+Show the size of the volume dump for the specified volume. Currently, this
+flag should always be given for \fBvos size\fR to give useful information.
+It is present to allow this command to provide other size estimates in the
+future.
+.IP "\fB\-encrypt\fR" 4
+.IX Item "-encrypt"
+Encrypt the command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.IP "\fB\-id\fR <\fIvolume name or id\fR>" 4
+.IX Item "-id <volume name or id>"
+Specifies either the complete name or volume \s-1ID\s0 number of the read/write,
+read-only, or backup volume to size.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Specifies the partition on which the volume resides. Provide the
+\&\fB\-server\fR argument along with this one.
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Specifies the file server machine on which the volume resides. Provide
+the \fB\-partition\fR argument along with this one.
+.IP "\fB\-time\fR <\fIdump from time\fR>" 4
+.IX Item "-time <dump from time>"
+Specifies whether the dump is full or incremental. Omit this argument to
+size a full dump. See \fIvos_dump\fR\|(1) for the valid values for this
+option.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Show more output about what's going on.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+When run without \fB\-verbose\fR, the output will be:
+.PP
+.Vb 2
+\& Volume: <volume>
+\& dump_size: <size>
+.Ve
+.PP
+where <volume> is the name of the volume and <size> is the size of the
+dump in bytes. With \fB\-verbose\fR, additional status messages will be
+printed between those two lines.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Sizing a single user volume:
+.PP
+.Vb 3
+\& % vos size user.thoron \-dump
+\& Volume: user.thoron
+\& dump_size: 36430
+.Ve
+.PP
+or, more verbosely:
+.PP
+.Vb 6
+\& % vos size user.thoron \-dump \-verbose
+\& Volume: user.thoron
+\& Starting transaction on volume 2003434023... done
+\& Getting size of volume on volume 2003434023... done
+\& Ending transaction on volume 2003434023... done
+\& dump_size: 36430
+.Ve
+.PP
+Sizing an incremental dump for the same volume:
+.PP
+.Vb 3
+\& % vos size \-id user.thoron \-time \*(Aq05/04/2007 00:00:00\*(Aq \-dump
+\& Volume: user.thoron
+\& dump_size: 21095
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument or the machine on which the
+volume is located if \fB\-server\fR was not given. If the \fB\-localauth\fR flag
+is included, the issuer must instead be logged on to a server machine as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_listquota\fR\|(1),
+\&\fIvos_dump\fR\|(1),
+\&\fIvos_examine\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VOS_STATUS 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_STATUS 1"
++.TH VOS_STATUS 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_status \- Reports a Volume Server's status
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos status\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos st\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos status\fR command reports on what the Volume Server on a certain
+file server machine is doing at the moment the command is issued. If there
+is no activity, the following message appears:
+.PP
+.Vb 1
+\& No active transactions on <machine_name>
+.Ve
+.PP
+This command is useful mainly if there is concern that the Volume Server
+is not performing requested actions.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine running the Volume Server for which to
+display status information. Provide the machine's \s-1IP\s0 address or its host
+name (either fully qualified or using an unambiguous abbreviation). For
+details, see \fIvos\fR\|(1).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+There are two possible types of output.
+.PP
+The following message indicates that the Volume Server is not currently
+performing any actions.
+.PP
+.Vb 1
+\& No active transactions on I<machine name>
+.Ve
+.PP
+The other possible output is a set of information which is probably more
+useful to programmers than to system administrators. A full understanding
+of all the fields requires familiarity with the code for the Volume
+Server, as many of the fields report \s-1ID\s0 numbers and flag values that the
+Volume Server sets for internal use.
+.PP
+Among the fields of possible interest to an administrator are:
+.IP "\(bu" 4
+\&\f(CW\*(C`created\*(C'\fR on the first line, which indicates the time at which this
+transaction started
+.IP "\(bu" 4
+\&\f(CW\*(C`attachFlags\*(C'\fR on the second line, where a value of \f(CW\*(C`offline\*(C'\fR indicates
+that the volume is not available for other read or write operations during
+this transaction
+.IP "\(bu" 4
+\&\f(CW\*(C`volume\*(C'\fR on the third line, which specifies the affected volume's \s-1ID\s0
+number
+.IP "\(bu" 4
+\&\f(CW\*(C`partition\*(C'\fR on the third line, which indicates where the affected volume
+resides (at the beginning of the transaction if this is a move)
+.IP "\(bu" 4
+\&\f(CW\*(C`procedure\*(C'\fR on the third line, which indicates the internal subprocedure
+being executed
+.PP
+A fourth line can appear during certain transactions, and includes the
+following fields:
+.IP "\(bu" 4
+\&\f(CW\*(C`packetRead\*(C'\fR tracks whether information is being read into the
+volume. Its absolute value is not informative, but the way it changes
+shows whether the \fBvos restore\fR command is executing properly. As the
+\&\fBvos status\fR command is issued repeatedly during a restore, \f(CW\*(C`readNext\*(C'\fR
+increases monotonically to indicate that information is being read into
+the volume.
+.IP "\(bu" 4
+\&\f(CW\*(C`packetSend\*(C'\fR tracks whether information is being sent out of the
+volume. Its absolute value is not informative, but the way it changes
+shows whether the \fBvos dump\fR command is executing properly. As the \fBvos
+status\fR command is issued repeatedly during a dump, \f(CW\*(C`transmitNext\*(C'\fR
+increases monotonically to indicate that information is being transferred
+from the volume into the dump file.
+.PP
+The \f(CW\*(C`lastReceiveTime\*(C'\fR and \f(CW\*(C`lastSendTime\*(C'\fR are for internal use.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example illustrates the kind of output that sometimes
+appears when the Volume Server on \f(CW\*(C`fs1.abc.com\*(C'\fR is executing a dump at
+the time this command is issued.
+.PP
+.Vb 8
+\& % vos status fs1.abc.com
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\& transaction: 575 created: Tue Jan 2 8:34:56 1990
+\& attachFlags: offline
+\& volume: 536871080 partition: /vicepb procedure: Dump
+\& packetRead: 2 lastReceiveTime: 113313 packetSend: 24588
+\& lastSendTime: 113317
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_SYNCSERV 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_SYNCSERV 1"
++.TH VOS_SYNCSERV 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_syncserv \- Verifies VLDB entries that mention a specified site
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos syncserv\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-dryrun\fR] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos syncs\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-p\fR\ <\fIpartition\ name\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-d\fR] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos syncserv\fR command verifies that each volume mentioned in a \s-1VLDB\s0
+entry actually exists at the site indicated in the entry. It checks all
+\&\s-1VLDB\s0 entries that mention a read/write, read-only, or backup site either
+on any partition on the file server machine specified by the \fB\-server\fR
+argument, or on the one partition specified by the \fB\-server\fR and
+\&\fB\-partition\fR arguments. Note that the command can end up inspecting sites
+other than those specified by the \fB\-server\fR and \fB\-partition\fR arguments,
+if there are versions of the volume at sites other than the one specified.
+.PP
+The command alters any incorrect information in the \s-1VLDB\s0, unless there is
+an irreconcilable conflict with other \s-1VLDB\s0 entries. In that case, it
+writes a message to the standard error stream instead. The command never
+removes volumes from file server machines.
+.PP
+To achieve complete \s-1VLDB\s0 consistency, first run the \fBvos syncvldb\fR
+command on all file server machines in the cell, then run this command on
+all file server machines in the cell.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine mentioned in each \s-1VLDB\s0 entry to
+check. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition mentioned in each \s-1VLDB\s0 entry to check. Provide
+the partition's complete name with preceding slash (for example,
+\&\f(CW\*(C`/vicepa\*(C'\fR) or use one of the three acceptable abbreviated forms. For
+details, see \fIvos\fR\|(1).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Show the actions which would be taken, but do not make changes.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example verifies the \s-1VLDB\s0 entries in which a site definition
+mentions the file server machine \f(CW\*(C`fs3.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % vos syncserv \-server fs3.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_syncvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_SYNCVLDB 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_SYNCVLDB 1"
++.TH VOS_SYNCVLDB 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_syncvldb \- Verifies VLDB entries for volumes residing at specified site
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos syncvldb\fR [\fB\-server\fR\ <\fImachine\ name\fR>]
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>] [\fB\-volume\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-dryrun\fR] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos syncv\fR [\fB\-s\fR\ <\fImachine\ name\fR>] [\fB\-p\fR\ <\fIpartition\ name\fR>]
+ [\fB\-vo\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-d\fR] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-ve\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos syncvldb\fR command verifies that the status of the volumes housed
+either on all partitions on the file server machine specified by the
+\&\fB\-server\fR argument, or on the single partition specified by the
+\&\fB\-server\fR and \fB\-partition\fR arguments, is recorded correctly in the
+\&\s-1VLDB\s0. If the \fB\-volume\fR argument is included to indicate a single volume,
+the command compares only its status on the file server machine with its
+\&\s-1VLDB\s0 entry.
+.PP
+If the \fB\-volume\fR argument is not included, the command interpreter
+obtains from the Volume Server a list of the volumes that reside on each
+partition, then changes information in the \s-1VLDB\s0 as necessary to reflect
+their state on the partition. For example, it creates or updates a \s-1VLDB\s0
+entry when it finds a volume for which the \s-1VLDB\s0 entry is missing or
+incomplete. However, if there is already a \s-1VLDB\s0 entry that defines a
+different location for the volume, or there are irreconcilable conflicts
+with other \s-1VLDB\s0 entries, it instead writes a message about the conflict to
+the standard error stream. The command never removes volumes from the file
+server machine.
+.PP
+To achieve complete \s-1VLDB\s0 consistency, run this command on all file server
+machines in the cell, and then run the \fBvos syncserv\fR command on all file
+server machines in the cell.
+.PP
+Using the \fB\-volume\fR argument basically combines the effects of this
+command with those of the \fBvos syncserv\fR command, for a single
+volume. The command not only verifies that the \s-1VLDB\s0 entry is correct for
+the specified volume type (read/write, backup, or read-only), but also
+checks that any related volume types mentioned in the \s-1VLDB\s0 entry actually
+exist at the site listed in the entry. It is not necessary to provide the
+\&\fB\-server\fR argument (and optionally, \fB\-partition\fR argument); if one or
+both is provided, the results are reliable only if they specify the actual
+location of the volume indicated by the \fB\-volume\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine housing the volumes for which to verify
+\&\s-1VLDB\s0 entries. Provide the machine's \s-1IP\s0 address or its host name (either
+fully qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition housing the volumes for which to verify \s-1VLDB\s0
+entries. Provide the \fB\-server\fR argument along with this one. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-volume\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-volume <volume name or ID>"
+Specifies the name or volume \s-1ID\s0 number of a single volume for which to
+verify the \s-1VLDB\s0 entry. This argument can be combined with the \fB\-server\fR
+(and optionally, the \fB\-partition\fR) argument.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Show the actions which would be taken, but do not make changes.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command verifies the \s-1VLDB\s0 entry for each volume
+stored on the file server machine \f(CW\*(C`fs4.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % vos syncvldb fs4.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_syncserv\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_UNLOCK 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_UNLOCK 1"
++.TH VOS_UNLOCK 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_unlock \- Unlocks a single VLDB entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos unlock\fR \fB\-id\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos unlock\fR \fB\-i\fR\ <\fIvolume\ name\ or\ \s-1ID\s0\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos unlock\fR command releases the lock on the Volume Location
+Database (\s-1VLDB\s0) entry for the indicated volume.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not user this command under normal circumstances.
+.PP
+It is useful if the \s-1VLDB\s0 entry is locked but there is no reason to suspect
+inconsistency within the volume or between it and the \s-1VLDB\s0. Note that it
+is possible to list information from locked \s-1VLDB\s0 entries, even though they
+cannot be manipulated in other ways.
+.PP
+The \fBvos unlockvldb\fR command unlocks several \s-1VLDB\s0 entries at once, or
+even the entire \s-1VLDB\s0. The \fBvos lock\fR command locks a \s-1VLDB\s0 entry so that
+no one else can perform an action that requires writing the \s-1VLDB\s0.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+.IX Item "-id <volume name or ID>"
+Specifies either the complete name or volume \s-1ID\s0 number of a volume of any
+of the three types.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example unlocks the \s-1VLDB\s0 entry for the volume \f(CW\*(C`user.terry\*(C'\fR.
+.PP
+.Vb 1
+\& % vos unlock user.terry
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_lock\fR\|(1),
+\&\fIvos_unlockvldb\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_UNLOCKVLDB 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_UNLOCKVLDB 1"
++.TH VOS_UNLOCKVLDB 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_unlockvldb \- Unlocks several locked VLDB entries
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos unlockvldb\fR [\fB\-server\fR\ <\fImachine\ name\fR>]
+ [\fB\-partition\fR\ <\fIpartition\ name\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvos unlockv\fR [\fB\-s\fR\ <\fImachine\ name\fR>] [\fB\-p\fR\ <\fIpartition\ name\fR>]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos unlockvldb\fR command releases the lock on the Volume Location
+Database (\s-1VLDB\s0) entries indicated by the combination of arguments
+provided:
+.IP "\(bu" 4
+To unlock all entries in the \s-1VLDB\s0, provide no arguments.
+.IP "\(bu" 4
+To unlock all entries that mention a file server machine in a site
+definition, provide its name with the \fB\-server\fR argument.
+.IP "\(bu" 4
+To unlock all entries that mention a partition on any file server machine
+in a site definition, provide the partition name with the \fB\-partition\fR
+argument.
+.IP "\(bu" 4
+To unlock all entries that mention a specific site, provide both the
+\&\fB\-server\fR and \fB\-partition\fR arguments.
+.PP
+To unlock a single volume, use the \fBvos unlock\fR command instead.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use this command under normal circumstances.
+.PP
+It is useful if \s-1VLDB\s0 entries for volumes at a certain site are locked but
+there is no reason to suspect inconsistency within the volume or between
+it and the \s-1VLDB\s0. Note that it is possible to list information from locked
+\&\s-1VLDB\s0 entries, even though they cannot be manipulated in other ways.
+.PP
+The \fBvos lock\fR command locks a \s-1VLDB\s0 entry so that no one else can perform
+an action that requires writing the \s-1VLDB\s0.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine for which to unlock \s-1VLDB\s0
+entries. Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition (on the file server machine specified by the
+\&\fB\-server\fR argument) for which to unlock \s-1VLDB\s0 entries. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command unlocks all locked entries in the \s-1VLDB\s0.
+.PP
+.Vb 1
+\& % vos unlockvldb
+.Ve
+.PP
+The following command unlocks all locked \s-1VLDB\s0 entries that mention the
+\&\fI/vicepa\fR partition in a site definition.
+.PP
+.Vb 1
+\& % vos unlockvldb \-partition a
+.Ve
+.PP
+The following command unlocks all locked \s-1VLDB\s0 entries that refer to
+volumes on the \fI/vicepc\fR partition of the file server machine
+\&\f(CW\*(C`fs3.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % vos unlockvldb \-server fs3.abc.com \-partition c
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_lock\fR\|(1),
+\&\fIvos_unlock\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOS_ZAP 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOS_ZAP 1"
++.TH VOS_ZAP 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vos_zap \- Removes a volume from its site without writing to the VLDB
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvos zap\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-partition\fR\ <\fIpartition\ name\fR>
+ \fB\-id\fR\ <\fIvolume\ \s-1ID\s0\fR> [\fB\-force\fR] [\fB\-backup\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-verbose\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBvos z\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-p\fR\ <\fIpartition\ name\fR>
+ \fB\-i\fR\ <\fIvolume\ \s-1ID\s0\fR> [\fB\-f\fR] [\fB\-b\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvos zap\fR command removes the volume with the specified \fIvolume \s-1ID\s0\fR
+from the site defined by the \fB\-server\fR and \fB\-partition\fR arguments,
+without attempting to change the corresponding Volume Location Database
+(\s-1VLDB\s0) entry. If removing the volume can possibly result in incorrect data
+in the \s-1VLDB\s0, a warning message is displayed.
+.PP
+The \fB\-force\fR flag removes a volume even if it cannot be \*(L"attached\*(R"
+(brought online), which can happen either because the volume is extremely
+damaged or because the Salvager functioned abnormally. Without this flag,
+this command cannot remove volumes that are not attachable. See also
+\&\s-1CAUTIONS\s0.
+.PP
+To remove the specified read/write volume's backup version at the same
+time, include the \fB\-backup\fR flag.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use this command as the standard way to remove a volume, as it is
+likely to put the \s-1VLDB\s0 out of sync with the volumes on servers. Use the
+\&\fBvos remove\fR command instead.
+.PP
+This command is useful in situations where it is important to delete the
+volume, but for some reason the \s-1VLDB\s0 is unreachable \*(-- for example,
+because s the Volume Location Server is unavailable. The issuer can remove
+the \s-1VLDB\s0 entry later with the \fBvos remove\fR or \fBvos delentry\fR command, or
+it is removed automatically when the \fBvos syncserv\fR and \fBvos syncvldb\fR
+commands run.
+.PP
+To remove a read-only site defined in the \s-1VLDB\s0 by mistake, before a copy
+actually exists at the site, use the \fBvos remsite\fR command. To remove an
+entire \s-1VLDB\s0 entry without affecting volumes at their sites, use the \fBvos
+delentry\fR command.
+.PP
+Do not use the \fB\-force\fR flag if the volume is online, but only when
+attempts to remove the volume with the \fBvos remove\fR or the \fBvos zap\fR
+command have failed, or the volume definitely cannot be attached. After
+using the \fB\-force\fR flag, make sure that the volume's \s-1VLDB\s0 entry is also
+removed (issue the \fBvos delentry\fR command if necessary).
+.PP
+Adding the \fB\-force\fR flag makes the command take considerably longer \*(--
+about as long as a salvage of the relevant partition \*(-- since the Volume
+Server examines all inodes on the partition for traces of the volume.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIserver name\fR>" 4
+.IX Item "-server <server name>"
+Identifies the file server machine from which to remove the volume.
+Provide the machine's \s-1IP\s0 address or its host name (either fully qualified
+or using an unambiguous abbreviation). For details, see \fIvos\fR\|(1).
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Identifies the partition (on the file server machine specified by the
+\&\fB\-server\fR argument) from which to remove the volume. Provide the
+partition's complete name with preceding slash (for example, \f(CW\*(C`/vicepa\*(C'\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-id\fR <\fIvolume \s-1ID\s0\fR>" 4
+.IX Item "-id <volume ID>"
+Specifies the volume \s-1ID\s0 number of the volume to remove, which can be of
+any of the three types. The volume name is not acceptable.
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Removes the volume even though it cannot be attached (brought online). Use
+only after the failure of previous attempts to remove the volume by using
+the \fBvos remove\fR command or the \fBvos zap\fR command without this flag.
+.IP "\fB\-backup\fR" 4
+.IX Item "-backup"
+Removes the backup version of the read/write volume specified by the
+\&\fB\-id\fR argument. Do not use this flag if the \fB\-id\fR argument identifies a
+read-only or backup volume.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIvos\fR\|(1).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\&\fB\-noauth\fR flag. For more details, see \fIvos\fR\|(1).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example removes the volume with volume \s-1ID\s0 536870988 from the
+\&\fI/vicepf\fR partition of the file server machine \f(CW\*(C`fs6.abc.com\*(C'\fR, without
+noting the change in the \s-1VLDB\s0.
+.PP
+.Vb 1
+\& % vos zap \-server fs6.abc.com \-partition f \-id 536870988
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvos\fR\|(1),
+\&\fIvos_delentry\fR\|(1),
+\&\fIvos_remove\fR\|(1),
+\&\fIvos_remsite\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH XSTAT_CM_TEST 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "XSTAT_CM_TEST 1"
++.TH XSTAT_CM_TEST 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+xstat_cm_test \- Displays data collections from the Cache Manager
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBxstat_cm_test\fR [\fIinitcmd\fR]
+ \fB\-cmname\fR\ <\fIcache\ manager\ name(s)\ to\ monitor\fR>+
+ \fB\-collID\fR\ <\fIcollection(s)\ to\ fetch\fR>+ [\fB\-onceonly\fR]
+ [\fB\-frequency\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-period\fR\ <\fIdata\ collection\ time,\ in\ minutes\fR>] [\fB\-debug\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBxstat_cm_test\fR [\fIi\fR] \fB\-cm\fR\ <\fIcache\ manager\ name(s)\ to\ monitor\fR>+
+ \fB\-co\fR\ <\fIcollection(s)\ to\ fetch\fR>+ [\fB\-o\fR]
+ [\fB\-f\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-p\fR\ <\fIdata\ collection\ time,\ in\ minutes\fR>] [\fB\-d\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBxstat_cm_test\fR command tests the routines in the \fIlibxstat_cm.a\fR
+library and displays the data collections associated with the Cache
+Manager. The command executes in the foreground.
+.PP
+The command produces a large volume of output; to save it for later
+analysis, direct it to a file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fIinitcmd\fR" 4
+.IX Item "initcmd"
+Accommodates the command's use of the \s-1AFS\s0 command parser, and is optional.
+.IP "\fB\-cmname\fR <\fIcache manager name to monitor\fR>+" 4
+.IX Item "-cmname <cache manager name to monitor>+"
+Specifies the fully qualified hostname of each client machine for which to
+monitor the Cache Manager.
+.IP "\fB\-collID\fR <\fIcollection to fetch\fR>+" 4
+.IX Item "-collID <collection to fetch>+"
+Specifies each data collection to return, which defines the type and
+amount of data the command interpreter gathers about the Cache Manager.
+Data is returned in a predefined data structure.
+.Sp
+There are three acceptable values:
+.RS 4
+.IP "0" 4
+Provides profiling information about the numbers of times different
+internal Cache Manager routines were called since the Cache Manager
+started.
+.IP "1" 4
+.IX Item "1"
+Reports various internal performance statistics related to the Cache
+Manager (for example, statistics about how effectively the cache is being
+used and the quantity of intracell and intercell data access).
+.IP "2" 4
+.IX Item "2"
+Reports all of the internal performance statistics provided by the \f(CW1\fR
+setting, plus some additional, detailed performance figures (for example,
+statistics about the number of RPCs sent by the Cache Manager and how long
+they take to complete, and statistics regarding authentication, access,
+and \s-1PAG\s0 information associated with data access).
+.RE
+.RS 4
+.RE
+.IP "\fB\-onceonly\fR" 4
+.IX Item "-onceonly"
+Gathers statistics just one time. Omit this flag to have the command
+continue to probe the Cache Manager for statistics at the frequency
+specified by the \fB\-frequency\fR argument; in this case press Ctrl-C to stop
+the probes.
+.IP "\fB\-frequency\fR <\fIpoll frequency\fR>" 4
+.IX Item "-frequency <poll frequency>"
+Sets the frequency in seconds at which the program initiates probes to the
+Cache Manager. The default is 30 seconds.
+.IP "\fB\-period\fR <\fIdata collection time\fR>" 4
+.IX Item "-period <data collection time>"
+Sets the number of minutes the program runs; at the end of this period of
+time, the program exits. The default is 10 minutes.
+.IP "\fB\-debug\fR" 4
+.IX Item "-debug"
+Displays a trace on the standard output stream as the command runs.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIxstat_fs_test\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH XSTAT_FS_TEST 1 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "XSTAT_FS_TEST 1"
++.TH XSTAT_FS_TEST 1 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+xstat_fs_test \- Displays data collections from the File Server process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBxstat_fs_test\fR [\fIinitcmd\fR] \fB\-fsname\fR\ <\fIfile\ server\ name(s)\ to\ monitor\fR>+
+ \fB\-collID\fR\ <\fIcollection(s)\ to\ fetch\fR>+ [\fB\-onceonly\fR]
+ [\fB\-frequency\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-period\fR\ <\fIdata\ collection\ time,\ in\ minutes\fR>] [\fB\-debug\fR] [\fB\-help\fR]
+.PP
+\&\fBxstat_fs_test\fR [\fBinitcmd\fR] \fB\-fs\fR\ <\fIFile\ Server\ name(s)\ to\ monitor\fR>+
+ \fB\-c\fR\ <\fICollection(s)\ to\ fetch\fR>+ [\fB\-o\fR]
+ [\fB\-fr\fR\ <\fIpoll\ frequency,\ in\ seconds\fR>]
+ [\fB\-p\fR\ <\fIdata\ collection\ time,\ in\ minutes\fR>] [\fB\-d\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBxstat_fs_test\fR command tests the routines in the \fIlibxstat_fs.a\fR
+library and displays the data collections associated with the File Server
+(the \f(CW\*(C`fs\*(C'\fR process). The command executes in the foreground.
+.PP
+The command produces a large volume of output; to save it for later
+analysis, direct it to a file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fIinitcmd\fR" 4
+.IX Item "initcmd"
+Accommodates the command's use of the \s-1AFS\s0 command parser, and is optional.
+.IP "\fB\-fsname\fR <\fIfile server name to monitor\fR>+" 4
+.IX Item "-fsname <file server name to monitor>+"
+Specifies the fully qualified hostname of each file server machine for
+which to monitor the File Server process.
+.IP "\fB\-collID\fR <\fIcollection to fetch\fR>+" 4
+.IX Item "-collID <collection to fetch>+"
+Specifies each data collection to return, which defines the type and
+amount of data the command interpreter gathers about the File Server.
+Data is returned in a predefined data structure.
+.Sp
+There are four acceptable values:
+.RS 4
+.IP "0" 4
+Provides profiling information about the numbers of times different
+internal File Server routines were called since the File Server
+started. This value is not currently implemented; it returns no data.
+.IP "1" 4
+.IX Item "1"
+Reports various internal performance statistics related to the File Server
+(for example, vnode cache entries and Rx protocol activity).
+.IP "2" 4
+.IX Item "2"
+Reports all of the internal performance statistics provided by the \f(CW1\fR
+setting, plus some additional, detailed performance figures about the File
+Server (for example, minimum, maximum, and cumulative statistics regarding
+File Server RPCs, how long they take to complete, and how many succeed).
+.IP "3" 4
+.IX Item "3"
+Reports File Server callback processing statistics since the File Server
+started, including the number of call of callbacks added (AddCallBack), the
+number of callbacks broken (BreakCallBacks), and the number of callback
+space reclaims (GetSomeSpaces).
+.RE
+.RS 4
+.RE
+.IP "\fB\-onceonly\fR" 4
+.IX Item "-onceonly"
+Gathers statistics just one time. Omit this flag to have the command
+continue to probe the Cache Manager for statistics at the frequency
+specified by the \fB\-frequency\fR argument; in this case press Ctrl-C to stop
+the probes.
+.IP "\fB\-frequency\fR <\fIpoll frequency\fR>" 4
+.IX Item "-frequency <poll frequency>"
+Sets the frequency in seconds at which the program initiates probes to the
+Cache Manager. The default is 30 seconds.
+.IP "\fB\-period\fR <\fIdata collection time\fR>" 4
+.IX Item "-period <data collection time>"
+Sets the number of minutes the program runs; at the end of this period of
+time, the program exits. The default is 10 minutes.
+.IP "\fB\-debug\fR" 4
+.IX Item "-debug"
+Displays a trace on the standard output stream as the command runs.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIxstat_cm_test\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AUTHLOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AUTHLOG 5"
++.TH AUTHLOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+AuthLog \- Traces Authentication Server operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIAuthLog\fR file records a trace of Authentication Server (\fBkaserver\fR
+process) operations on the local machine and describes any error
+conditions it encounters.
+.PP
+If the \fIAuthLog\fR file does not exist in the \fI/usr/afs/logs\fR directory
+when the Authentication Server starts, the server process creates it and
+writes initial start-up messages to it. If there is an existing file, the
+Authentication Server renames it to \fIAuthLog.old\fR, overwriting the
+existing \fIAuthLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log onto the server machine and use a text
+editor or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By
+default, the mode bits on the \fIAuthLog\fR file grant the required \f(CW\*(C`r\*(C'\fR
+(read) permission to all users.
+.PP
+The Authentication Server records operations only as it completes them,
+and cannot recover from failures by reviewing the file. The log contents
+are useful for administrative evaluation of process failures and other
+problems.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AUTHLOG.DIR 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AUTHLOG.DIR 5"
++.TH AUTHLOG.DIR 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+AuthLog.dir, AuthLog.pag \- Log of Authentication Server privileged operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIAuthLog.dir\fR and \fIAuthLog.pag\fR files record a trace of privileged
+operations performed by the Authentication Server (\fBkaserver\fR process) on
+the local machine. If the files do not exist when the Authentication
+Server starts, it creates them in the \fI/usr/afs/logs\fR directory as
+necessary.
+.PP
+The files are in binary format. To display their contents, use the \fBkdb\fR
+command, which requires being logged in to the local machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The Authentication Server is possibly unable to create these files on some
+operating systems that \s-1AFS\s0 otherwise supports, making the \fBkdb\fR command
+inoperative. See the \fI\s-1IBM\s0 \s-1AFS\s0 Release Notes\fR for details.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkaserver\fR\|(8),
+\&\fIkdb\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUPLOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUPLOG 5"
++.TH BACKUPLOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+BackupLog \- Traces Backup Server operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIBackupLog\fR file records a trace of Backup Server (\fBbuserver\fR
+process) operations on the local machine and describes any error
+conditions it encounters.
+.PP
+If the \fIBackupLog\fR file does not already exist in the \fI/usr/afs/logs\fR
+directory when the Backup Server starts, the server process creates it and
+writes initial start-up messages to it. If there is an existing file, the
+Backup Server renames it to \fIBackupLog.old\fR, overwriting the existing
+\&\fIBackupLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log on to the machine and use a text editor
+or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By default, the
+mode bits on the \fIBackupLog\fR file grant the required \f(CW\*(C`r\*(C'\fR (read)
+permission to all users.
+.PP
+The Backup Server records operations only as it completes them, and so
+cannot recover from failures by reviewing the file. The log contents are
+useful for administrative evaluation of process failures and other
+problems.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbuserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOSCONFIG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOSCONFIG 5"
++.TH BOSCONFIG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+BosConfig \- Defines server processes for the BOS Server to monitor
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIBosConfig\fR file lists the processes that the Basic OverSeer (\s-1BOS\s0)
+Server monitors on its server machine, and thus defines which \s-1AFS\s0 server
+processes run on the machine. It specifies how the \s-1BOS\s0 Server reacts when
+a process fails, and also defines the times at which the \s-1BOS\s0 Server
+automatically restarts processes as part of performance maintenance. The
+file must reside in the \fI/usr/afs/local\fR directory on each \s-1AFS\s0 server
+machine.
+.PP
+A server process entry in the \fIBosConfig\fR file records the following
+information:
+.IP "\(bu" 4
+The \fIentry type\fR, which is one of the following:
+.RS 4
+.IP "cron" 4
+.IX Item "cron"
+Designates a server process that runs periodically instead of
+continuously. The \s-1BOS\s0 Server starts a cron process only at specified
+times, not whenever it fails. All standard \s-1AFS\s0 process entries except
+\&\f(CW\*(C`fs\*(C'\fR are simple (there are no standard cron processes).
+.IP "fs" 4
+.IX Item "fs"
+Designates a group of interdependent server processes. If one of the
+processes fails, the \s-1BOS\s0 Server must coordinate its restart with the
+restart of the other processes in the group, possibly by stopping them
+first.
+.Sp
+There is only one standard entry of this type, for which the conventional
+name is \f(CW\*(C`fs\*(C'\fR. It combines three server processes: the File Server
+(\fBfileserver\fR process), the Volume Server (\fBvolserver\fR process), and the
+Salvager (\fBsalvager\fR process). These processes all operate on the same
+data\*(--the \s-1AFS\s0 data stored on an \s-1AFS\s0 server machine's \fI/vicep\fR partitions
+and mounted in the \s-1AFS\s0 filespace\*(--but in different ways. Grouping the
+processes prevents them from attempting to access the same data
+simultaneously, which can cause corruption.
+.Sp
+During normal operation, the Salvager process is not active. If the File
+Server process fails, however, the \s-1BOS\s0 Server stops the Volume Server
+process and runs the Salvager process to correct any corruption that
+resulted from the failure. (The administrator can also issue the \fBbos
+salvage\fR command to invoke the Salvager process.) If the Volume Server
+fails, the \s-1BOS\s0 Server can restart it without stopping the File Server or
+running the Salvager.
+.IP "simple" 4
+.IX Item "simple"
+Designates a server process that runs independently of any other on the
+server machine. If a simple process fails, the \s-1BOS\s0 Server does not have to
+coordinate its restart with any other process.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The \fIentry name\fR. The conventional name for an entry in the \fIBosConfig\fR
+file and the associated process matches the binary filename. When issuing
+any \fBbos\fR command that takes the \fB\-instance\fR argument, identify each
+process by the name used in the \fIBosConfig\fR file. For a list of the
+names, see the \fBbos create\fR reference page.
+.IP "\(bu" 4
+The process's \fIstatus flag\fR, which determines whether the \s-1BOS\s0 Server
+attempts to start the process in two cases: each time the \s-1BOS\s0 Server
+itself restarts, and when the process fails. The \fIBosConfig\fR file
+currently uses a binary notation to indicate whether the \s-1BOS\s0 Server
+attempts to restart the process as necessary or does not monitor it at
+all. For the sake of clarity, the \s-1AFS\s0 documentation refers to the flags as
+\&\f(CW\*(C`Run\*(C'\fR and \f(CW\*(C`NotRun\*(C'\fR instead. Only a system administrator, not the \s-1BOS\s0
+Server, can change the flag.
+.IP "\(bu" 4
+One or more \fIcommand parameters\fR which the \s-1BOS\s0 Server invokes to start
+the process or processes associated with the entry:
+.RS 4
+.IP "\(bu" 4
+A \f(CW\*(C`cron\*(C'\fR entry has two command parameters, the first the complete
+pathname to the program, and the second the time at which the \s-1BOS\s0 Server
+invokes the program.
+.IP "\(bu" 4
+The \f(CW\*(C`fs\*(C'\fR entry has three command parameters, each the complete pathname
+to the \fBfileserver\fR, \fBvolserver\fR, and \fBsalvager\fR programs, in that
+order.
+.IP "\(bu" 4
+A \f(CW\*(C`simple\*(C'\fR entry has only one command parameter, the complete pathname to
+the program.
+.RE
+.RS 4
+.RE
+.PP
+In addition to server process entries, the \fIBosConfig\fR file specifies the
+times at which the \s-1BOS\s0 Server performs two types of automatic process
+restarts:
+.IP "\(bu" 4
+The \fIgeneral restart\fR time at which the \s-1BOS\s0 Server restarts itself and
+then each process for which the entry in the \fIBosConfig\fR file has status
+flag \f(CW\*(C`Run\*(C'\fR. The default setting is Sunday at 4:00 a.m.
+.IP "\(bu" 4
+The \fIbinary restart\fR time at which the \s-1BOS\s0 Server restarts any server
+process for which the time stamp on the binary file in the \fI/usr/afs/bin\fR
+directory is later than the last restart time for the process. The default
+is 5:00 a.m.
+.PP
+Although the \fIBosConfig\fR file is in \s-1ASCII\s0 format, do not use a text
+editor to alter it. Its format is subject to change and incorrectly
+formatted entries can prevent server startup in ways that are difficult to
+diagnose. Instead always use the appropriate commands from the \fBbos\fR
+command suite:
+.IP "\(bu" 4
+The \fBbos create\fR command to create an entry in the file and start the
+associated process.
+.IP "\(bu" 4
+The \fBbos delete\fR command to remove an entry from the file after the \fBbos
+stop\fR command is used to stop the associated process.
+.IP "\(bu" 4
+The \fBbos getrestart\fR command to display the times at which the \s-1BOS\s0 Server
+performs automatic restarts.
+.IP "\(bu" 4
+The \fBbos setrestart\fR command to set the times at which the \s-1BOS\s0 Server
+performs automatic process restarts.
+.IP "\(bu" 4
+The \fBbos start\fR command to change an entry's status flag to \f(CW\*(C`Run\*(C'\fR and
+start the associated process.
+.IP "\(bu" 4
+The \fBbos status\fR command to display all processes listed in the file.
+.IP "\(bu" 4
+The \fBbos stop\fR command to change an entry's status flag to \f(CW\*(C`NotRun\*(C'\fR and
+stop the associated process.
+.PP
+There are also bos commands that start and stop processes without changing
+entries in the \fIBosConfig\fR file. The \s-1BOS\s0 Server reads the \fIBosConfig\fR
+file only when it starts, transferring the information into its
+memory. Thus a process's status as represented in the \s-1BOS\s0 Server's memory
+can diverge from its status in the \fIBosConfig\fR file. The following
+commands change a process's status in the \s-1BOS\s0 Server's memory only:
+.IP "\(bu" 4
+The \fBbos restart\fR command restarts a specified set of processes, all
+processes, or all processes other than the \s-1BOS\s0 Server.
+.IP "\(bu" 4
+The \fBbos shutdown\fR command stops a process.
+.IP "\(bu" 4
+The \fBbos startup\fR command starts a process.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_create\fR\|(8),
+\&\fIbos_delete\fR\|(8),
+\&\fIbos_getrestart\fR\|(8),
+\&\fIbos_restart\fR\|(8),
+\&\fIbos_setrestart\fR\|(8),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIbos_start\fR\|(8),
+\&\fIbos_startup\fR\|(8),
+\&\fIbos_status\fR\|(8),
+\&\fIbos_stop\fR\|(8),
+\&\fIbos_salvage\fR\|(8),
+\&\fIfileserver\fR\|(8),
+\&\fIsalvager\fR\|(8),
+\&\fIvolserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOSLOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOSLOG 5"
++.TH BOSLOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+BosLog \- Traces BOS Server operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIBosLog\fR file records a trace of Basic OverSeer (\s-1BOS\s0) Server
+(\fBbosserver\fR process) operations on the local machine and describes any
+error conditions it encounters.
+.PP
+If the \fIBosLog\fR file does not already exist in the \fI/usr/afs/logs\fR
+directory when the \s-1BOS\s0 Server starts, the server process creates it and
+writes initial start-up messages to it. If there is an existing file, the
+\&\s-1BOS\s0 server renames it to \fIBosLog.old\fR, overwriting the existing
+\&\fIBosLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log onto the server machine and use a text
+editor or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By
+default, the mode bits on the \fIBosLog\fR file grant the required \f(CW\*(C`r\*(C'\fR
+(read) permission to all users.
+.PP
+The \s-1BOS\s0 Server records operations only as it completes them, and cannot
+recover from failures by reviewing the file. The log contents are useful
+for administrative evaluation of process failures and other problems.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbosserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH CELLALIAS 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CELLALIAS 5"
++.TH CELLALIAS 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+CellAlias \- Maps cell names to aliases in /afs
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fICellAlias\fR file is used when the \s-1AFS\s0 Cache Manager is Dynamic Root
+(\fB\-dynroot\fR) mode. It creates symbolic links in the dynamic root that
+link an alias for a cell (usually a short name) to the full name for the
+cell.
+.PP
+The most common use of this configuration file is to allow short names for
+frequently used cell names. Traditionally, such short names would be
+created by the local \s-1AFS\s0 administrator by creating symbolic links in the
+\&\f(CW\*(C`root.afs\*(C'\fR volume. Such symlinks do not appear when Dynamic Root is
+enabled because, with Dynamic Root, the Cache Manager does not mount or
+look at the \f(CW\*(C`root.afs\*(C'\fR volume. \fICellAlias\fR is a replacement that allows
+such short names to be created under the client control.
+.PP
+If you configure a short name mapping such as \f(CW\*(C`ir\*(C'\fR for
+\&\f(CW\*(C`ir.stanford.edu\*(C'\fR, the mapping of \f(CW\*(C`.ir\*(C'\fR to \f(CW\*(C`.ir.stanford.edu\*(C'\fR for the
+read/write version of the \f(CW\*(C`root.cell\*(C'\fR volume for that cell will be
+created automatically. There is no need to list that alias separately (and
+it is listed separately, \fBafsd\fR will report an error on startup).
+.PP
+The contents of the \fICellAlias\fR file should consist of one line of two
+whitespace-separated columns per alias. The first column is the real name
+of the cell, and the second column is the alias that should be created.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following \fICellAlias\fR file:
+.PP
+.Vb 2
+\& openafs.org openafs
+\& uncc.edu uncc
+.Ve
+.PP
+results in the following symbolic links:
+.PP
+.Vb 4
+\& /afs/.openafs \-> /afs/.openafs.org
+\& /afs/openafs \-> /afs/openafs.org
+\& /afs/.uncc \-> /afs/.uncc.edu
+\& /afs/uncc \-> /afs/uncc.edu
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_newalias\fR\|(1),
+\&\fIfs_listaliases\fR\|(1),
+\&\fIafsd\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH CELLSERVDB 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CELLSERVDB 5"
++.TH CELLSERVDB 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+CellServDB \- Lists the database server machines in AFS cells
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+There are two versions of the \fICellServDB\fR file, both of which have the
+same format. One version is used by an \s-1AFS\s0 client and lists all of the
+database server machines in the local cell and any foreign cell that is to
+be accessible from the local client machine. The other version is used on
+servers and need list only the database servers in the local cell; in some
+configurations it can be a link to the same file the client uses.
+.Sh "Client CellServDB"
+.IX Subsection "Client CellServDB"
+Along with \s-1AFSDB\s0 entries in \s-1DNS\s0, the client version of the CellServDB file
+lists the database server machines in the local cell and any foreign cell
+that is to be accessible from the local client machine. Database server
+machines run the Authentication Server (optional), Backup Server
+(optional), Protection Server, and Volume Location (\s-1VL\s0) Server (the
+\&\fBkaserver\fR, \fBbuserver\fR, \fBptserver\fR, and \fBvlserver\fR) processes, which
+maintain the cell's administrative \s-1AFS\s0 databases.
+.PP
+The Cache Manager and other processes running on a client machine use the
+list of a cell's database server machines when performing several common
+functions, including:
+.IP "\(bu" 4
+Fetching files. The Cache Manager contacts the \s-1VL\s0 Server to learn
+the location of the volume containing a requested file or directory.
+.IP "\(bu" 4
+Creating, viewing, and manipulating protection groups. The \fBpts\fR command
+interpreter contacts the Protection Server when users create protection
+groups or request information from the Protection Database.
+.IP "\(bu" 4
+Populating the contents of the fake \fIroot.afs\fR volume mounted at \fI/afs\fR
+(or the alternative mount point specified in \fIcacheinfo\fR) when \fBafsd\fR is
+run in \f(CW\*(C`\-dynroot\*(C'\fR mode. The default contents of this directory will
+match the cells listed in the client \fICellServDB\fR file.
+.IP "\(bu" 4
+Authenticating users. Client-side authentication programs (such as an
+AFS-modified login utility or the \fBklog\fR command interpreter) contact the
+Authentication Server to obtain a server ticket, which the \s-1AFS\s0 server
+processes accept as proof that the user is authenticated. This only
+applies to \s-1AFS\s0 cells using the deprecated Authentication Server instead of
+Kerberos v5 and \fBaklog\fR.
+.PP
+The Cache Manager reads the CellServDB file into kernel memory as it
+initializes, and not again until the machine next reboots or the client
+service restarts. To enable users on the local machine to continue
+accessing the cell correctly, update the file whenever a database server
+machine is added to or removed from a cell. To update the kernel-resident
+list of database server machines without rebooting, use the \fBfs newcell\fR
+command.
+.PP
+If the client attempts to access an \s-1AFS\s0 cell not listed in \fICellServDB\fR
+and \fBafsd\fR was started with the \fB\-afsdb\fR option, the Cache Manager will
+attempt an \s-1AFSDB\s0 \s-1DNS\s0 record lookup and dynamically add the database server
+locations for that cell based on the result of the \s-1DNS\s0 query. If the
+\&\fB\-afsdb\fR option was not used, all \s-1AFS\s0 cells that will be accessed by a
+client machine must either be listed in \fICellServDB\fR or added with the
+\&\fBfs newcell\fR command.
+.PP
+The \fICellServDB\fR file is in \s-1ASCII\s0 format and must reside in the
+\&\fI/usr/vice/etc\fR directory on each \s-1AFS\s0 client machine. Use a text editor
+to create and maintain it.
+.PP
+The client version of the \fICellServDB\fR file is distinct from the server
+version, which resides in the \fI/usr/afs/etc\fR directory on each \s-1AFS\s0 server
+machine. The client version lists the database server machines in every
+\&\s-1AFS\s0 cell that the cell administrator wants the machine's users to be able
+to access, whereas the server version lists only the local cell's database
+server machines.
+.Sh "Server CellServDB"
+.IX Subsection "Server CellServDB"
+The server version of the \fICellServDB\fR file lists the local cell's
+database server machines. These machines run the Authentication Server
+(optional), Backup Server (optional), Protection Server, and Volume
+Location (\s-1VL\s0) Server (the \fBkaserver\fR, \fBbuserver\fR, \fBptserver\fR, and
+\&\fBvlserver\fR) processes, which maintain the cell's administrative \s-1AFS\s0
+databases. The initial version of the file is created with the \fBbos
+setcellname\fR command during the installation of the cell's server machine,
+which is automatically recorded as the cell's first database server
+machine. When adding or removing database server machines, be sure to
+update this file appropriately. It must reside in the \fI/usr/afs/etc\fR
+directory on each \s-1AFS\s0 server machine. The database server processes,
+in addition to the usual configuration allowing each to be elected
+synchronization site and coordinate updates, can be set up as readonly
+database clone servers. Such servers can never be elected as the
+synchronization site.
+.PP
+The database server processes consult the \fICellServDB\fR file to learn
+about their peers, with which they must maintain constant connections in
+order to coordinate replication of changes across the multiple copies of
+each database. The other \s-1AFS\s0 server processes consult the file to learn
+which machines to contact for information from the databases when they
+need it.
+.PP
+Although the server \fICellServDB\fR file is in \s-1ASCII\s0 format, do not use a
+text editor to alter it. Instead always use the appropriate commands from
+the \fBbos\fR command suite:
+.IP "\(bu" 4
+The \fBbos addhost\fR command to add a machine to the file.
+.IP "\(bu" 4
+The \fBbos listhosts\fR command to display the list of machines from the
+file.
+.IP "\(bu" 4
+The \fBbos removehost\fR command to remove a machine from the file.
+.PP
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is customary to edit only the copy of the
+file stored on the system control machine. Otherwise, edit the file on
+each server machine individually. For instructions on adding and removing
+database server machine, see the \fIOpenAFS Quick Start\fR chapter on
+installing additional server machines. Updates to the server \fICellServDB\fR
+will trigger reloading the cell server configurations automatically in the
+\&\s-1AFS\s0 server processes.
+.Sh "CellServDB Format"
+.IX Subsection "CellServDB Format"
+Both \fICellServDB\fR files have the same format:
+.IP "\(bu" 4
+The first line begins at the left margin with the greater-than character
+(\f(CW\*(C`>\*(C'\fR), followed immediately by the cell's name without an intervening
+space. Optionally, a comment can follow any number of spaces and a octothorpe
+(\f(CW\*(C`#\*(C'\fR), perhaps to identify the organization associated with the
+cell. A variant of this allows the defintion of a linked cell: after the
+leading (\f(CW\*(C`>\*(C'\fR) and cell name, a space and a second cell name may be
+listed before the optional spaces, octothorpe and comment.
+.IP "\(bu" 4
+Each subsequent line in the entry identifies one of the cell's database
+server machines, with the indicated information in order:
+.RS 4
+.IP "\(bu" 4
+The database server machine's \s-1IP\s0 address in dotted-decimal format, optionally
+enclosed in square braces (\f(CW\*(C`[\*(C'\fR)(\f(CW\*(C`]\*(C'\fR) to define a non-voting clone.
+.IP "\(bu" 4
+One or more spaces.
+.IP "\(bu" 4
+An octothorpe (#), followed by the machine's fully qualified hostname
+without an intervening space. This number sign does not indicate that the
+hostname is a comment. It is a required field.
+.RE
+.RS 4
+.RE
+.PP
+No extra blank lines or newline characters are allowed in the file, even
+after the last entry. Their presence can prevent the Cache Manager from
+reading the file into kernel memory, resulting in an error message.
+.PP
+grand.central.org maintains a list of the database server machines in all
+cells that have registered themselves as receptive to access from foreign
+cells. When a cell's administrators change its database server machines,
+it is customary to register the change with grand.central.org for
+inclusion in this file. The file conforms to the required \fICellServDB\fR
+format, and so is a suitable basis for the \fICellServDB\fR file on a client
+machine. You can download this file from <http://grand.central.org/>.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows entries for two cells in a client
+\&\fICellServDB\fR file and illustrates the required format.
+.PP
+.Vb 7
+\& >abc.com # ABC Corporation
+\& 192.12.105.2 #db1.abc.com
+\& 192.12.105.3 #db2.abc.com
+\& [192.12.107.3] #db3.abc.com
+\& >test.abc.com abc.com # ABC Corporation Test Cell
+\& 192.12.108.57 #testdb1.abc.com
+\& 192.12.108.55 #testdb2.abc.com
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fIbos_addhost\fR\|(8),
+\&\fIbos_listhosts\fR\|(8),
+\&\fIbos_removehost\fR\|(8),
+\&\fIbos_setcellname\fR\|(8),
+\&\fIbuserver\fR\|(8),
+\&\fIfs_newcell\fR\|(1),
+\&\fIkaserver\fR\|(8),
+\&\fIklog\fR\|(1),
+\&\fIptserver\fR\|(8),
+\&\fIvlserver\fR\|(8),
+\&\fIupclient\fR\|(8),
+\&\fIupserver\fR\|(8)
+.PP
+\&\fIOpenAFS Quick Start\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FORCESALVAGE 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FORCESALVAGE 5"
++.TH FORCESALVAGE 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+FORCESALVAGE \- Forces salvage of entire partition
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fI\s-1FORCESALVAGE\s0\fR file, if present on an \s-1AFS\s0 server partition (that is,
+in a \fI/vicep\fR directory), signals that the Salvager must salvage the
+entire partition. The AFS-modified version of the \fBfsck\fR program creates
+the empty (zero-length) file when it discovers corruption on the
+partition. The Salvager removes the file when it completes the salvage
+operation.
+.PP
+When the File Server detects the presence of the file on a partition on
+which it is attaching volumes, it stops, detaches any volumes that are
+already attached, and exits after recording a message in the
+\&\fI/usr/afs/logs/FileLog\fR file. The Bos Server then invokes the Salvager to
+salvage the partition.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIFileLog\fR\|(5),
+\&\fIbosserver\fR\|(8),
+\&\fIfileserver\fR\|(8),
+\&\fIsalvager\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FILELOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FILELOG 5"
++.TH FILELOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+FileLog \- Traces File Server operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIFileLog\fR file records a trace of File Server (\fBfileserver\fR process)
+operations on the local machine and describes any error conditions it
+encounters.
+.PP
+If the \fIFileLog\fR file does not already exist in the
+\&\fI/usr/afs/logs\fR directory when the File Server starts, the server
+process creates it and writes initial start-up messages to it. If there
+is an existing file, the File Server renames it to
+\&\fIFileLog.old\fR, overwriting the existing
+\&\fIFileLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log onto the file server machine and use a
+text editor or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By
+default, the mode bits on the \fIFileLog\fR file grant the required \f(CW\*(C`r\*(C'\fR
+(read) permission to all users.
+.PP
+The File Server records operations only as it completes them, and cannot
+recover from failures by reviewing the file. The log contents are useful
+for administrative evaluation of process failures and other problems.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIfileserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KEYFILE 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KEYFILE 5"
++.TH KEYFILE 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+KeyFile \- Defines AFS server encryption keys
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIKeyFile\fR file defines the server encryption keys that the \s-1AFS\s0 server
+processes running on the machine use to decrypt the tickets presented by
+clients during the mutual authentication process. \s-1AFS\s0 server processes
+perform privileged actions only for clients that possess a ticket
+encrypted with one of the keys from the file. The file must reside in the
+\&\fI/usr/afs/etc\fR directory on every server machine. For more detailed
+information on mutual authentication and server encryption keys, see the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.PP
+Each key has a corresponding a key version number that distinguishes it
+from the other keys. The tickets that clients present are also marked with
+a key version number to tell the server process which key to use to
+decrypt it. The \fIKeyFile\fR file must always include a key with the same
+key version number and contents as the key currently listed for the \f(CW\*(C`afs\*(C'\fR
+entry in the Authentication Database.
+.PP
+The \fIKeyFile\fR file is in binary format, so always use the appropriate
+commands from the \fBbos\fR command suite to administer it:
+.IP "\(bu" 4
+The \fBbos addkey\fR command to define a new key.
+.IP "\(bu" 4
+The \fBbos listkeys\fR command to display the keys.
+.IP "\(bu" 4
+The \fBbos removekey\fR command to remove a key from the file.
+.PP
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is customary to edit only the copy of the
+file stored on the system control machine. Otherwise, edit the file on
+each server machine individually.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_listkeys\fR\|(8),
+\&\fIbos_removekey\fR\|(8),
+\&\fIkas_setpassword\fR\|(8),
+\&\fIupclient\fR\|(8),
+\&\fIupserver\fR\|(8)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH NETINFO 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "NETINFO 5"
++.TH NETINFO 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+NetInfo \- Defines machine interfaces to register with AFS servers
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+There are two \fINetInfo\fR files, one for an \s-1AFS\s0 client and one for an \s-1AFS\s0
+File Server or database server. The \s-1AFS\s0 client \fINetInfo\fR file specifies
+the \s-1IP\s0 addresses that the client should register with the File Servers it
+connects to. The server \fINetInfo\fR file specifies what interfaces should
+be registered with \s-1AFS\s0 Database Servers or used to talk to other database
+servers.
+.Sh "Client NetInfo"
+.IX Subsection "Client NetInfo"
+The client \fINetInfo\fR file lists the \s-1IP\s0 addresses of one or more of the
+local machine's network interfaces. If it exists in the \fI/usr/vice/etc\fR
+directory when the Cache Manager initializes, the Cache Manager uses its
+contents as the basis for a list of local interfaces. Otherwise, the Cache
+Manager uses the list of interfaces configured with the operating
+system. It then removes from the list any addresses that appear in the
+\&\fI/usr/vice/etc/NetRestrict\fR file, if it exists. The Cache Manager records
+the resulting list in kernel memory. The first time it establishes a
+connection to a File Server, it registers the list with the File Server.
+.PP
+The File Server uses the addresses when it initiates a remote procedure
+call (\s-1RPC\s0) to the Cache Manager (as opposed to responding to an \s-1RPC\s0 sent
+by the Cache Manager). There are two common circumstances in which the
+File Server initiates RPCs: when it breaks callbacks and when it pings the
+client machine to verify that the Cache Manager is still accessible.
+.PP
+The \fINetInfo\fR file is in \s-1ASCII\s0 format. One of the machine's \s-1IP\s0 addresses
+appears on each line, in dotted decimal format. The File Server initially
+uses the address that appears first in the list. The order of the
+remaining addresses is not significant: if an \s-1RPC\s0 to the first interface
+fails, the File Server simultaneously sends RPCs to all of the other
+interfaces in the list. Whichever interface replies first is the one to
+which the File Server then sends pings and RPCs to break callbacks.
+.PP
+To prohibit the Cache Manager absolutely from using one or more addresses,
+list them in the \fINetRestrict\fR file. To display the addresses the Cache
+Manager is currently registering with File Servers, use the \fBfs
+getclientaddrs\fR command. To replace the current list of interfaces with a
+new one between reboots of the client machine, use the \fBfs
+setclientaddrs\fR command.
+.Sh "Server NetInfo"
+.IX Subsection "Server NetInfo"
+The server \fINetInfo\fR file, if present in the \fI/usr/afs/local\fR directory,
+defines the following:
+.IP "\(bu" 4
+On a file server machine, the local interfaces that the File Server
+(\fBfileserver\fR process) can register in the Volume Location Database
+(\s-1VLDB\s0) at initialization time.
+.IP "\(bu" 4
+On a database server machine, the local interfaces that the Ubik database
+synchronization library uses when communicating with the database server
+processes running on other database server machines.
+.PP
+If the \fINetInfo\fR file exists when the File Server initializes, the File
+Server uses its contents as the basis for a list of interfaces to register
+in the \s-1VLDB\s0. Otherwise, it uses the list of network interfaces configured
+with the operating system. It then removes from the list any addresses
+that appear in the \fI/usr/afs/local/NetRestrict\fR file, if it exists. The
+File Server records the resulting list in the \fI/usr/afs/local/sysid\fR file
+and registers the interfaces in the \s-1VLDB\s0. The database server processes
+use a similar procedure when initializing, to determine which interfaces
+to use for communication with the peer processes on other database
+machines in the cell.
+.PP
+The \fINetInfo\fR file is in \s-1ASCII\s0 format. One of the machine's \s-1IP\s0 addresses
+appears on each line, in dotted decimal format. The order of the addresses
+is not significant.
+.PP
+Optionally, the File Server can be forced to use an \s-1IP\s0 address that does
+not belong to one of the server interfaces. To do this, add a line to the
+\&\fINetInfo\fR file with the \s-1IP\s0 address prefixed with \*(L"f\*(R" and a space. This is
+useful when the File Server is on the interal side of a \s-1NAT\s0 firewall.
+.PP
+To display the File Server interface addresses registered in the \s-1VLDB\s0, use
+the \fBvos listaddrs\fR command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+If the File Server is on the internal side of a \s-1NAT\s0 firewall, where it
+serves internal clients using the \s-1IP\s0 address 192.168.1.123 and external
+clients using the \s-1IP\s0 address 10.1.1.321, then the \fINetInfo\fR file should
+contain the following:
+.PP
+.Vb 2
+\& 192.168.1.123
+\& f 10.1.1.321
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fINetRestrict\fR\|(5),
+\&\fIsysid\fR\|(5),
+\&\fIvldb.DB0\fR\|(5),
+\&\fIfileserver\fR\|(8),
+\&\fIfs_getclientaddrs\fR\|(1),
+\&\fIfs_setclientaddrs\fR\|(1),
+\&\fIvos_listaddrs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH NETRESTRICT 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "NETRESTRICT 5"
++.TH NETRESTRICT 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+NetRestrict \- Defines interfaces not to register with AFS servers
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+There are two \fINetRestrict\fR files, one for an \s-1AFS\s0 client and one for an
+\&\s-1AFS\s0 File Server or database server. The \s-1AFS\s0 client \fINetRestrict\fR file
+specifies the \s-1IP\s0 addresses that the client should not register with the
+File Servers it connects to. The server \fINetRestrict\fR file specifies
+what interfaces should not be registered with \s-1AFS\s0 Database Servers or used
+to talk to other database servers.
+.Sh "Client NetRestrict"
+.IX Subsection "Client NetRestrict"
+The \fINetRestrict\fR file, if present in a client machine's \fI/usr/vice/etc\fR
+directory, defines the \s-1IP\s0 addresses of the interfaces that the local Cache
+Manager does not register with a File Server when first establishing a
+connection to it. For an explanation of how the File Server uses the
+registered interfaces, see \fINetInfo\fR\|(5).
+.PP
+As it initializes, the Cache Manager constructs a list of interfaces to
+register, from the \fI/usr/vice/etc/NetInfo\fR file if it exists, or from the
+list of interfaces configured with the operating system otherwise. The
+Cache Manager then removes from the list any addresses that appear in the
+\&\fINetRestrict\fR file, if it exists. The Cache Manager records the resulting
+list in kernel memory.
+.PP
+The \fINetRestrict\fR file is in \s-1ASCII\s0 format. One \s-1IP\s0 address appears on each
+line, in dotted decimal format. The order of the addresses is not
+significant. The value \f(CW255\fR is a wildcard that represents all possible
+addresses in that field. For example, the value \f(CW192.12.105.255\fR
+indicates that the Cache Manager does not register any of the addresses in
+the \f(CW192.12.105\fR subnet.
+.PP
+To display the addresses the Cache Manager is currently registering with
+File Servers, use the \fBfs getclientaddrs\fR command.
+.Sh "Server NetRestrict"
+.IX Subsection "Server NetRestrict"
+The \fINetRestrict\fR file, if present in the \fI/usr/afs/local\fR directory,
+defines the following:
+.IP "\(bu" 4
+On a file server machine, the local interfaces that the File Server
+(\fBfileserver\fR process) does not register in the Volume Location Database
+(\s-1VLDB\s0) at initialization time.
+.IP "\(bu" 4
+On a database server machine, the local interfaces that the Ubik
+synchronization library does not use when communicating with the database
+server processes running on other database server machines.
+.PP
+As it initializes, the File Server constructs a list of interfaces to
+register, from the \fI/usr/afs/local/NetInfo\fR file if it exists, or from
+the list of interfaces configured with the operating system otherwise. The
+File Server then removes from the list any addresses that appear in the
+\&\fINetRestrict\fR file, if it exists. The File Server records the resulting
+list in the \fI/usr/afs/local/sysid\fR file and registers the interfaces in
+the \s-1VLDB\s0. The database server processes use a similar procedure when
+initializing, to determine which interfaces to use for communication with
+the peer processes on other database machines in the cell.
+.PP
+The \fINetRestrict\fR file is in \s-1ASCII\s0 format. One \s-1IP\s0 address appears on each
+line, in dotted decimal format. The order of the addresses is not
+significant.
+.PP
+To display the File Server interface addresses registered in the \s-1VLDB\s0, use
+the \fBvos listaddrs\fR command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fINetInfo\fR\|(5),
+\&\fIsysid\fR\|(5),
+\&\fIvldb.DB0\fR\|(5),
+\&\fIfileserver\fR\|(8),
+\&\fIfs_getclientaddrs\fR\|(1)
+\&\fIvos_listaddrs\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH NOAUTH 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "NOAUTH 5"
++.TH NOAUTH 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+NoAuth \- Disables authorization checking
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fINoAuth\fR file, if present in a server machine's \fI/usr/afs/local\fR
+directory, indicates to the \s-1AFS\s0 server processes running on the machine
+that it is not necessary to perform authorization checking. They perform
+any action for any user who logs into the machine's local file system or
+issues a remote command that affects the machine's \s-1AFS\s0 server functioning,
+such as commands from the \s-1AFS\s0 command suites. Because failure to check
+authorization exposes the machine's \s-1AFS\s0 server functionality to attack,
+there are normally only two circumstances in which the file is present:
+.IP "\(bu" 4
+During installation of the machine, as instructed in the \fI\s-1IBM\s0 \s-1AFS\s0 Quick
+Beginnings\fR.
+.IP "\(bu" 4
+During correction of a server encryption key emergency, as discussed in
+the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.PP
+In all other circumstances, the absence of the file means that the \s-1AFS\s0
+server processes perform authorization checking, verifying that the issuer
+of a command has the required privilege.
+.PP
+Create the file in one of the following ways:
+.IP "\(bu" 4
+By issuing the bosserver initialization command with the \fB\-noauth\fR flag,
+if the Basic OverSeer (\s-1BOS\s0) Server is not already running.
+.IP "\(bu" 4
+By issuing the \fBbos setauth\fR command with off as the value for the
+\&\fB\-authrequired\fR argument, if the \s-1BOS\s0 Server is already running.
+.PP
+To remove the file, issue the \fBbos setauth\fR command with \f(CW\*(C`on\*(C'\fR as the
+value for the \fB\-authrequired\fR argument.
+.PP
+The file's contents, if any, are ignored; an empty (zero-length) file is
+effective.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_setauth\fR\|(8),
+\&\fIbosserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH SALVAGE.FS 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SALVAGE.FS 5"
++.TH SALVAGE.FS 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+SALVAGE.fs \- Triggers salvaging of AFS server partitions
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fI\s-1SALVAGE\s0.fs\fR file, if present in a file server machine's
+\&\fI/usr/afs/local\fR directory, indicates to the Basic OverSeer (\s-1BOS\s0) Server
+(\fBbosserver\fR process) that it must invoke the Salvager (\fBsalvager\fR
+process) during recovery from a failure of the File Server (\fBfileserver\fR
+process).
+.PP
+The \s-1BOS\s0 Server creates the zero-length file each time it starts or
+restarts the \f(CW\*(C`fs\*(C'\fR process. When the File Server exits normally (for
+example, in response to the \fBbos shutdown\fR or \fBbos stop\fR command), the
+\&\s-1BOS\s0 Server removes the file. However, if the File Server exits
+unexpectedly, the file remains in the \fI/usr/afs/local\fR directory as a
+signal that the \s-1BOS\s0 Server must invoke the Salvager process to repair any
+file system inconsistencies possibly introduced during the failure, before
+restarting the File Server and Volume Server processes.
+.PP
+Do not create or remove this file. To invoke the Salvager process
+directly, use the \fBbos salvage\fR command or log onto the file server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR and issue the \fBsalvager\fR command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_salvage\fR\|(8),
+\&\fIbosserver\fR\|(8),
+\&\fIfileserver\fR\|(8),
+\&\fIsalvager\fR\|(8),
+\&\fIvolserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH SALVAGELOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SALVAGELOG 5"
++.TH SALVAGELOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+SalvageLog \- Traces Salvager operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fISalvageLog\fR file records a trace of Salvager (\fBsalvager\fR process)
+operations on the local machine and describes any error conditions it
+encounters.
+.PP
+If the \fISalvageLog\fR file does not already exist in the \fI/usr/afs/logs\fR
+directory when the Salvager starts, the process creates it and writes
+initial start-up messages to it. If there is an existing file, the
+Salvager renames is to \fISalvageLog.old\fR, overwriting the existing
+\&\fISalvageLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log onto the file server machine and use a
+text editor or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By
+default, the mode bits on the \fISalvageLog\fR file grant the required \f(CW\*(C`r\*(C'\fR
+(read) permission to all users.
+.PP
+The Salvager records operations only as it completes them, and cannot
+recover from failures by reviewing the file. The log contents are useful
+for administrative evaluation of process failures and other problems.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIsalvager\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH THISCELL 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "THISCELL 5"
++.TH THISCELL 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+ThisCell \- Defines the local cell name
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIThisCell\fR file defines the local cell name. There are two versions
+of this file, one for a \s-1AFS\s0 client and one for an \s-1AFS\s0 server.
+.Sh "Client ThisCell"
+.IX Subsection "Client ThisCell"
+The client version of the \fIThisCell\fR file defines the complete Internet
+domain-style name (for example, \f(CW\*(C`abc.com\*(C'\fR) of the cell to which the local
+client machine belongs. It must reside in the \fI/usr/vice/etc\fR directory
+on every \s-1AFS\s0 client machine. To change a client machine's cell membership,
+edit the file and reboot the machine.
+.PP
+The file is in \s-1ASCII\s0 format and contains a character string on a single
+line. The \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR instructs the administrator to
+create it during the installation of each client machine.
+.PP
+The client machine's cell membership determines three defaults important
+to its functioning:
+.IP "\(bu" 4
+The cell in which the machine's users authenticate by default. The effect
+is two-fold:
+.RS 4
+.IP "\(bu" 4
+The AFS-modified login utilities and the klog command interpreter contact
+an Authentication Server in the cell named in the \fIThisCell\fR file (unless
+\&\fB\-cell\fR argument to the \fBklog\fR command specifies an alternate cell).
+.IP "\(bu" 4
+The command interpreters combine the cell name with the password that the
+user provides, generating an encryption key from the combination. For
+authentication to succeed, both the cell name and password must match the
+ones used to generate the user's encryption key stored in the
+Authentication Database.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The cell the Cache Manager considers its local, or home, cell. By default,
+the Cache Manager allows programs that reside in its home cell to run with
+setuid permission, but not programs from foreign cells. For more details,
+see the \fBfs getcellstatus\fR and \fBfs setcell\fR reference pages.
+.IP "\(bu" 4
+Which \s-1AFS\s0 server processes the local \s-1AFS\s0 command interpreters contact by
+default as they execute commands issued on the machine.
+.PP
+The client version of the \fIThisCell\fR file is distinct from the server
+version, which resides in the \fI/usr/afs/etc\fR directory on each \s-1AFS\s0 server
+machine. If a server machine also runs as a client, it is acceptable for
+the server and client versions of the file on the same machine to name
+different cells. However, the behavior that results from this
+configuration can be more confusing than useful.
+.Sh "Server ThisCell"
+.IX Subsection "Server ThisCell"
+The server version of the \fIThisCell\fR file defines the complete Internet
+domain-style name (for example, \f(CW\*(C`abc.com\*(C'\fR) of the cell to which the
+server machine belongs. It must reside in the \fI/usr/afs/etc\fR directory on
+every \s-1AFS\s0 server machine.
+.PP
+The file is in \s-1ASCII\s0 format and contains a character string on a single
+line. The initial version of the file is created with the \fBbos
+setcellname\fR command during the installation of the cell's first file
+server machine, and the \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR includes instructions
+for copying it over to additional server machine during their
+installation.
+.PP
+The only reason to edit the file is as part of changing the cell's name,
+which is strongly discouraged because of the large number of configuration
+changes involved. In particular, changing the cell name requires
+rebuilding the entire Authentication Database, because the Authentication
+Server combines the cell name it finds in this file with each user and
+server password and converts the combination into an encryption key before
+recording it in the Database.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_setcellname\fR\|(8),
+\&\fIfs_getcellstatus\fR\|(1),
+\&\fIfs_setcell\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USERLIST 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USERLIST 5"
++.TH USERLIST 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+UserList \- Defines privileged administrators
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIUserList\fR file lists the \s-1AFS\s0 usernames of the system administrators
+authorized to issue privileged \fBbos\fR, \fBvos\fR, and \fBbackup\fR commands that
+affect the local server machine or the volumes housed on it. It must
+reside in the \fI/usr/afs/etc\fR directory on every server machine.
+.PP
+Although the \fIUserList\fR file is in \s-1ASCII\s0 format, do not use a text editor
+to alter it. Instead always use the appropriate commands from the \fBbos\fR
+command suite:
+.IP "\(bu" 4
+The \fBbos adduser\fR command to add a user to the file.
+.IP "\(bu" 4
+The \fBbos listusers\fR command to display the contents of the file.
+.IP "\(bu" 4
+The \fBbos removeuser\fR command to remove a user from the file.
+.PP
+Although it is theoretically possible to list different administrators in
+the \fIUserList\fR files on different server machines, doing so can cause
+unanticipated authorization failures and is not recommended. In cells that
+use the Update Server to distribute the contents of the \fI/usr/afs/etc\fR
+directory, it is customary to edit only the copy of the file stored on the
+system control machine. Otherwise, edit the file on each server machine
+individually.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_adduser\fR\|(8),
+\&\fIbos_listusers\fR\|(8),
+\&\fIbos_removeuser\fR\|(8),
+\&\fIupclient\fR\|(8),
+\&\fIupserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VLLOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VLLOG 5"
++.TH VLLOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+VLLog \- Traces Volume Location Server operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIVLLog\fR file records a trace of Volume Location (\s-1VL\s0) Server
+(\fBvlserver\fR process) operations on the local machine and describes any
+error conditions it encounters.
+.PP
+If the \fIVLLog\fR file does not already exist in the
+\&\fI/usr/afs/logs\fR directory when the \s-1VL\s0 Server starts, the server
+process creates it and writes initial start-up messages to it. If there
+is an existing file, the \s-1VL\s0 Server renames it to \fIVLLog.old\fR,
+overwriting the existing \fIVLLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log onto the server machine and use a text
+editor or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By
+default, the mode bits on the \fIVLLog\fR file grant the required \f(CW\*(C`r\*(C'\fR (read)
+permission to all users.
+.PP
+The \s-1VL\s0 Server records operations only as it completes them, and cannot
+recover from failures by reviewing the file. The log contents are useful
+for administrative evaluation of process failures and other problems.
+.PP
+The \s-1VL\s0 Server can record messages at three levels of detail. By default,
+it records only very rudimentary messages. To increase logging to the
+first level of detail, issue the following command while logged onto the
+database server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+.Vb 1
+\& # kill \-TSTP <vlserver_pid>
+.Ve
+.PP
+where <vlserver_pid> is the process \s-1ID\s0 of the vlserver process, as
+reported in the output from the standard \s-1UNIX\s0 \fBps\fR command. To increase
+to the second and third levels of detail, repeat the command.
+.PP
+To disable logging, issue the following command.
+.PP
+.Vb 1
+\& # kill \-HUP <vlserver_pid>
+.Ve
+.PP
+To decrease the level of logging, first completely disable it and then
+issue the \f(CW\*(C`kill \-TSTP\*(C'\fR command as many times as necessary to reach the
+desired level.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIvlserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOLSERLOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOLSERLOG 5"
++.TH VOLSERLOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+VolserLog \- Traces Volume Server operations
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIVolserLog\fR file records a trace of Volume Server (\fBvolserver\fR
+process) operations on the local machine and describes any error
+conditions it encounters.
+.PP
+If the VolserLog file does not already exist in the \fI/usr/afs/logs\fR
+directory when the Volume Server starts, the server process creates it and
+writes initial start-up messages to it. If there is an existing file, the
+Volume Server renames it to \fIVolserLog.old\fR, overwriting the existing
+\&\fIVolserLog.old\fR file if it exists.
+.PP
+The file is in \s-1ASCII\s0 format. Administrators listed in the
+\&\fI/usr/afs/etc/UserList\fR file can use the \fBbos getlog\fR command to display
+its contents. Alternatively, log onto the file server machine and use a
+text editor or a file display command such as the \s-1UNIX\s0 \fBcat\fR command. By
+default, the mode bits on the \fIVolserLog\fR file grant the required \f(CW\*(C`r\*(C'\fR
+(read) permission to all users.
+.PP
+The Volume Server records operations only as it completes them, and so
+cannot recover from failures by reviewing the file. The log contents are
+useful for administrative evaluation of process failures and other
+problems.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIvolserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFS 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFS 5"
++.TH AFS 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afs \- Introduction to AFS files
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+A number of files must reside on the local disk of \s-1AFS\s0 server and client
+machines. They belong to the following general categories:
+.IP "\(bu" 4
+\&\fIConfiguration files\fR define configuration parameters for specific server
+and kernel processes such as the Backup System Tape Coordinator or the
+Cache Manager.
+.IP "\(bu" 4
+\&\fIAdministrative files\fR list information used in administration of server
+machines, such as a list of privileged users or server encryption keys.
+.IP "\(bu" 4
+\&\fICache-related files\fR contain cached data or information about cached
+data, on client machines.
+.IP "\(bu" 4
+\&\fILog files\fR contain tracing messages about the operation of a specific
+process.
+.IP "\(bu" 4
+\&\fIDatabase files\fR contain database records used to administer the \s-1AFS\s0
+cell.
+.IP "\(bu" 4
+\&\fIController files\fR control the behavior of a process.
+.IP "\(bu" 4
+\&\fIVolume header files\fR represent \s-1AFS\s0 volumes on server partitions.
+.PP
+For a description of the format and contents of each file, see its
+reference page.
+.PP
+Note for Windows users: Some files described in this document possibly do
+not exist on machines that run a Windows operating system. Also, Windows
+uses a backslash (\f(CW\*(C`\e\*(C'\fR) rather than a forward slash (\f(CW\*(C`/\*(C'\fR) to separate the
+elements in a pathname.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+Configuration files:
+.IP "\fIBosConfig\fR\|(5)" 4
+.IX Item "BosConfig"
+.PD 0
+.IP "\fICellServDB\fR\|(5)" 4
+.IX Item "CellServDB"
+.IP "\fINetInfo\fR\|(5)" 4
+.IX Item "NetInfo"
+.IP "\fINetRestrict\fR\|(5)" 4
+.IX Item "NetRestrict"
+.IP "\fIThisCell\fR\|(5)" 4
+.IX Item "ThisCell"
+.IP "\fIbutc\fR\|(5)" 4
+.IX Item "butc"
+.IP "\fIcacheinfo\fR\|(5)" 4
+.IX Item "cacheinfo"
+.IP "\fIkrb.conf\fR\|(5)" 4
+.IX Item "krb.conf"
+.IP "\fIpackage\fR\|(5)" 4
+.IX Item "package"
+.IP "\fIsysid\fR\|(5)" 4
+.IX Item "sysid"
+.IP "\fItapeconfig\fR\|(5)" 4
+.IX Item "tapeconfig"
+.IP "\fIuss\fR\|(5)" 4
+.IX Item "uss"
+.IP "\fIuss_bulk\fR\|(5)" 4
+.IX Item "uss_bulk"
+.PD
+.PP
+Administrative files:
+.IP "\fIKeyFile\fR\|(5)" 4
+.IX Item "KeyFile"
+.PD 0
+.IP "\fIUserList\fR\|(5)" 4
+.IX Item "UserList"
+.PD
+.PP
+Cache-related files:
+.IP "\fIafs_cache\fR\|(5)" 4
+.IX Item "afs_cache"
+.PP
+Log files:
+.IP "\fIAuthLog\fR\|(5)" 4
+.IX Item "AuthLog"
+.PD 0
+.IP "\fIBackupLog\fR\|(5)" 4
+.IX Item "BackupLog"
+.IP "\fIBosLog\fR\|(5)" 4
+.IX Item "BosLog"
+.IP "\fIFileLog\fR\|(5)" 4
+.IX Item "FileLog"
+.IP "\fISalvageLog\fR\|(5)" 4
+.IX Item "SalvageLog"
+.IP "\fIVLLog\fR\|(5)" 4
+.IX Item "VLLog"
+.IP "\fIVolserLog\fR\|(5)" 4
+.IX Item "VolserLog"
+.IP "\fIbutc\fR\|(5)" 4
+.IX Item "butc"
+.IP "\fIfms.log\fR\|(5)" 4
+.IX Item "fms.log"
+.PD
+.PP
+Database files:
+.IP "\fIbdb.DB0\fR\|(5)" 4
+.IX Item "bdb.DB0"
+.PD 0
+.IP "\fIkaserver.DB0\fR\|(5)" 4
+.IX Item "kaserver.DB0"
+.IP "\fIkaserverauxdb\fR\|(5)" 4
+.IX Item "kaserverauxdb"
+.IP "\fIprdb.DB0\fR\|(5)" 4
+.IX Item "prdb.DB0"
+.IP "\fIvldb.DB0\fR\|(5)" 4
+.IX Item "vldb.DB0"
+.PD
+.PP
+Controller files:
+.IP "\s-1\fIFORCESALVAGE\s0\fR\|(5)" 4
+.IX Item "FORCESALVAGE"
+.PD 0
+.IP "\fINoAuth\fR\|(5)" 4
+.IX Item "NoAuth"
+.IP "\s-1\fISALVAGE\s0.fs\fR\|(5)" 4
+.IX Item "SALVAGE.fs"
+.IP "\fIsalvage.lock\fR\|(5)" 4
+.IX Item "salvage.lock"
+.PD
+.PP
+Volume header files:
+.IP "\fIafs_volume_header\fR\|(5)" 4
+.IX Item "afs_volume_header"
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFS_CACHE 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFS_CACHE 5"
++.TH AFS_CACHE 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afs_cache \- Format of data stored in an AFS client disk cache
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The disk cache on a client machine is composed of multiple \fIV\fIn\fI\fR files
+that contain the data, a \fICacheItems\fR file that records index information
+for all of the \fIV\fIn\fI\fR files, and a \fIVolumeItems\fR file that records the
+mapping between volume name and mount point for volumes.
+.PP
+When it initializes, the Cache Manager creates the cache files in the
+configured cache location. The standard directory name is
+\&\fI/usr/vice/cache\fR, but it is acceptable to use a directory on a partition
+with more available space. To designate a different directory, change the
+value in the second field of the \fI/usr/vice/etc/cacheinfo\fR file before
+issuing the \fBafsd\fR command, or include the \fB\-cachedir\fR argument to the
+\&\fBafsd\fR command.
+.Sh "\fICacheItems\fP"
+.IX Subsection "CacheItems"
+The CacheItems file records information about each file in the disk cache
+on a client machine (each \fIV\fIn\fI\fR file). The information includes the
+file \s-1ID\s0 number and associated volume version number of the \s-1AFS\s0 file
+currently stored in the \fBV\fR\fIn\fR file, which enables the Cache Manager to
+determine which \fIV\fIn\fI\fR file contains the \s-1AFS\s0 data it needs to present to
+an application.
+.PP
+As it initializes, the Cache Manager creates the binary-format
+\&\fICacheItems\fR file in the same local disk cache directory as the \fIV\fIn\fI\fR
+files that the \fICacheItems\fR file describes, and it must always remain
+there.
+.Sh "\fIVolumeItems\fP"
+.IX Subsection "VolumeItems"
+The \fIVolumeItems\fR file records the mapping between volume name and mount
+point for each volume that the Cache Manager has accessed since it
+initialized on a client machine using a disk cache. The Cache Manager uses
+the mappings to respond correctly to queries about the current working
+directory, which can come from the operating system or commands such as
+the \s-1UNIX\s0 \fBpwd\fR command.
+.PP
+As it initializes, the Cache Manager creates the binary-format
+\&\fIVolumeItems\fR file in the local disk cache directory, and it must always
+remain there.
+.Sh "\fIVn\fP"
+.IX Subsection "Vn"
+A \fIV\fIn\fI\fR file can store a chunk of cached \s-1AFS\s0 data on a client machine
+that is using a disk cache. As the Cache Manager initializes, it verifies
+that the local disk cache directory houses a number of \fIV\fIn\fI\fR files
+equal to the largest of the following:
+.IP "\(bu" 4
+100
+.IP "\(bu" 4
+One and a half times the result of dividing the cache size by the chunk
+size (cachesize/chunksize * 1.5).
+.IP "\(bu" 4
+The result of dividing the cache size by 10 \s-1MB\s0 (10,240).
+.PP
+The Cache Manager determines the cache size from the \fB\-blocks\fR argument
+to the \fBafsd\fR command, or if the argument is not included, from the third
+field of the \fI/usr/vice/etc/cacheinfo\fR file. The default chunk size is
+64 \s-1KB\s0; use the \fB\-chunksize\fR argument to the \fBafsd\fR command to override
+it. To override the default number of chunks resulting from the
+calculation, include the \fB\-files\fR argument to the \fBafsd\fR
+command. \fIafsd\fR\|(8) describes the restrictions on acceptable values for
+each of the arguments.
+.PP
+If the disk cache directory houses fewer \fIV\fIn\fI\fR files than necessary,
+the Cache Manager creates new ones, assigning each a unique integer \fIn\fR
+that distinguishes it from the other files; the integers start with 1 and
+increment by one for each \fIV\fIn\fI\fR file created. The Cache Manager removes
+files if there are more than necessary. The Cache Manager also adds and
+removes \fIV\fIn\fI\fR files in response to the \fBfs setcachesize\fR command,
+which can be used to alter the cache size between reboots.
+.PP
+\&\fIV\fIn\fI\fR files expand and contract to accommodate the size of the \s-1AFS\s0
+directory listing or file they temporarily house. As mentioned, by default
+each \fIV\fIn\fI\fR file holds up to 64 \s-1KB\s0 (65,536 bytes) of a cached \s-1AFS\s0
+element. \s-1AFS\s0 elements larger than 64 \s-1KB\s0 are divided among multiple
+\&\fBV\fR\fIn\fR files. If an element is smaller than 64 \s-1KB\s0, the \fIV\fIn\fI\fR file
+expands only to the required size. A \fIV\fIn\fI\fR file accommodates only a
+single element, so if there many small cached elements, it is possible to
+exhaust the available \fIV\fIn\fI\fR files without reaching the maximum cache
+size.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Editing or removing the \fICacheItems\fR or \fIVolumeItems\fR files or a
+\&\fIV\fIn\fI\fR file can cause a kernel panic. If the contents of \fIV\fIn\fI\fR files
+seem out of date, clear the files by using the \fBfs flush\fR or \fBfs
+flushvolume\fR command. If any of the cache files are accidentally modified
+or deleted, rebooting the machine usually restores normal performance.
+.PP
+To alter cache size (and thus the number of \fIV\fIn\fI\fR files) between
+reboots, use the \fBfs setcachesize\fR command. Alternatively, alter the
+value of the \fB\-blocks\fR, \fB\-files\fR or \fB\-chunksize\fR arguments to the
+\&\fBafsd\fR command invoked in the machine's \s-1AFS\s0 initialization file, and
+reboot. To refresh the contents of one or more \fIV\fIn\fI\fR files, use the
+\&\fBfs flush\fR or \fBfs flushvolume\fR command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIcacheinfo\fR\|(5),
+\&\fIafsd\fR\|(8),
+\&\fIfs_checkvolumes\fR\|(1),
+\&\fIfs_flush\fR\|(1),
+\&\fIfs_flushvolume\fR\|(1),
+\&\fIfs_setcachesize\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFS_VOLUME_HEADER 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFS_VOLUME_HEADER 5"
++.TH AFS_VOLUME_HEADER 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afs_volume_header \- Represents an AFS volume
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIV\fIvol_ID\fI.vol\fR file is the header file for the \s-1AFS\s0 volume with
+volume \s-1ID\s0 \fIvol_ID\fR. There is one such file for each volume stored on an
+\&\s-1AFS\s0 server (\fI/vicep\fR) partition. The header file stores information that
+includes the volume's name, \s-1ID\s0 number, type (read/write, read-only, or
+backup), size and status (online, offline, or busy). To display
+information from the header file, use the \fBvos listvol\fR or \fBvos examine\fR
+command.
+.PP
+The header file points to, but does not contain, the actual data in the
+volume. It is not possible to access the \s-1AFS\s0 data except by mounting the
+volume in the \s-1AFS\s0 filespace and reading its contents through the Cache
+Manager.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFSMONITOR 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFSMONITOR 5"
++.TH AFSMONITOR 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afsmonitor \- Provides instructions for the afsmonitor command
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The afsmonitor configuration file determines which machines the
+\&\fBafsmonitor\fR command probes for File Server or Cache Manager statistics
+and which statistics it gathers. Use the \fB\-config\fR argument to the
+\&\fBafsmonitor\fR command to identify the configuration file to use.
+.PP
+The instructions that can appear in the configuration file are as follows:
+.IP "cm <\fIhost name\fR>" 4
+.IX Item "cm <host name>"
+Names a client machine for which to display Cache Manager statistics. The
+order of \f(CW\*(C`cm\*(C'\fR lines in the file determines the order in which client
+machines appear from top to bottom on the \f(CW\*(C`System Overview\*(C'\fR and \f(CW\*(C`Cache
+Managers\*(C'\fR output screens.
+.IP "fs <\fIhost name\fR>" 4
+.IX Item "fs <host name>"
+Names a file server machine for which to display File Server
+statistics. The order of \f(CW\*(C`fs\*(C'\fR lines in the file determines the order in
+which file server machines appear from top to bottom on the \f(CW\*(C`System
+Overview\*(C'\fR and \f(CW\*(C`File Servers\*(C'\fR output screens.
+.IP "thresh (fs | cm) <\fIfield\fR> <\fIthresh\fR> [<\fIcmd\fR>] [<\fIarg\fR> ...]" 4
+.IX Item "thresh (fs | cm) <field> <thresh> [<cmd>] [<arg> ...]"
+Assigns the threshold value \fIthresh\fR to the statistic \fIfield\fR, for
+either a File Server statistic (\f(CW\*(C`fs\*(C'\fR) or a Cache Manager statistic
+(\f(CW\*(C`cm\*(C'\fR). The optional \fIcmd\fR field names a binary or script to execute
+each time the value of the statistic changes from being below \fIthresh\fR to
+being at or above \fIthresh\fR. A change between two values that both exceed
+\&\fIthresh\fR does not retrigger the binary or script. The optional \fIarg\fR
+fields are additional values that the \fBafsmonitor\fR program passes as
+arguments to the \fIcmd\fR command. If any of them include one or more
+spaces, enclose the entire field in double quotes.
+.Sp
+The \fBafsmonitor\fR program passes the following parameters to the \fIcmd\fR:
+.Sp
+.Vb 1
+\& <hostname> (fs|cm) <field> <thresh> <actual> [<arg> ...]
+.Ve
+.Sp
+The parameters \f(CW\*(C`fs\*(C'\fR, \f(CW\*(C`cm\*(C'\fR, <field>, <thresh>, and <arg> correspond to
+the values with the same name on the thresh line. The <hostname> parameter
+identifies the file server or client machine where the statistic has
+crossed the threshold, and the <actual> parameter is the actual value of
+<field> that exceeds the threshold value.
+.Sp
+Use the \f(CW\*(C`thresh\*(C'\fR line to set either a global threshold, which applies to
+all file server machines listed on \f(CW\*(C`fs\*(C'\fR lines or client machines listed
+on \f(CW\*(C`cm\*(C'\fR lines in the configuration file, or a machine-specific threshold,
+which applies to only one file server or client machine.
+.RS 4
+.IP "\(bu" 4
+To set a global threshold, place the thresh line before any of the \f(CW\*(C`fs\*(C'\fR
+or \f(CW\*(C`cm\*(C'\fR lines in the file.
+.IP "\(bu" 4
+To set a machine-specific threshold, place the thresh line below the
+corresponding \f(CW\*(C`fs\*(C'\fR or \f(CW\*(C`cm\*(C'\fR line, and above any other \f(CW\*(C`fs\*(C'\fR or \f(CW\*(C`cm\*(C'\fR
+lines. A machine-specific threshold value always overrides the
+corresponding global threshold, if set. Do not place a \f(CW\*(C`thresh fs\*(C'\fR line
+directly after a \f(CW\*(C`cm\*(C'\fR line or a \f(CW\*(C`thresh cm\*(C'\fR line directly after a \f(CW\*(C`fs\*(C'\fR
+line.
+.RE
+.RS 4
+.RE
+.IP "show (fs | cm) \fIfield/group/section\fR" 4
+.IX Item "show (fs | cm) field/group/section"
+Specifies which individual statistic, group of statistics, or section of
+statistics to display on the \f(CW\*(C`File Servers\*(C'\fR screen (\f(CW\*(C`fs\*(C'\fR) or \f(CW\*(C`Cache
+Managers\*(C'\fR screen (\f(CW\*(C`cm\*(C'\fR) and the order in which to display them. The
+appendix of \fBafsmonitor\fR statistics in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration
+Guide\fR specifies the group and section to which each statistic
+belongs. Include as many \f(CW\*(C`show\*(C'\fR lines as necessary to customize the
+screen display as desired, and place them anywhere in the file. The
+top-to-bottom order of the \f(CW\*(C`show\*(C'\fR lines in the configuration file
+determines the left-to-right order in which the statistics appear on the
+corresponding screen.
+.Sp
+If there are no \f(CW\*(C`show\*(C'\fR lines in the configuration file, then the screens
+display all statistics for both Cache Managers and File
+Servers. Similarly, if there are no \f(CW\*(C`show fs\*(C'\fR lines, the \f(CW\*(C`File Servers\*(C'\fR
+screen displays all file server statistics, and if there are no \f(CW\*(C`show cm\*(C'\fR
+lines, the \f(CW\*(C`Cache Managers\*(C'\fR screen displays all client statistics.
+.IP "# \fIcomments\fR" 4
+.IX Item "# comments"
+Precedes a line of text that the afsmonitor program ignores because of the
+initial number (\f(CW\*(C`#\*(C'\fR) sign, which must appear in the very first column of
+the line.
+.PP
+For a list of the values that can appear in the \fIfield/group/section\fR
+field of a \f(CW\*(C`show\*(C'\fR instruction, see the \fBafsmonitor\fR statistics appendix
+to the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsmonitor\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFSZCM.CAT 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFSZCM.CAT 5"
++.TH AFSZCM.CAT 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afszcm.cat \- Error message catalog for debugging the Cache Manager
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIafszcm.cat\fR file is a message catalog for the Cache Manager. The
+\&\fBfstrace dump\fR command interpreter uses it in conjunction with the
+standard \s-1UNIX\s0 catalog utilities to translate Cache Manager operation codes
+into character strings as it writes traces in the \fBfstrace\fR trace log,
+which makes the log more readable.
+.PP
+The conventional location for the file is the \fI/usr/vice/etc/C/\fR
+directory. It can be placed in another directory if the \s-1NLSPATH\s0 and \s-1LANG\s0
+environment variables are set appropriately.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fIfstrace_dump\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BDB.DB0 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BDB.DB0 5"
++.TH BDB.DB0 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bdb.DB0, bdb.DBSYS1 \- Contain the Backup Database and associated log
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIbdb.DB0\fR file contains the Backup Database, which records
+configuration information used by the \s-1AFS\s0 Backup System along with
+cross-indexed records of the tapes created and volumes dumped using the
+Backup System commands.
+.PP
+The \fIbdb.DBSYS1\fR file is a log file in which the Backup Server
+(\fBbuserver\fR process) logs each database operation before performing
+it. When an operation is interrupted, the Backup Server replays the log to
+complete the operation.
+.PP
+Both files are in binary format and reside in the \fI/usr/afs/db\fR directory
+on each database server machine that runs the Backup Server. When the
+Backup Server starts or restarts on a given machine, it establishes a
+connection with its peers and verifies that its copy of the \fIbdb.DB0\fR
+file matches the copy on the other database server machines. If not, the
+Backup Servers use \s-1AFS\s0's distributed database technology, Ubik, to
+distribute to all of the machines the copy of the database with the
+highest version number.
+.PP
+Use the commands in the backup suite to administer the Backup Database. It
+is advisable to create a backup copy of the \fIbdb.DB0\fR file on tape on a
+regular basis, using the \s-1UNIX\s0 \fBtar\fR command or another local disk backup
+utility.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_savedb\fR\|(8),
+\&\fIbuserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BUTC 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BUTC 5"
++.TH BUTC 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+butc \- Defines Tape Coordinator instructions for automated tape devices
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fI\s-1CFG_\s0\fIdevice_name\fI\fR file includes instructions that configure a Tape
+Coordinator (\fBbutc\fR) for use with automated backup devices such as tape
+stackers and jukeboxes, enable the Tape Coordinator to dump and restore
+data to a \fIbackup data file\fR on a local disk device, and enable greater
+automation of other aspects of the backup process.
+.PP
+There is a separate configuration file for each tape device or backup data
+file. Creating the file is optional, and unnecessary if none of the
+instructions it can include pertain to a given tape device. The
+ASCII-format file must reside in the \fI/usr/afs/backup\fR directory on the
+Tape Coordinator machine if it exists.
+.PP
+The \fI\s-1CFG_\s0\fIdevice_name\fI\fR file does not replace the
+\&\fI/usr/afs/backup/tapeconfig\fR file, a single copy of which still must
+exist on every Tape Coordinator machine.
+.PP
+To enable the Tape Coordinator to locate the configuration file, construct
+the variable part of the filename, \fIdevice_name\fR, as follows:
+.IP "\(bu" 4
+For a tape device, strip off the initial \f(CW\*(C`/dev/\*(C'\fR string from the device
+name, and replace any other slashes in the name with underscores. For
+example, \fICFG_rmt_4m\fR is the appropriate filename for a device called
+\&\fI/dev/rmt/4m\fR.
+.IP "\(bu" 4
+For a backup data file, strip off the initial slash (\f(CW\*(C`/\*(C'\fR) and replace any
+other slashes in the name with underscores. For example,
+\&\fICFG_var_tmp_FILE\fR is the appropriate filename for a backup data file
+called \fI/var/tmp/FILE\fR.
+.PP
+The \fI\s-1CFG_\s0\fIdevice_name\fI\fR file lists one or more of the following
+instructions, each on its own line. All are optional, and they can appear
+in any order. A more detailed description of each instruction follows the
+list:
+.IP "\s-1ASK\s0" 4
+.IX Item "ASK"
+Controls whether the Tape Coordinator prompts for guidance when it
+encounters error conditions.
+.IP "\s-1AUTOQUERY\s0" 4
+.IX Item "AUTOQUERY"
+Controls whether the Tape Coordinator prompts for the first tape.
+.IP "\s-1BUFFERSIZE\s0" 4
+.IX Item "BUFFERSIZE"
+Sets the size of the memory buffer the Tape Coordinator uses when
+transferring data.
+.IP "\s-1FILE\s0" 4
+.IX Item "FILE"
+Controls whether the dump is written to a tape device or a file.
+.IP "\s-1MOUNT\s0" 4
+.IX Item "MOUNT"
+Identifies the file that contains routines for inserting tapes into the
+device's drive.
+.IP "\s-1NAME_CHECK\s0" 4
+.IX Item "NAME_CHECK"
+Controls whether the Tape Coordinator verifies that a tape's \s-1AFS\s0 tape
+name matches the dump being written.
+.IP "\s-1UNMOUNT\s0" 4
+.IX Item "UNMOUNT"
+Identifies the file that contains routines for removing tapes from the
+device's drive.
+.Sh "The \s-1ASK\s0 Instruction"
+.IX Subsection "The ASK Instruction"
+The \f(CW\*(C`ASK\*(C'\fR instruction takes a boolean value as its argument, in the
+following format:
+.PP
+.Vb 1
+\& ASK (YES | NO)
+.Ve
+.PP
+When the value is \f(CW\*(C`YES\*(C'\fR, the Tape Coordinator generates a prompt in its
+window, requesting a response to the error cases described in the
+following list. This is the default behavior if the \f(CW\*(C`ASK\*(C'\fR instruction
+does not appear in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file.
+.PP
+When the value is \f(CW\*(C`NO\*(C'\fR, the Tape Coordinator does not prompt in error
+cases, but instead uses the automatic default responses described in the
+following list. The Tape Coordinator also logs the error in the
+\&\fI\s-1TE_\s0\fIdevice_name\fI\fR file. Suppressing the prompts enables the Tape
+Coordinator to run unattended, though it still prompts for insertion of
+tapes unless the \f(CW\*(C`MOUNT\*(C'\fR instruction is used.
+.PP
+The error cases controlled by this instruction are the following:
+.IP "\(bu" 4
+The Backup System is unable to dump a volume while running the backup dump
+command. With a \f(CW\*(C`YES\*(C'\fR value, the Tape Coordinator prompts to offer three
+choices: try to dump the volume again immediately, omit the volume from
+the dump but continue the operation, or terminate the operation. With a
+\&\f(CW\*(C`NO\*(C'\fR value, the Tape Coordinator omits the volume from the dump and
+continues the operation.
+.IP "\(bu" 4
+The Backup System is unable to restore a volume while running the \fBbackup
+diskrestore\fR, \fBbackup volrestore\fR, or \fBbackup volsetrestore\fR
+command. With a \f(CW\*(C`YES\*(C'\fR value, the Tape Coordinator prompts to offer two
+choices: omit the volume and continue restoring the other volumes, or
+terminate the operation. With a \f(CW\*(C`NO\*(C'\fR value, it continues the operation
+without prompting, omitting the problematic volume but restoring the
+remaining ones.
+.IP "\(bu" 4
+The Backup System cannot determine if the dump set includes any more
+tapes, while running the \fBbackup scantape\fR command (the reference page
+for that command discusses possible reasons for this problem). With a
+\&\f(CW\*(C`YES\*(C'\fR value, the Tape Coordinator prompts to ask if there are more tapes
+to scan. With a \f(CW\*(C`NO\*(C'\fR value, it proceeds as though there are more tapes
+and invokes the routine named by the \f(CW\*(C`MOUNT\*(C'\fR instruction in the
+configuration file, or prompts the operator to insert the next tape.
+.IP "\(bu" 4
+The Backup System determines that the tape contains an unexpired dump
+while running the \fBbackup labeltape\fR command. With a \f(CW\*(C`YES\*(C'\fR value, the
+Tape Coordinator prompts to offer two choices: continue or terminate the
+labeling operation. With a \f(CW\*(C`NO\*(C'\fR value, it terminates the operation
+without relabeling the tape.
+.Sh "The \s-1AUTOQUERY\s0 Instruction"
+.IX Subsection "The AUTOQUERY Instruction"
+The \f(CW\*(C`AUTOQUERY\*(C'\fR instruction takes a boolean value as its argument,
+in the following format:
+.PP
+.Vb 1
+\& AUTOQUERY (YES | NO)
+.Ve
+.PP
+When the value is \f(CW\*(C`YES\*(C'\fR, the Tape Coordinator checks for the \f(CW\*(C`MOUNT\*(C'\fR
+instruction in the configuration file when it needs to read the first tape
+involved in an operation. As described for that instruction, it then
+either prompts for the tape or invokes the specified routine to mount the
+tape. This is the default behavior if the \f(CW\*(C`AUTOQUERY\*(C'\fR instruction does
+not appear in the configuration file.
+.PP
+When the value is \f(CW\*(C`NO\*(C'\fR, the Tape Coordinator assumes that the first tape
+required for an operation is already in the drive. It does not prompt the
+operator or invoke the \f(CW\*(C`MOUNT\*(C'\fR routine unless there is an error in
+accessing the first tape. This setting is equivalent in effect to
+including the \fB\-noautoquery\fR flag to the \fBbutc\fR command.
+.PP
+Note that the setting of the \f(CW\*(C`AUTOQUERY\*(C'\fR instruction controls the Tape
+Coordinator's behavior only with respect to the first tape required for an
+operation. For subsequent tapes, the Tape Coordinator always checks for
+the \f(CW\*(C`MOUNT\*(C'\fR instruction. It also refers to the \f(CW\*(C`MOUNT\*(C'\fR instruction if it
+encounters an error while attempting to access the first tape.
+.Sh "The \s-1BUFFERSIZE\s0 Instruction"
+.IX Subsection "The BUFFERSIZE Instruction"
+The \f(CW\*(C`BUFFERSIZE\*(C'\fR instruction takes an integer value, and optionally
+units, in the following format:
+.PP
+.Vb 1
+\& BUFFERSIZE <size>[(k | K | m | M | g | G)]
+.Ve
+.PP
+where <size> specifies the amount of memory the Tape Coordinator allocates
+to use as a buffer during both dump and restore operations. The default
+unit is bytes, but use \f(CW\*(C`k\*(C'\fR or \f(CW\*(C`K\*(C'\fR to specify kilobytes, \f(CW\*(C`m\*(C'\fR or \f(CW\*(C`M\*(C'\fR for
+megabytes, and \f(CW\*(C`g\*(C'\fR or \f(CW\*(C`G\*(C'\fR for gigabytes. There is no space between the
+<size> value and the units letter.
+.PP
+By default, the Tape Coordinator uses a 16 \s-1KB\s0 buffer during dump
+operations. As it receives volume data from the Volume Server, the Tape
+Coordinator gathers 16 \s-1KB\s0 of data in the buffer before transferring the
+entire 16 \s-1KB\s0 to the tape device or backup data file. Similarly, during a
+restore operation the Tape Coordinator by default buffers 32 \s-1KB\s0 of data
+from the tape device or backup data file before transferring the entire 32
+\&\s-1KB\s0 to the Volume Server for restoration into the file system. Buffering
+makes the volume of data flowing to and from a tape device more even and
+so promotes tape streaming, which is the most efficient way for a tape
+device to operate.
+.PP
+In a normal network configuration, the default buffer sizes are usually
+large enough to promote tape streaming. If the network between the Tape
+Coordinator machine and file server machines is slow, it can help to
+increase the buffer size.
+.Sh "The \s-1FILE\s0 Instruction"
+.IX Subsection "The FILE Instruction"
+The \f(CW\*(C`FILE\*(C'\fR instruction takes a boolean value as its argument, in the
+following format:
+.PP
+.Vb 1
+\& FILE (NO | YES)
+.Ve
+.PP
+When the value is \f(CW\*(C`NO\*(C'\fR, the Tape Coordinator writes to a tape device
+during a dump operation and reads from one during a restore
+operation. This is the default behavior if the \f(CW\*(C`FILE\*(C'\fR instruction does
+not appear in the configuration file.
+.PP
+When the value is \f(CW\*(C`YES\*(C'\fR, the Tape Coordinator writes volume data to a
+backup data file on the local disk during a dump operation and reads
+volume data from a file during a restore operation. If the file does not
+exist when the Tape Coordinator attempts to access it to write a dump, the
+Tape Coordinator creates it. For a restore operation to succeed, the file
+must exist and contain volume data previously written to it by a \fBbackup
+dump\fR operation.
+.PP
+When the value is \f(CW\*(C`YES\*(C'\fR, the backup data file's complete pathname must
+appear (instead of a tape drive device name) in the third field of the
+corresponding port offset entry in the local \fI/usr/afs/backup/tapeconfig\fR
+file. If the field instead refers to a tape device, dump operations appear
+to succeed but are inoperative. It is not possible to restore data that
+was accidently dumped to a tape device while the \f(CW\*(C`FILE\*(C'\fR instruction was
+set to \f(CW\*(C`YES\*(C'\fR. (In the same way, if the \f(CW\*(C`FILE\*(C'\fR instruction is set to
+\&\f(CW\*(C`NO\*(C'\fR, the \fItapeconfig\fR entry must refer to an actual tape device.)
+.PP
+Rather than put an actual file pathname in the third field of the
+\&\fItapeconfig\fR file, however, the recommended configuration is to create a
+symbolic link in the \fI/dev\fR directory that points to the actual file
+pathname, and record the symbolic link in this field. This configuration
+has a couple of advantages:
+.IP "\(bu" 4
+It makes the \fIdevice_name\fR portion of the \fI\s-1CFG_\s0\fIdevice_name\fI\fR,
+\&\fI\s-1TE_\s0\fIdevice_name\fI\fR, and \fI\s-1TL_\s0\fIdevice_name\fI\fR names as short as
+possible. Because the symbolic link is in the \fI/dev\fR directory as though
+it were a tape device, the device configuration file's name is constructed
+by stripping off the entire \fI/dev/\fR prefix, instead of just the initial
+slash. If, for example, the symbolic link is called \fI/dev/FILE\fR, the
+device configuration file name is \fI\s-1CFG_FILE\s0\fR, whereas if the actual
+pathname \fI/var/tmp/FILE\fR appears in the \fBtapeconfig\fR file, the file's
+name must be \fICFG_var_tmp_FILE\fR.
+.IP "\(bu" 4
+It provides for a more graceful, and potentially automated, recovery if
+the Tape Coordinator cannot write a complete dump into the backup data
+file (because the partition housing the backup data file becomes full, for
+example). The Tape Coordinator's reaction to this problem is to invoke the
+\&\f(CW\*(C`MOUNT\*(C'\fR script, or to prompt the operator if the \f(CW\*(C`MOUNT\*(C'\fR instruction
+does not appear in the configuration file.
+.RS 4
+.IP "\(bu" 4
+If there is a \f(CW\*(C`MOUNT\*(C'\fR routine, the operator can prepare for this
+situation by adding a subroutine that changes the symbolic link to point
+to another backup data file on a partition where there is space available.
+.IP "\(bu" 4
+If there is no \f(CW\*(C`MOUNT\*(C'\fR instruction, the prompt enables the operator
+manually to change the symbolic link to point to another backup data file,
+then press Return to signal that the Tape Coordinator can continue the
+operation.
+.RE
+.RS 4
+.RE
+.PP
+If the third field in the \fItapeconfig\fR file names the actual file, there
+is no way to recover from exhausting the space on the partition that
+houses the backup data file. It is not possible to change the
+\&\fItapeconfig\fR file in the middle of an operation.
+.PP
+When writing to a backup data file, the Tape Coordinator writes data at 16
+\&\s-1KB\s0 offsets. If a given block of data (such as the marker that signals the
+beginning or end of a volume) does not fill the entire 16 \s-1KB\s0, the Tape
+Coordinator still skips to the next offset before writing the next
+block. In the output of a \fBbackup dumpinfo\fR command issued with the
+\&\fB\-id\fR option, the value in the \f(CW\*(C`Pos\*(C'\fR column is the ordinal of the 16\-KB
+offset at which the volume data begins, and so is not generally only one
+higher than the position number on the previous line, as it is for dumps
+to tape.
+.Sh "The \s-1MOUNT\s0 Instruction"
+.IX Subsection "The MOUNT Instruction"
+The \f(CW\*(C`MOUNT\*(C'\fR instruction takes a pathname as its argument, in the
+following format:
+.PP
+.Vb 1
+\& MOUNT <filename>
+.Ve
+.PP
+The referenced executable file must reside on the local disk and contain a
+shell script or program that directs an automated tape device, such as a
+jukebox or stacker, to mount a tape (insert it into the tape reader). The
+operator must write the routine to invoke the mount command specified by
+the device's manufacturer; \s-1AFS\s0 does not include any scripts, although an
+example appears in \s-1EXAMPLES\s0. The script or program inherits the Tape
+Coordinator's \s-1AFS\s0 authentication status.
+.PP
+When the Tape Coordinator needs to mount a tape, it checks the
+configuration file for a \f(CW\*(C`MOUNT\*(C'\fR instruction. If there is no \f(CW\*(C`MOUNT\*(C'\fR
+instruction, the Tape Coordinator prompts the operator to insert a tape
+before it attempts to open the tape device. If there is a \f(CW\*(C`MOUNT\*(C'\fR
+instruction, the Tape Coordinator executes the routine in the referenced
+file. The routine invoked by the \f(CW\*(C`MOUNT\*(C'\fR instruction inherits the local
+identity (\s-1UNIX\s0 \s-1UID\s0) and \s-1AFS\s0 tokens of the \fBbutc\fR command's issuer.
+.PP
+There is an exception to this sequence: if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction
+appears in the configuration file, or the \fB\-noautoquery\fR flag was
+included on the \fBbutc\fR command, then the Tape Coordinator assumes that
+the operator has already inserted the first tape needed for a given
+operation. It attempts to read the tape immediately, and only checks for
+the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts the operator if the tape is missing or
+is not the required one.
+.PP
+When the Tape Coordinator invokes the routine indicated by the \f(CW\*(C`MOUNT\*(C'\fR
+instruction, it passes the following parameters to the routine in the
+indicated order:
+.IP "\(bu" 4
+The tape device or backup data file's pathname, as recorded in the
+\&\fI/usr/afs/backup/tapeconfig\fR file.
+.IP "\(bu" 4
+The tape operation, which (except for the exceptions noted in the
+following list) matches the \fBbackup\fR command operation code used to
+initiate the operation:
+.RS 4
+.IP "\(bu" 4
+\&\f(CW\*(C`appenddump\*(C'\fR (when a backup dump command includes the \fB\-append\fR flag).
+.IP "\(bu" 4
+\&\f(CW\*(C`dump\*(C'\fR (when a backup dump command does not include the \fB\-append\fR flag).
+.IP "\(bu" 4
+\&\f(CW\*(C`labeltape\*(C'\fR
+.IP "\(bu" 4
+\&\f(CW\*(C`readlabel\*(C'\fR
+.IP "\(bu" 4
+\&\f(CW\*(C`restore\*(C'\fR (for a \fBbackup diskrestore\fR, backup volrestore, or \fBbackup
+volsetrestore\fR command).
+.IP "\(bu" 4
+\&\f(CW\*(C`restoredb\*(C'\fR
+.IP "\(bu" 4
+\&\f(CW\*(C`savedb\*(C'\fR
+.IP "\(bu" 4
+\&\f(CW\*(C`scantape\*(C'\fR
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The number of times the Tape Coordinator has attempted to open the tape
+device or backup data file. If the open attempt returns an error, the Tape
+Coordinator increments this value by one and again invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction.
+.IP "\(bu" 4
+The tape name. For some operations, the Tape Coordinator passes the string
+\&\f(CW\*(C`none\*(C'\fR, because it does not know the tape name (when running the \fBbackup
+scantape\fR or \fBbackup readlabel\fR, for example), or because the tape does
+not necessarily have a name (when running the \fBbackup labeltape\fR command,
+for example).
+.IP "\(bu" 4
+The tape \s-1ID\s0 recorded in the Backup Database. As with the tape name, the
+Backup System passes the string \f(CW\*(C`none\*(C'\fR for operations where it does not
+know the tape \s-1ID\s0 or the tape does not necessarily have an \s-1ID\s0.
+.PP
+The routine invoked by the \f(CW\*(C`MOUNT\*(C'\fR instruction must return an exit code
+to the Tape Coordinator:
+.IP "\(bu" 4
+Code 0 (zero) indicates that the routine successfully mounted the
+tape. The Tape Coordinator continues the backup operation. If the routine
+invoked by the \f(CW\*(C`MOUNT\*(C'\fR instruction does not return this exit code, the
+Tape Coordinator never calls the \f(CW\*(C`UNMOUNT\*(C'\fR instruction.
+.IP "\(bu" 4
+Code 1 (one) indicates that the routine failed to mount the tape. The Tape
+Coordinator terminates the operation.
+.IP "\(bu" 4
+Any other code indicates that the routine was not able to access the
+correct tape. The Tape Coordinator prompts the operator to insert the
+correct tape.
+.PP
+If the backup command was issued in interactive mode and the operator
+issues the \fBbackup kill\fR command while the \f(CW\*(C`MOUNT\*(C'\fR routine is running,
+the Tape Coordinator passes the termination signal to the routine; the
+entire operation terminates.
+.Sh "The \s-1NAME_CHECK\s0 Instruction"
+.IX Subsection "The NAME_CHECK Instruction"
+The \f(CW\*(C`NAME_CHECK\*(C'\fR instruction takes a boolean value as its argument, in
+the following format:
+.PP
+.Vb 1
+\& NAME_CHECK (YES | NO)
+.Ve
+.PP
+When the value is \f(CW\*(C`YES\*(C'\fR and the tape does not have a permanent name, the
+Tape Coordinator checks the \s-1AFS\s0 tape name when dumping a volume in
+response to the \fBbackup dump\fR command. The \s-1AFS\s0 tape name must be \f(CW\*(C`<NULL>\*(C'\fR or match the tape name that the \fBbackup dump\fR operation assigns
+based on the volume set and dump level names. This is the default behavior
+if the \f(CW\*(C`NAME_CHECK\*(C'\fR instruction does not appear in the configuration
+file.
+.PP
+When the value is \f(CW\*(C`NO\*(C'\fR, the Tape Coordinator does not check the \s-1AFS\s0 tape
+name before writing to the tape.
+.PP
+The Tape Coordinator always checks that all dumps on the tape are expired,
+and refuses to write to a tape that contains unexpired dumps.
+.Sh "The \s-1UNMOUNT\s0 Instruction"
+.IX Subsection "The UNMOUNT Instruction"
+The \f(CW\*(C`UNMOUNT\*(C'\fR instruction takes a pathname as its argument, in the
+following format:
+.PP
+.Vb 1
+\& UNMOUNT <filename>
+.Ve
+.PP
+The referenced executable file must reside on the local disk and contain a
+shell script or program that directs an automated tape device, such as a
+jukebox or stacker, to unmount a tape (remove it from the tape reader).
+The operator must write the routine to invoke the unmount command
+specified by the device's manufacturer; \s-1AFS\s0 does not include any scripts,
+although an example appears in \s-1EXAMPLES\s0. The script or program
+inherits the Tape Coordinator's \s-1AFS\s0 authentication status.
+.PP
+After closing a tape device, the Tape Coordinator checks the configuration
+file for an \f(CW\*(C`UNMOUNT\*(C'\fR instruction, whether or not the \fBclose\fR operation
+succeeds. If there is no \f(CW\*(C`UNMOUNT\*(C'\fR instruction, the Tape Coordinator
+takes no action, in which case the operator must take the action necessary
+to remove the current tape from the drive before another can be
+inserted. If there is an \f(CW\*(C`UNMOUNT\*(C'\fR instruction, the Tape Coordinator
+executes the referenced file. It invokes the routine only once, passing in
+the following parameters:
+.IP "\(bu" 4
+The tape device pathname (as specified in the
+\&\fI/usr/afs/backup/tapeconfig\fR file).
+.IP "\(bu" 4
+The tape operation (always unmount).
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The file is protected by \s-1UNIX\s0 mode bits. Creating the file requires the
+\&\f(CW\*(C`w\*(C'\fR (write) and \f(CW\*(C`x\*(C'\fR (execute) permissions on the \fI/usr/afs/backup\fR
+directory. Editing the file requires the \f(CW\*(C`w\*(C'\fR (write) permission on the
+file.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example configuration files demonstrate one way to structure
+a configuration file for a stacker or backup dump file. The examples are
+not necessarily appropriate for a specific cell; if using them as models,
+be sure to adapt them to the cell's needs and equipment.
+.Sh "Example \fI\s-1CFG_\s0device_name\fP File for Stackers"
+.IX Subsection "Example CFG_device_name File for Stackers"
+In this example, the administrator creates the following entry for a tape
+stacker called \f(CW\*(C`stacker0.1\*(C'\fR in the \fI/usr/afs/backup/tapeconfig\fR file. It
+has port offset 0.
+.PP
+.Vb 1
+\& 2G 5K /dev/stacker0.1 0
+.Ve
+.PP
+The administrator includes the following five lines in the
+\&\fI/usr/afs/backup/CFG_stacker0.1\fR file. To review the meaning of each
+instruction, see \s-1DESCRIPTION\s0.
+.PP
+.Vb 5
+\& MOUNT /usr/afs/backup/stacker0.1
+\& UNMOUNT /usr/afs/backup/stacker0.1
+\& AUTOQUERY NO
+\& ASK NO
+\& NAME_CHECK NO
+.Ve
+.PP
+Finally, the administrator writes the following executable routine in the
+\&\fI/usr/afs/backup/stacker0.1\fR file referenced by the \f(CW\*(C`MOUNT\*(C'\fR and
+\&\f(CW\*(C`UNMOUNT\*(C'\fR instructions in the \fICFG_stacker0.1\fR file.
+.PP
+.Vb 1
+\& #! /bin/csh \-f
+\&
+\& set devicefile = $1
+\& set operation = $2
+\& set tries = $3
+\& set tapename = $4
+\& set tapeid = $5
+\&
+\& set exit_continue = 0
+\& set exit_abort = 1
+\& set exit_interactive = 2
+\&
+\& #\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\&
+\& if (${tries} > 1) then
+\& echo "Too many tries"
+\& exit ${exit_interactive}
+\& endif
+\&
+\& if (${operation} == "unmount") then
+\& echo "UnMount: Will leave tape in drive"
+\& exit ${exit_continue}
+\& endif
+\&
+\& if ((${operation} == "dump") |\e
+\& (${operation} == "appenddump") |\e
+\& (${operation} == "savedb")) then
+\&
+\& stackerCmd_NextTape ${devicefile}
+\& if (${status} != 0)exit${exit_interactive}
+\& echo "Will continue"
+\& exit ${exit_continue}
+\& endif
+\&
+\& if ((${operation} == "labeltape") |\e
+\& (${operation} == "readlabel")) then
+\& echo "Will continue"
+\& exit ${exit_continue}
+\& endif
+\&
+\& echo "Prompt for tape"
+\& exit ${exit_interactive}
+.Ve
+.PP
+This routine uses two of the parameters passed to it by the Backup System:
+\&\f(CW\*(C`tries\*(C'\fR and \f(CW\*(C`operation\*(C'\fR. It follows the recommended practice of
+prompting for a tape if the value of the \f(CW\*(C`tries\*(C'\fR parameter exceeds one,
+because that implies that the stacker is out of tapes.
+.PP
+For a \fBbackup dump\fR or backup savedb operation, the routine calls the
+example \f(CW\*(C`stackerCmd_NextTape\*(C'\fR function provided by the stacker's
+manufacturer. Note that the final lines in the file return the exit code
+that prompts the operator to insert a tape; these lines are invoked when
+either the stacker cannot load a tape or a the operation being performed
+is not one of those explicitly mentioned in the file (such as a restore
+operation).
+.Sh "Example \fI\s-1CFG_\s0device_name\fP File for Dumping to a Data File"
+.IX Subsection "Example CFG_device_name File for Dumping to a Data File"
+In this example, the administrator creates the following entry for a
+backup data file called \fIHSM_device\fR in the \fI/usr/afs/backup/tapeconfig\fR
+file. It has port offset 20.
+.PP
+.Vb 1
+\& 1G 0K /dev/HSM_device 20
+.Ve
+.PP
+The administrator includes the following lines in the
+\&\fI/usr/afs/backup/CFG_HSM_device\fR file. To review the meaning of each
+instruction, see \s-1DESCRIPTION\s0.
+.PP
+.Vb 3
+\& MOUNT /usr/afs/backup/file
+\& FILE YES
+\& ASK NO
+.Ve
+.PP
+Finally, the administrator writes the following executable routine in the
+\&\fI/usr/afs/backup/file\fR file referenced by the \f(CW\*(C`MOUNT\*(C'\fR instruction in the
+\&\fICFG_HSM_device\fR file, to control how the Tape Coordinator handles the
+file.
+.PP
+.Vb 6
+\& #! /bin/csh \-f
+\& set devicefile = $1
+\& set operation = $2
+\& set tries = $3
+\& set tapename = $4
+\& set tapeid = $5
+\&
+\& set exit_continue = 0
+\& set exit_abort = 1
+\& set exit_interactive = 2
+\&
+\& #\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\&
+\& if (${tries} > 1) then
+\& echo "Too many tries"
+\& exit ${exit_interactive}
+\& endif
+\&
+\& if (${operation} == "labeltape") then
+\& echo "Won\*(Aqt label a tape/file"
+\& exit ${exit_abort}
+\& endif
+\&
+\& if ((${operation} == "dump") |\e
+\& (${operation} == "appenddump") |\e
+\& (${operation} == "restore") |\e
+\& (${operation} == "savedb") |\e
+\& (${operation} == "restoredb")) then
+\&
+\& /bin/rm \-f ${devicefile}
+\& /bin/ln \-s /hsm/${tapename}_${tapeid} ${devicefile}
+\& if (${status} != 0) exit ${exit_abort}
+\& endif
+\&
+\& exit ${exit_continue}
+.Ve
+.PP
+Like the example routine for a tape stacker, this routine uses the
+\&\f(CW\*(C`tries\*(C'\fR and \f(CW\*(C`operation\*(C'\fR parameters passed to it by the Backup
+System. The \f(CW\*(C`tries\*(C'\fR parameter tracks how many times the Tape Coordinator
+has attempted to access the file. A value greater than one indicates that
+the Tape Coordinator cannot access it, and the routine returns exit code 2
+(\f(CW\*(C`exit_interactive\*(C'\fR), which results in a prompt for the operator to load
+a tape. The operator can use this opportunity to change the name of the
+backup data file specified in the \fBtapeconfig\fR file.
+.PP
+The primary function of this routine is to establish a link between the
+device file and the file to be dumped or restored. When the Tape
+Coordinator is executing a \fBbackup dump\fR, \fBbackup restore\fR, \fBbackup
+savedb\fR, or \fBbackup restoredb\fR operation, the routine invokes the \s-1UNIX\s0
+\&\f(CW\*(C`ln \-s\*(C'\fR command to create a symbolic link from the backup data file named
+in the \fItapeconfig\fR file to the actual file to use (this is the
+recommended method). It uses the value of the \f(CW\*(C`tapename\*(C'\fR and \f(CW\*(C`tapeid\*(C'\fR
+parameters to construct the file name.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItapeconfig\fR\|(5),
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_restoredb\fR\|(8),
+\&\fIbackup_savedb\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbackup_volsetrestore\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BUTC_LOGS 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BUTC_LOGS 5"
++.TH BUTC_LOGS 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+butc_logs \- Message logs from the Tape Coordinator process
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The Backup System Tape Coordinator (\fBbutc\fR) process generates two log
+files per device, one for error messages and one for actions.
+.Sh "Error Message Log"
+.IX Subsection "Error Message Log"
+The \fI\s-1TE_\s0\fIdevice_name\fI\fR file logs error messages generated by the Backup
+System Tape Coordinator that controls the tape device or backup data file
+indicated by \fIdevice_name\fR.
+.PP
+As the Tape Coordinator initializes, it creates the file in \s-1ASCII\s0 format
+in the \fI/usr/afs/backup\fR directory. If there is an existing file, the
+Tape Coordinator renames it to \fI\s-1TE_\s0\fIdevice_name\fI.old\fR>, overwriting the
+existing \fI\s-1TE_\s0\fIdevice_name\fI.old\fR> file if it exists.
+.PP
+For a tape device, the Tape Coordinator derives the variable
+\&\fIdevice_name\fR portion of the filename from the device pathname listed in
+the local \fI/usr/afs/backup/tapeconfig\fR file, by stripping off the initial
+\&\f(CW\*(C`/dev/\*(C'\fR string and replacing any other slashes in the name with
+underscores. For example, the filename for a device called \fI/dev/rmt/4m\fR
+is \fITE_rmt_4m\fR. Similarly, for a backup data file the Tape Coordinator
+strips off the initial slash (\f(CW\*(C`/\*(C'\fR) and replaces any other slashes in the
+name with underscores. For example, the filename for a backup data file
+called \fI/var/tmp/FILE\fR is \fITE_var_tmp_FILE\fR.
+.PP
+The messages in the file describe the error and warning conditions the
+Tape Coordinator encounters as it operates. For instance, a message can
+list the volumes that are inaccessible during a dump operation, or warn
+that the Tape Coordinator is overwriting a tape or backup data file. The
+messages also appear in the \fI/usr/afs/backup/TL_\fIdevice_name\fI\fR file,
+which traces most of the Tape Coordinator's actions.
+.Sh "Action Log"
+.IX Subsection "Action Log"
+The \fI\s-1TL_\s0\fIdevice_name\fI\fR file logs the actions performed by the Backup
+System Tape Coordinator that controls the tape device or backup data file
+indicated by \fIdevice_name\fR. It also records the same error and warning
+messages written to the \fI\s-1TE_\s0\fIdevice_name\fI\fR file.
+.PP
+As the Tape Coordinator initializes, it creates the file in \s-1ASCII\s0 format
+in the \fI/usr/afs/backup\fR directory. If there is an existing file, the
+Tape Coordinator renames it to \fI\s-1TL_\s0\fIdevice_name\fI.old\fR, overwriting the
+existing \fI\s-1TL_\s0\fIdevice_name\fI.old\fR file if it exists.
+.PP
+For a tape device, the Tape Coordinator derives the variable
+\&\fIdevice_name\fR portion of the filename from the device pathname listed in
+the local \fI/usr/afs/backup/tapeconfig\fR file, by stripping off the initial
+\&\f(CW\*(C`/dev/\*(C'\fR string and replacing any other slashes in the name with
+underscores. For example, the filename for a device called \fI/dev/rmt/4m\fR
+is \fITL_rmt_4m\fR. Similarly, for a backup data file the Tape Coordinator
+strips off the initial slash (\f(CW\*(C`/\*(C'\fR) and replaces any other slashes in the
+name with underscores. For example, the filename for a backup data file
+called \fI/var/tmp/FILE\fR is \fITL_var_tmp_FILE\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItapeconfig\fR\|(5),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH CACHEINFO 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CACHEINFO 5"
++.TH CACHEINFO 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+cacheinfo \- Defines configuration parameters for the Cache Manager
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIcacheinfo\fR file defines configuration parameters for the Cache
+Manager, which reads the file as it initializes.
+.PP
+The file contains a single line of \s-1ASCII\s0 text and must reside in the
+\&\fI/usr/vice/etc\fR directory. Use a text editor to create it during initial
+configuration of the client machine; the required format is as follows:
+.PP
+.Vb 1
+\& <mount>:<cache>:<size>
+.Ve
+.PP
+where
+.IP "<mount>" 4
+.IX Item "<mount>"
+Names the local disk directory at which the Cache Manager mounts the \s-1AFS\s0
+namespace. It must exist before the \fBafsd\fR program runs. The conventional
+value is \fI/afs\fR. Using any other value prevents traversal of pathnames
+that begin with \fI/afs\fR (such as pathnames to files in foreign cells that
+do use the conventional name). The \fB\-mountdir\fR argument to the \fBafsd\fR
+command overrides this value.
+.IP "<cache>" 4
+.IX Item "<cache>"
+Names the local disk directory to use as a cache. It must exist before the
+\&\fBafsd\fR program runs. The standard value is \fI/usr/vice/cache\fR, but it is
+acceptable to substitute a directory on a partition with more available
+space. Although the Cache Manager ignores this field when configuring a
+memory cache, a value must always appear in it. The \fB\-cachedir\fR argument
+to the \fBafsd\fR command overrides this value.
+.IP "<size>" 4
+.IX Item "<size>"
+Specifies the cache size as a number of 1\-kilobyte blocks. Larger caches
+generally yield better performance, but a disk cache must not exceed 90%
+of the space available on the cache partition (85% for \s-1AIX\s0 systems), and a
+memory cache must use no more than 25% of available machine memory.
+.Sp
+The \fB\-blocks\fR argument to the afsd command overrides this value. To reset
+cache size without rebooting on a machine that uses disk caching, use the
+\&\fBfs setcachesize\fR command. To display the current size of a disk or
+memory cache between reboots, use the \fBfs getcacheparms\fR command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example cacheinfo file mounts the \s-1AFS\s0 namespace at \fI/afs\fR,
+establishes a disk cache in the \fI/usr/vice/cache\fR directory, and defines
+cache size as 50,000 1\-kilobyte blocks.
+.PP
+.Vb 1
+\& /afs:/usr/vice/cache:50000
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fIfs_getcacheparms\fR\|(1),
+\&\fIfs_setcachesize\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FMS.LOG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FMS.LOG 5"
++.TH FMS.LOG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fms.log \- Records output from the fms command
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIfms.log\fR file records the output generated by the \fBfms\fR
+command. The output includes two numbers that can appear in a tape
+device's entry in the \fI/usr/afs/backup/tapeconfig\fR file on the Tape
+Coordinator machine to which the tape device is attached:
+.IP "\(bu" 4
+The capacity in bytes of the tape in the device.
+.IP "\(bu" 4
+The size in bytes of the end-of-file (\s-1EOF\s0) marks (often referred to simply
+as \fIfilemarks\fR) that the tape device writes.
+.PP
+When transferring the numbers recorded in this file to the \fItapeconfig\fR
+file, adjust them as specified in \fItapeconfig\fR\|(5), to improve Tape
+Coordinator performance during dump operations.
+.PP
+If the \fIfms.log\fR file does not already exist in the current working
+directory, the \fBfms\fR command interpreter creates it. In this case, the
+directory's mode bits must grant the \f(CW\*(C`rwx\*(C'\fR (read, write, and execute)
+permissions to the issuer of the command. If there is an existing file,
+the command interpreter overwrites it, so the file's mode bits need to
+grant only the \fBw\fR permission to the issuer of the \fBfms\fR command. The
+\&\fBfms\fR command interpreter also writes similar information to the standard
+output stream as it runs.
+.PP
+The file is in \s-1ASCII\s0 format. To display its contents, log onto the client
+machine and use a text editor or a file display command such as the \s-1UNIX\s0
+\&\fBcat\fR command. By default, the mode bits on the \fIfms.log\fR file grant the
+required \f(CW\*(C`r\*(C'\fR permission only to the owner (which is the local superuser
+\&\f(CW\*(C`root\*(C'\fR by default).
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first few lines of the file provide a simple trace of the \fBfms\fR
+command interpreter's actions, specifying (for example) how many blocks it
+wrote on the tape. The final two lines in the file specify tape capacity
+and filemark size in bytes, using the following format:
+.PP
+.Vb 2
+\& Tape capacity is <tape_size> bytes
+\& File marks are <filemark_size> bytes
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example of the fms.log file specifies that the tape used
+during the execution of the \fBfms\fR command had a capacity of 2,136,604,672
+bytes, and that the tape device writes filemarks of size 1,910,220 bytes.
+.PP
+.Vb 4
+\& fms test started
+\& wrote 130408 blocks
+\& Tape capacity is 2136604672 bytes
+\& File marks are 1910220 bytes
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fItapeconfig\fR\|(5),
+\&\fIfms\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KASERVER.DB0 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KASERVER.DB0 5"
++.TH KASERVER.DB0 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kaserver.DB0, kaserver.DBSYS1 \- The Authentication Database and associated log
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIkaserver.DB0\fR file contains the Authentication Database, which
+records server encryption keys and an encrypted form of all user
+passwords. The Authentication Server (\fBkaserver\fR process) uses the
+information in the database to enable secured communications between \s-1AFS\s0
+server and client processes.
+.PP
+The \fIkaserver.DBSYS1\fR file is a log file in which the Authentication
+Server logs each database operation before performing it. When an
+operation is interrupted, the Authentication Server replays the log to
+complete the operation.
+.PP
+Both files are in binary format and reside in the \fI/usr/afs/db\fR directory
+on each of the cell's database server machines. When the Authentication
+Server starts or restarts on a given machine, it establishes a connection
+with its peers and verifies that its copy of the database matches the copy
+on the other database server machines. If not, the Authentication Servers
+call on \s-1AFS\s0's distributed database technology, Ubik, to distribute to all
+of the machines the copy of the database with the highest version number.
+.PP
+Always use the commands in the kas suite to administer the Authentication
+Database. It is advisable to create an archive copy of the database on a
+regular basis, using a tool such as the \s-1UNIX\s0 \fBtar\fR command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkadb_check\fR\|(8),
+\&\fIkas\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KASERVERAUXDB 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KASERVERAUXDB 5"
++.TH KASERVERAUXDB 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kaserverauxdb \- Records failed authentication attempts
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The file \fIkaserverauxdb\fR records failed authentication attempts for the
+local Authentication Server. The server creates it automatically in the
+\&\fI/usr/afs/local\fR directory by default; use the \fB\-localfiles\fR argument to
+the \fBkaserver\fR command to specify an alternate directory.
+.PP
+The \fIkaserverauxdb\fR file is an internal database used by the
+Authentication Server to prevent access by users who have exceeded the
+limit on failed authentication attempts defined in their Authentication
+Database entry. The Authentication Server refuses further attempts to
+authenticate to an account listed in the database until either an \s-1AFS\s0
+system administrator issues the \fBkas unlock\fR command to unlock the
+account, or the timeout period defined in the user's Authentication
+Database entry passes.
+.PP
+The \fIkaserverauxdb\fR file is in binary format, so its contents are not
+directly accessible. However, the output from the \fBkas examine\fR command
+reports an account's maximum number of failed attempts, the lockout time,
+and whether the account is currently locked.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkaserver.DB0\fR\|(5),
+\&\fIkas_examine\fR\|(8),
+\&\fIkas_unlock\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KRB.CONF 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KRB.CONF 5"
++.TH KRB.CONF 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+krb.conf \- Configures the kerberos realm to AFS cell mapping
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+/usr/afs/etc/krb.conf is an optional file that resides on an OpenAFS
+server and is used to specify which Kerberos5 realms are trusted to
+authenticate to the local \s-1AFS\s0 cell. The format of the file is one realm
+per line. If the Kerberos5 realm matches the \s-1AFS\s0 cell name
+(case-insensitive), then this file can be omitted. krb.conf is only needed
+when the Kerberos5 realm does not match the cell name or multiple
+Kerberos5 realms authenticate to the same \s-1AFS\s0 cell.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH PACKAGE 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PACKAGE 5"
++.TH PACKAGE 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+package \- Provides instructions for the package command
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The package configuration file defines the file system elements that the
+\&\fBpackage\fR command creates or alters on the local disk of an \s-1AFS\s0 client
+machine it is configuring. Use the \fB\-config\fR or \fB\-fullconfig\fR argument
+to the \fBpackage\fR command to identify the configuration file to use.
+.Sh "Summary of Configuration File Instructions"
+.IX Subsection "Summary of Configuration File Instructions"
+The configuration file can include one or more instances of each of the
+following instructions, each on its own line. A more detailed description
+of each instruction's syntax follows this list.
+.IP "B" 4
+.IX Item "B"
+Defines a block special device, such as a disk, which deals with input in
+units of multi-byte command blocks.
+.IP "C" 4
+.IX Item "C"
+Defines a character special device, such as a terminal or tty, which deals
+with input in single character units.
+.IP "D" 4
+.IX Item "D"
+Creates a directory.
+.IP "F" 4
+.IX Item "F"
+Creates or alters a file to match the contents of a specified source file.
+.IP "L" 4
+.IX Item "L"
+Creates a symbolic link.
+.IP "S" 4
+.IX Item "S"
+Defines a socket, which is a communications device for \s-1UDP\s0 and \s-1TCP/IP\s0
+connections.
+.ie n .IP "%define" 4
+.el .IP "\f(CW%define\fR" 4
+.IX Item "%define"
+Defines a variable or declares a string as defined.
+.ie n .IP "%ifdef" 4
+.el .IP "\f(CW%ifdef\fR" 4
+.IX Item "%ifdef"
+Specifies an action to perform if a certain string is declared or defined.
+.ie n .IP "%ifndef" 4
+.el .IP "\f(CW%ifndef\fR" 4
+.IX Item "%ifndef"
+Specifies an action to perform if a certain string is not declared or
+defined.
+.ie n .IP "%include" 4
+.el .IP "\f(CW%include\fR" 4
+.IX Item "%include"
+Includes a library file.
+.ie n .IP "%undef" 4
+.el .IP "\f(CW%undef\fR" 4
+.IX Item "%undef"
+Declares a string not to be defined, or a variable no longer to have a
+value.
+.Sh "The B and C Instructions for Defining Special Devices"
+.IX Subsection "The B and C Instructions for Defining Special Devices"
+The \f(CW\*(C`B\*(C'\fR instruction in a package configuration file defines a block
+special device, such as a disk, that deals with input in units of
+multi-byte command blocks. The \f(CW\*(C`C\*(C'\fR instruction defines a character
+special device, such as a terminal or tty, that deals with input in single
+character units. They share a common syntax:
+.PP
+.Vb 1
+\& (B | C) <device> <major> <minor> <owner> <group> <mode>
+.Ve
+.PP
+where
+.IP "B" 4
+.IX Item "B"
+Indicates the definition of a block special device. It must be a capital
+letter.
+.IP "C" 4
+.IX Item "C"
+Indicates the definition of character special device. It must be a capital
+letter.
+.IP "<device>" 4
+.IX Item "<device>"
+Names the special device to define. To learn the name format appropriate
+to the machine's system type, consult the hardware or operating system
+documentation.
+.IP "<major>" 4
+.IX Item "<major>"
+Specifies the device's major device number in decimal format. To learn
+the correct value for the machine's system type, consult the hardware or
+operating system documentation.
+.IP "<minor>" 4
+.IX Item "<minor>"
+Specifies the device's minor device number in one of hexadecimal, octal,
+or decimal format. Precede a hexadecimal number with the string \f(CW\*(C`0x\*(C'\fR
+(zero and the letter \f(CW\*(C`x\*(C'\fR) or an octal number with a \f(CW0\fR (zero). A number
+without either prefix is interpreted as a decimal. To learn the correct
+value for the machine's system type, consult the hardware or operating
+system documentation.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the device's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command.
+.IP "<group>" 4
+.IX Item "<group>"
+Specifies the group name or \s-1UNIX\s0 group \s-1ID\s0 (\s-1GID\s0) of the group to be
+designated the device's group in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-lg\*(C'\fR
+command.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Defines the device's \s-1UNIX\s0 mode bits. Acceptable values are the standard
+three\- or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR.
+.Sh "The D Instruction for Creating a Directory"
+.IX Subsection "The D Instruction for Creating a Directory"
+The \f(CW\*(C`D\*(C'\fR instruction in a package configuration file creates a directory
+on the local disk. If a symbolic link, file, or other element on the local
+disk has the same name, it is replaced with a directory. If the directory
+already exists, its owner, group, and mode bits are changed if necessary
+to conform with the instruction. The instruction has the following syntax:
+.PP
+.Vb 1
+\& D[I<update_code>] <directory> <owner> <group> <mode>
+.Ve
+.PP
+where
+.IP "D" 4
+.IX Item "D"
+Indicates the creation of a directory. It must be a capital letter.
+.IP "<update_code>" 4
+.IX Item "<update_code>"
+Modulates the directory creation instruction. It is optional and follows
+the letter \f(CW\*(C`D\*(C'\fR directly, without an intervening space. Choose one of the
+two acceptable values:
+.RS 4
+.IP "X" 4
+.IX Item "X"
+Indicates that the directory is a lost+found directory (used by the
+\&\fBfsck\fR program).
+.IP "R" 4
+.IX Item "R"
+Removes any subdirectory (along its contents) or file that exists in the
+existing directory on the local disk but for which an instruction does not
+appear in the configuration file.
+.RE
+.RS 4
+.RE
+.IP "<directory>" 4
+.IX Item "<directory>"
+Specifies the full pathname of the directory to create.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the directory's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-ld\*(C'\fR command.
+.IP "<group>" 4
+.IX Item "<group>"
+Specifies the name or \s-1UNIX\s0 group \s-1ID\s0 (\s-1GID\s0) of the group to be designated
+the directory's group in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-lgd\*(C'\fR command.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Defines the directory's \s-1UNIX\s0 mode bits. Acceptable values are the standard
+three\- or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`drwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`drw\-r\-\-r\-\-\*(C'\fR.
+.Sh "The F Instruction for Creating or Updating a File"
+.IX Subsection "The F Instruction for Creating or Updating a File"
+The \f(CW\*(C`F\*(C'\fR instruction in a package configuration file creates or updates a
+file on the local disk by copying in the contents of the indicated source
+file, which can reside in \s-1AFS\s0 or on the local disk. If the \fBpackage\fR
+command interpreter cannot access the source file, it exits without
+executing any instruction in the configuration file.
+.PP
+If a file with the same name already exists on disk, the package command
+overwrites it with the contents of the source file, unless the \f(CW\*(C`I\*(C'\fR update
+code is used to prevent that. To add a \f(CW\*(C`.old\*(C'\fR extension to the current
+version of the file, include the \f(CW\*(C`O\*(C'\fR update code. To have the machine
+reboot automatically after the \fBpackage\fR program completes, include the
+\&\f(CW\*(C`Q\*(C'\fR update code.
+.PP
+If a symbolic link, directory, or other element on the local disk has the
+same name, it is replaced with the file (a directory's contents are first
+removed as necessary).
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& F[<update_code>] <file> <source> [<owner> <group> <mode>]
+.Ve
+.PP
+where
+.IP "F" 4
+.IX Item "F"
+Indicates the creation or update of a file. It must be a capital letter.
+.IP "<update_code>" 4
+.IX Item "<update_code>"
+Modulates the file creation instruction. It is optional and follows the
+letter \f(CW\*(C`F\*(C'\fR directly, without an intervening space. Choose one or more of
+the four acceptable values, and list them in any order:
+.RS 4
+.IP "A" 4
+.IX Item "A"
+Indicates that the pathname in the <source> field is the complete pathname
+of the source file, including the filename. If this argument is omitted,
+the \fBpackage\fR command appends the pathname in the <file> field to the
+pathname in the <source> field to derive the source file's full name. This
+code allows the source and target filenames to differ.
+.IP "I" 4
+.IX Item "I"
+Preserves the existing file called <file>, rather than overwriting it.
+.IP "O" 4
+.IX Item "O"
+Saves the existing version of the file by appending a \f(CW\*(C`.old\*(C'\fR extension to
+it.
+.IP "Q" 4
+.IX Item "Q"
+Causes the package command to exit with status code \f(CW4\fR if it overwrites
+the file. If the standard \fBpackage\fR\-related changes have been made to the
+machine's \s-1AFS\s0 initialization file, then status code \f(CW4\fR causes the
+machine to reboot automatically. Use this code when the machine must
+reboot if updates to the file are to have any effect (for example, if the
+operating system file \*(-- \fI/vmunix\fR or equivalent \*(-- has changed).
+.RE
+.RS 4
+.RE
+.IP "<file>" 4
+.IX Item "<file>"
+Specifies the complete pathname on the local disk of the file to create or
+update, including the filename as the final element.
+.IP "<source>" 4
+.IX Item "<source>"
+Specifies the pathname (local or \s-1AFS\s0) of the file to copy to the local
+disk.
+.Sp
+If the \f(CW\*(C`A\*(C'\fR update code is included, specify the source file's complete
+pathname. Otherwise, the \fBpackage\fR command derives the source file's full
+name by appending the \fIfile\fR pathname to this pathname. For example, if
+the \f(CW\*(C`A\*(C'\fR update code is not included and the file
+\&\fI/afs/abc.com/rs_aix42/bin/grep\fR is the source file for the \fI/bin/grep\fR
+binary, the proper value in this field is \fI/afs/abc.com/rs_aix42\fR.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the file's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command.
+.Sp
+To copy the source file's owner to the target file, leave this field
+empty. In this case, the <group> and <mode> fields must also be empty.
+.IP "<group>" 4
+.IX Item "<group>"
+Specifies the name or \s-1UNIX\s0 group \s-1ID\s0 (\s-1GID\s0) of the group to be designated
+the file's group in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-lg\*(C'\fR command.
+.Sp
+To copy the source file's group to the target file, leave this field
+empty. In this case, the <owner> and <mode> fields must also be empty.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Defines the file's \s-1UNIX\s0 mode bits. Acceptable values are the standard
+three\- or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR.
+.Sp
+To copy the source file's mode bits to the target file, leave this field
+empty. In this case, the <owner> and <group> fields must also be empty.
+.Sh "The L Instruction for Creating a Symbolic Link"
+.IX Subsection "The L Instruction for Creating a Symbolic Link"
+The \f(CW\*(C`L\*(C'\fR instruction in a package configuration file creates a symbolic
+link on the local disk to a directory or file that exists either in \s-1AFS\s0 or
+elsewhere on the local disk. As with the standard \s-1UNIX\s0 \f(CW\*(C`ln \-s\*(C'\fR command,
+the link is created even if the actual file or directory does not exist.
+.PP
+If a file or directory on the local disk already has the same name, the
+\&\fBpackage\fR command replaces it with a symbolic link.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& L[I<update_code>] <link> <path> [<owner> <group> <mode>]
+.Ve
+.PP
+where
+.IP "L" 4
+.IX Item "L"
+Indicates the creation of a symbolic link. It must be a capital letter.
+.IP "<update_code>" 4
+.IX Item "<update_code>"
+Modulates the link creation instruction. It is optional and follows the
+letter \f(CW\*(C`L\*(C'\fR directly, without an intervening space. Choose one or both of
+the acceptable values, and list them in any order:
+.RS 4
+.IP "A" 4
+.IX Item "A"
+Indicates that the pathname in the <path> field is the complete pathname
+of the actual directory or file (including the filename for a file). If
+this argument is omitted, the \fBpackage\fR command appends the value in the
+<link> field to the pathname in the <path> field to derive the actual
+directory or file's full name. This code allows the name of the symbolic
+link and actual directory or file to differ.
+.IP "I" 4
+.IX Item "I"
+Preserves the existing symbolic link called <link>, rather than
+overwriting it.
+.RE
+.RS 4
+.RE
+.IP "<link>" 4
+.IX Item "<link>"
+Specifies the complete local disk pathname of the symbolic link to create.
+.IP "<path>" 4
+.IX Item "<path>"
+Specifies the pathname (local or \s-1AFS\s0) of the directory or file to which
+the link refers. If the \f(CW\*(C`A\*(C'\fR update code is included, specify the
+directory or file's complete pathname. Otherwise, the \fBpackage\fR command
+derives the actual directory or file's full name by appending the value in
+the \fIlink\fR field to this pathname. For example, if the \f(CW\*(C`A\*(C'\fR update code
+is not included and \fI/etc/ftpd\fR is a symbolic link to the file
+\&\fI/afs/abc.com/sun4x_56/etc/ftpd\fR, the proper value in this field is
+\&\fI/afs/abc.com/sun4x_56\fR.
+.Sp
+The package command interpreter correctly handles pathnames that begin
+with the \f(CW\*(C`./\*(C'\fR (period, slash) or \f(CW\*(C`../\*(C'\fR (two periods, slash) notation,
+interpreting them relative to the current working directory from which the
+\&\fBpackage\fR command is invoked.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the symbolic link's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command.
+.Sp
+To designate the issuer of the package command (usually, the local
+superuser \f(CW\*(C`root\*(C'\fR) as the symbolic link's owner, leave this field
+empty. In this case, the <group> and <mode> fields must also be empty.
+.IP "<group>" 4
+.IX Item "<group>"
+Specifies the name or \s-1UNIX\s0 group \s-1ID\s0 (\s-1GID\s0) of the group to be designated
+the link's group in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-lg\*(C'\fR command.
+.Sp
+To have the symbolic link's group match the default group associated with
+the \fBpackage\fR command's issuer, leave this field empty. The issuer is
+usually the local superuser \f(CW\*(C`root\*(C'\fR and the default group is designated in
+the issuer's entry in the local \fI/etc/passwd\fR file or equivalent. If this
+field is left empty, the <owner> and <mode> fields must also be empty.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Defines the symbolic link's \s-1UNIX\s0 mode bits. Acceptable values are the
+standard three\- or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR.
+.Sp
+Leaving this field empty sets the symbolic link's mode bits to \f(CW777\fR
+(\f(CW\*(C`rwxrwxrwx\*(C'\fR). In this case, the <owner> and <group> fields must also be
+empty.
+.Sh "The S Instruction for Creating a Socket"
+.IX Subsection "The S Instruction for Creating a Socket"
+The \f(CW\*(C`S\*(C'\fR instruction in a package configuration file creates a socket (a
+communications device for \s-1UDP\s0 or \s-1TCP/IP\s0 connections) on the local
+disk. The instruction has the following syntax:
+.PP
+.Vb 1
+\& S <socket> [<owner> <group> <mode>]
+.Ve
+.PP
+where
+.IP "S" 4
+.IX Item "S"
+Indicates the creation of a socket. It must be a capital letter.
+.IP "<socket>" 4
+.IX Item "<socket>"
+Names the socket. The proper format depends on the local machine's
+operating system.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the socket's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command.
+.Sp
+To designate the issuer of the package command (usually, the local
+superuser \f(CW\*(C`root\*(C'\fR) as the socket's owner, leave this field empty. In this
+case, the <group> and <mode> fields must also be empty.
+.IP "<group>" 4
+.IX Item "<group>"
+Specifies the name or \s-1UNIX\s0 group \s-1ID\s0 (\s-1GID\s0) of the group to be designated
+the socket's group in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-lg\*(C'\fR command.
+.Sp
+To have the symbolic link's group match the default group associated with
+the \fBpackage\fR command's issuer, leave this field empty. The issuer is
+usually the local superuser \f(CW\*(C`root\*(C'\fR and the default group is designated in
+the issuer's entry in the local \fI/etc/passwd\fR file or equivalent. If this
+field is left empty, the <owner> and <mode> fields must also be empty.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Defines the socket's \s-1UNIX\s0 mode bits. Acceptable values are the standard
+three\- or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR.
+.Sp
+Leaving this field empty sets the symbolic link's mode bits to \f(CW777\fR
+(\f(CW\*(C`rwxrwxrwx\*(C'\fR), modulated by the cell's umask. In this case, the <owner>
+and <group> fields must also be empty.
+.ie n .Sh "The %define\fP or \f(CW%undef Instructions"
+.el .Sh "The \f(CW%define\fP or \f(CW%undef\fP Instructions"
+.IX Subsection "The %define or %undef Instructions"
+The \f(CW%define\fR instruction in a package configuration file declares or
+defines a variable, depending on its number of arguments:
+.IP "\(bu" 4
+If followed by a single argument, it declares that argument to be
+defined. The argument is then available as a controller when mentioned in
+\&\f(CW%ifdef\fR and \f(CW%ifndef\fR statements, which evaluate to \f(CW\*(C`true\*(C'\fR and
+\&\f(CW\*(C`false\*(C'\fR respectively.
+.IP "\(bu" 4
+If followed by two arguments, it defines the second argument as the value
+of the first. When the first argument appears later in this prototype or
+other prototype or library files as a variable \*(-- surrounded by curly
+braces and preceded by a dollar sign, as in the example \f(CW\*(C`${variable}\*(C'\fR \*(--
+the \fBpackage\fR command interpreter substitutes the second argument for it.
+.PP
+The \f(CW%undef\fR statement negates the effect of a previous \f(CW%define\fR
+statement, declaring its argument to be defined no longer, or to have a
+value no longer if it is a variable.
+.PP
+The syntax for the two types of instruction are as follows:
+.PP
+.Vb 4
+\& %define <declaration>
+\& %define <variable> <value>
+\& %undef <declaration>
+\& %undef <variable>
+.Ve
+.PP
+where
+.ie n .IP "%define" 4
+.el .IP "\f(CW%define\fR" 4
+.IX Item "%define"
+Indicates a definition statement.
+.ie n .IP "%undef" 4
+.el .IP "\f(CW%undef\fR" 4
+.IX Item "%undef"
+Indicates a statement that negates a definition.
+.IP "<declaration>" 4
+.IX Item "<declaration>"
+Names the string being declared by a \f(CW%define\fR statement, or
+negated by an \f(CW%undef\fR statement.
+.IP "<variable>" 4
+.IX Item "<variable>"
+Specifies the name of the variable that a \f(CW%define\fR statement is
+defining, or an \f(CW%undef\fR statement is negating.
+.IP "<value>" 4
+.IX Item "<value>"
+Specifies the value to substitute for the string in the <variable> field
+when it appears in the appropriate format (surrounded by curly braces and
+preceded by a dollar sign, as in the example \f(CW\*(C`${variable}\*(C'\fR), in this or
+other prototype and library files. It can include one or more words.
+.ie n .Sh "The %ifdef\fP and \f(CW%ifndef Instructions"
+.el .Sh "The \f(CW%ifdef\fP and \f(CW%ifndef\fP Instructions"
+.IX Subsection "The %ifdef and %ifndef Instructions"
+The \f(CW%ifdef\fR instruction in a package configuration file specifies one or
+more actions to perform if the indicated string has been declared by a
+single-argument \f(CW%define\fR statement, or is a variable for which a value
+has been defined by a two-argument \f(CW%define\fR statement.
+.PP
+Similarly, the \f(CW%ifndef\fR instruction specifies one or more actions to
+perform if the indicated string has not been declared or is a variable
+without a value, either because no \f(CW%define\fR statement has defined it or
+an \f(CW%undef\fR statement has undefined it.
+.PP
+In both cases, the optional \f(CW%else\fR statement specifies one or more
+alternate actions to perform if the first statement evaluates to
+\&\f(CW\*(C`false\*(C'\fR. (For an \f(CW%ifdef\fR statement, the \f(CW%else\fR statement is executed
+if the indicated string has never been declared or is a variable without a
+value, or if an \f(CW%undef\fR statement has undefined either one; for an
+\&\f(CW%ifndef\fR statement, it is executed if the string has been declared or is
+a variable with a value.)
+.PP
+It is possible to nest any number of \f(CW%ifdef\fR and \f(CW%ifndef\fR statements.
+.PP
+The two types of statement share a common syntax:
+.PP
+.Vb 5
+\& (%ifdef | %ifndef) <declaration>
+\& <action>+
+\& [%else [<declaration>]
+\& <alternate_action>+]
+\& %endif <declaration>
+.Ve
+.PP
+where
+.ie n .IP "%ifdef" 4
+.el .IP "\f(CW%ifdef\fR" 4
+.IX Item "%ifdef"
+Indicates that the statement evaluates as true if the string in the
+<declaration> field is declared or is a variable with a defined value.
+.ie n .IP "%ifndef" 4
+.el .IP "\f(CW%ifndef\fR" 4
+.IX Item "%ifndef"
+Indicates that the statement evaluates as true if the string in the
+<declaration> field is not declared or is a variable without a defined
+value.
+.IP "<declaration>" 4
+.IX Item "<declaration>"
+Specifies the string that must be declared or the variable name that must
+have a defined value for an \f(CW%ifdef\fR statement to evaluate as \f(CW\*(C`true\*(C'\fR,
+which results in the specified action being performed. For an \f(CW%ifndef\fR
+statement, the string must not be declared or the variable must have no
+defined value for the statement to evaluate as \f(CW\*(C`true\*(C'\fR. The first and
+third occurrences of <declaration> (the latter following the string
+\&\f(CW%endif\fR) are required. The second occurrence (following the string
+\&\f(CW%else\fR) is optional, serving only to clarify to which \f(CW%ifdef\fR or
+\&\f(CW%ifndef\fR statement the \f(CW%else\fR statement belongs.
+.IP "<action>" 4
+.IX Item "<action>"
+Specifies each action to perform if the \f(CW%ifdef\fR or \f(CW%ifndef\fR statement
+evaluates as \f(CW\*(C`true\*(C'\fR. Each action must appear on a separate
+line. Acceptable types of actions are other statements beginning with a
+percent sign and definition instructions.
+.IP "<alternate_action>" 4
+.IX Item "<alternate_action>"
+Specifies each action to perform if the \f(CW%ifdef\fR or \f(CW%ifndef\fR statement
+evaluates to \f(CW\*(C`false\*(C'\fR. Each action must appear on a separate
+line. Acceptable types of actions are other statements beginning with a
+percent sign and definition instructions.
+.ie n .Sh "The %include Instruction for Including a Library File"
+.el .Sh "The \f(CW%include\fP Instruction for Including a Library File"
+.IX Subsection "The %include Instruction for Including a Library File"
+The \f(CW%include\fR instruction in a package configuration file includes the
+contents of the indicated library file in a configuration file that
+results from the compilation of the prototype file in which the
+\&\f(CW%include\fR instruction appears. It has the following syntax:
+.PP
+.Vb 1
+\& %include <pathname>
+.Ve
+.PP
+where
+.ie n .IP "%include" 4
+.el .IP "\f(CW%include\fR" 4
+.IX Item "%include"
+Indicates a library file include statement.
+.IP "<pathname>" 4
+.IX Item "<pathname>"
+Specifies the complete pathname of the library file to include. It can be
+in \s-1AFS\s0 or on the local disk, and can include one or more variables.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The configuration file must be completely correct. If there are any syntax
+errors or incorrect values, the \fBpackage\fR command interpreter exits
+without executing any instruction.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example \f(CW\*(C`B\*(C'\fR and \f(CW\*(C`C\*(C'\fR instructions define a disk
+\&\fI/dev/hd0a\fR with major and minor device numbers \f(CW1\fR and \f(CW0\fR and mode
+bits of \f(CW\*(C`\-rw\-r\-\-r\-\-\*(C'\fR, and a tty \fI/dev/ttyp5\fR with major and minor device
+numbers \f(CW6\fR and \f(CW5\fR and mode bits of \f(CW\*(C`\-rw\-rw\-rw\*(C'\fR. In both cases, the
+owner is \f(CW\*(C`root\*(C'\fR and the owning group \f(CW\*(C`wheel\*(C'\fR.
+.PP
+.Vb 2
+\& B /dev/hd0a 1 0 root wheel 644
+\& C /dev/ttyp5 6 5 root wheel 666
+.Ve
+.PP
+The following example \f(CW\*(C`D\*(C'\fR instruction creates the local \fI/usr\fR directory
+with owner \f(CW\*(C`root\*(C'\fR and group \f(CW\*(C`wheel\*(C'\fR and mode bits of \f(CW\*(C`drwxr\-xr\-x\*(C'\fR. The
+\&\f(CW\*(C`R\*(C'\fR update code removes any files and subdirectories that reside in the
+\&\fI/usr\fR directory (if it already exists) but do not appear in the
+configuration file.
+.PP
+.Vb 1
+\& DR /usr root wheel 755
+.Ve
+.PP
+The following example \f(CW\*(C`F\*(C'\fR instruction, appropriate for a machine running
+\&\s-1AIX\s0 4.2 in the \s-1ABC\s0 Corporation cell, creates or updates the local disk
+file \fI/bin/grep\fR, using \fI/afs/abc.com/rs_aix42/bin/grep\fR as the source.
+.PP
+.Vb 1
+\& F /bin/grep /afs/abc.com/rs_aix42 root wheel 755
+.Ve
+.PP
+The next example \f(CW\*(C`F\*(C'\fR instruction creates the \fI/usr/vice/etc/ThisCell\fR
+file and specifies an absolute pathname for the source file, as indicated
+by the \f(CW\*(C`A\*(C'\fR update code. The \f(CW\*(C`Q\*(C'\fR code makes the \fBpackage\fR command return
+status code 4 as it exits, prompting a reboot of the machine if the
+standard \fBpackage\fR\-related changes have been made to the machine's \s-1AFS\s0
+initialization file. No values are provided for the owner, group and mode
+bits, so the file inherits them from the source file.
+.PP
+.Vb 1
+\& FAQ /usr/vice/etc/ThisCell /afs/abc.com/common/etc/ThisCell
+.Ve
+.PP
+The following example \f(CW\*(C`L\*(C'\fR instruction, appropriate for a machine running
+\&\s-1AIX\s0 4.2 in the \s-1ABC\s0 Corporation cell, creates a symbolic link from
+\&\fI/etc/ftpd\fR on the local disk to the file
+\&\fI/afs/abc.com/rs_aix42/etc/ftpd\fR.
+.PP
+.Vb 1
+\& L /etc/ftpd /afs/abc.com/rs_aix42 root wheel 644
+.Ve
+.PP
+The following example S instruction defines the socket \fI/dev/printer\fR.
+.PP
+.Vb 1
+\& S /dev/printer root wheel 777
+.Ve
+.PP
+The following example \f(CW%define\fR instruction defines the value for the
+variable \f(CW\*(C`${diskmode}\*(C'\fR. This variable is used elsewhere in the template
+to fill the <owner>, <group>, and <mode> fields in a \f(CW\*(C`D\*(C'\fR, \f(CW\*(C`F\*(C'\fR, or \f(CW\*(C`L\*(C'\fR
+instruction.
+.PP
+.Vb 1
+\& %define diskmode root wheel 644
+.Ve
+.PP
+The following example \f(CW%undef\fR instruction declares the string \fBafsd\fR
+not to be defined.
+.PP
+.Vb 1
+\& %undef afsd
+.Ve
+.PP
+The following example \f(CW%ifdef\fR instruction specifies that if the string
+\&\f(CW\*(C`rs_aix42\*(C'\fR is currently declared, then when the prototype file containing
+the instruction is compiled the three indicated library files are
+included. There is no alternate action defined. There must be \f(CW%define\fR
+statements earlier in the prototype file to declare \f(CW\*(C`rs_aix42\*(C'\fR and to
+assign a value to the \f(CW\*(C`${wsadmin}\*(C'\fR variable.
+.PP
+.Vb 5
+\& %ifdef rs_aix42
+\& %include ${wsadmin}/lib/rs_aix42.readonly
+\& %include ${wsadmin}/lib/rs_aix42.generic
+\& %include ${wsadmin}/lib/rs_aix42.generic.dev
+\& %endif rs_aix42
+.Ve
+.PP
+The following example \f(CW%ifndef\fR instruction, appropriate for the State
+University cell, defines \f(CW\*(C`stateu.edu\*(C'\fR as the value of the \f(CW\*(C`${cell}\*(C'\fR
+variable if it does not already have a value.
+.PP
+.Vb 3
+\& %ifndef cell
+\& %define cell stateu.edu
+\& %endif cell
+.Ve
+.PP
+The following example \f(CW%include\fR instruction includes the library file
+\&\f(CW\*(C`base.generic\*(C'\fR from the \fIlib\fR subdirectory of the directory in which
+\&\fBpackage\fR\-related files reside. The \f(CW\*(C`${wsadmin}\*(C'\fR variable resolves to an
+actual pathname (such as \fI/afs/abc.com/wsadmin\fR) during compilation.
+.PP
+.Vb 1
+\& %include ${wsadmin}/lib/base.generic
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpackage\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PRDB.DB0 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PRDB.DB0 5"
++.TH PRDB.DB0 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+prdb.DB0, prdb.DBSYS1 \- Contain the Protection Database and associated log
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIprdb.DB0\fR file contains the Protection Database, which maps \s-1AFS\s0
+user, machine, and group names to their respective IDs (\s-1AFS\s0 UIDs and GIDs)
+and tracks group memberships. The Protection Server (\fBptserver\fR process)
+uses the information in the database to help the File Server grant data
+access to authorized users.
+.PP
+The \fIprdb.DBSYS1\fR file is a log file in which the Protection Server logs
+each database operation before performing it. When an operation is
+interrupted, the Protection Server replays the log to complete the
+operation.
+.PP
+Both files are in binary format and reside in the \fI/usr/afs/db\fR directory
+on each of the cell's database server machines. When the Protection Server
+starts or restarts on a given machine, it establishes a connection with
+its peers and verifies that its copy of the database matches the copy on
+the other database server machines. If not, the Protection Servers call on
+\&\s-1AFS\s0's distributed database technology, Ubik, to distribute to all of the
+machines the copy of the database with the highest version number.
+.PP
+Always use the commands in the \fBpts\fR suite to administer the Protection
+Database. It is advisable to create an archive copy of the database on a
+regular basis, using a tool such as the \s-1UNIX\s0 \fBtar\fR command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIprdb_check\fR\|(8),
+\&\fIpts\fR\|(1),
+\&\fIptserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH SALVAGE.LOCK 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SALVAGE.LOCK 5"
++.TH SALVAGE.LOCK 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+salvage.lock \- Prevents multiple simultaneous salvage operations on a partition
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIsalvage.lock\fR file guarantees that only one Salvager (\fBsalvager\fR
+process) runs at a time on a file server machine (the single process can
+fork multiple subprocesses to salvage multiple partitions in parallel). As
+the Salvager initializes, it creates the empty (zero-length) file in the
+\&\fI/usr/afs/local\fR directory and invokes the \fBflock\fR system call on it. It
+removes the file when it completes the salvage operation. Because the
+Salvager must lock the file to run, only one Salvager can run at a time.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsalvager\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH SYSID 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SYSID 5"
++.TH SYSID 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+sysid \- Lists file server machine interface addresses registered in VLDB
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fIsysid\fR file records the network interface addresses that the File
+Server (\fBfileserver\fR process) registers in the Volume Location Database
+(\s-1VLDB\s0) for the local file server machine.
+.PP
+Each time the File Server restarts, it builds a list of interfaces on the
+local machine by reading the \fI/usr/afs/local/NetInfo\fR file, if it
+exists. If the file does not exist, the File Server uses the list of
+network interfaces configured with the operating system. It then removes
+from the list any addresses that appear in the
+\&\fI/usr/afs/local/NetRestrict\fR file, if it exists. The File Server records
+the resulting list in the binary-format \fIsysid\fR file and registers the
+interfaces in the \s-1VLDB\s0.
+.PP
+When the Cache Manager requests volume location information, the Volume
+Location (\s-1VL\s0) Server provides all of the interfaces registered for each
+server machine that houses the volume. This enables the Cache Manager to
+make use of multiple addresses when accessing \s-1AFS\s0 data stored on a
+multihomed file server machine.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fIsysid\fR file is unique to each file server machine, and must not be
+copied from one machine to another. If it is a common practice in the cell
+to copy the contents of the \fI/usr/afs/local\fR directory from an existing
+file server machine to a newly installed one, be sure to remove the
+\&\fIsysid\fR file from the new machine before starting the \f(CW\*(C`fs\*(C'\fR trio of
+processes, which includes the \fBfileserver\fR process.
+.PP
+Some versions of \s-1AFS\s0 limit how many of a file server machine's interface
+addresses that can be registered. Consult the \fI\s-1IBM\s0 \s-1AFS\s0 Release Notes\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fINetInfo\fR\|(5),
+\&\fINetRestrict\fR\|(5),
+\&\fIvldb.DB0\fR\|(5),
+\&\fIfileserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH TAPECONFIG 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "TAPECONFIG 5"
++.TH TAPECONFIG 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+tapeconfig \- Defines parameters for tape devices and backup data files
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fItapeconfig\fR file defines basic configuration parameters for all of
+the tape devices or backup data files available for backup operations on a
+Tape Coordinator machine. The file is in \s-1ASCII\s0 format and must reside in
+the local \fI/usr/afs/backup\fR directory. The instruction for each tape
+device or backup data file appears on its own line and each has the
+following format:
+.PP
+.Vb 1
+\& [<capacity> <filemark_size>] <device_name> <port_offset>
+.Ve
+.PP
+where
+.IP "<capacity>" 4
+.IX Item "<capacity>"
+Specifies the capacity of the tapes used with a tape device, or the amount
+of data to write into a backup data file. The Tape Coordinator refers to
+this value in two circumstances:
+.RS 4
+.IP "\(bu" 4
+When the capacity field of a tape or backup data file's label is empty
+(because the tape has never been labeled). The Tape Coordinator records
+this value on the label and uses it when determining how much data it can
+write to the tape or file during a \fBbackup dump\fR or \fBbackup savedb\fR
+operation. If there is already a capacity value on the label, the Tape
+Coordinator uses it instead.
+.IP "\(bu" 4
+When the \fB\-size\fR argument is omitted the first time the \fBbackup
+labeltape\fR command is used on a given tape or file. The Tape Coordinator
+copies this value into the label's capacity field.
+.RE
+.RS 4
+.Sp
+The Tape Coordinator uses this capacity value or the one on the Backup
+System tape label to track how much space remains as it writes data to a
+tape or backup data file. The appropriate value to record for a tape
+depends on the size of the tapes usually used in the device and whether it
+has a compression mode; for suggested values, see the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR chapter on configuring the Backup System. If using a
+value obtained from the \fBfms\fR command, reduce it by 10% to 15% before
+recording it in the file.
+.Sp
+For a backup data file, it is best to provide a value that helps the Tape
+Coordinator avoid reaching the end-of-file (\s-1EOF\s0) unexpectedly. Make it at
+least somewhat smaller than the amount of space available on the partition
+housing the file when the dump operation begins, and never larger than the
+maximum file size allowed by the operating system.
+.Sp
+Specify a (positive) integer or decimal value followed by a letter than
+indicates units, with no intervening space. In a decimal number, the
+number of digits after the decimal point must not translate to fractions
+of bytes. The maximum acceptable value is 2048 \s-1GB\s0 (2 \s-1TB\s0). The acceptable
+units letters are as follows; if the letter is omitted, the default is
+kilobytes.
+.IP "\(bu" 4
+\&\f(CW\*(C`k\*(C'\fR or \f(CW\*(C`K\*(C'\fR for kilobytes (\s-1KB\s0).
+.IP "\(bu" 4
+\&\f(CW\*(C`m\*(C'\fR or \f(CW\*(C`M\*(C'\fR for megabytes (\s-1MB\s0).
+.IP "\(bu" 4
+\&\f(CW\*(C`g\*(C'\fR or \f(CW\*(C`G\*(C'\fR for gigabytes (\s-1GB\s0).
+.IP "\(bu" 4
+\&\f(CW\*(C`t\*(C'\fR or \f(CW\*(C`T\*(C'\fR for terabytes (\s-1TB\s0).
+.RE
+.RS 4
+.Sp
+If this field is omitted, the Tape Coordinator uses the maximum acceptable
+value (2048 \s-1GB\s0 or 2 \s-1TB\s0). Either leave both this field and the
+<filemark_size> field empty, or provide a value in both of them.
+.RE
+.IP "<filemark_size>" 4
+.IX Item "<filemark_size>"
+Specifies the size of a tape device's filemarks (also called end-of-file
+or \s-1EOF\s0 marks), which is set by the device's manufacturer. In a dump to
+tape, the Tape Coordinator inserts filemarks at the boundary between the
+data from each volume, so the filemark size affects how much space is
+available for actual data.
+.Sp
+The appropriate value to record for a tape depends on the size of the
+tapes usually used in the device and whether it has a compression mode;
+for suggested values, see the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR chapter on
+configuring the Backup System. If using a value obtained from the \fBfms\fR
+command, increase it by 10% to 15% before recording it in the file.
+.Sp
+For backup data files, record a value of 0 (zero). The Tape Coordinator
+actually ignores this field for backup data files, because it does not use
+filemarks when writing to a file.
+.Sp
+Use the same notation as for the <capacity> field, but note that the
+default units is bytes rather than kilobytes. The maximum acceptable value
+is 2048 \s-1GB\s0.
+.Sp
+If this field is empty, the Tape Coordinator uses the value 0
+(zero). Either leave both this field and the <capacity> field empty, or
+provide a value in both of them.
+.IP "<device_name>" 4
+.IX Item "<device_name>"
+Specifies the complete pathname of the tape device or backup data
+file. The format of tape device names depends on the operating system, but
+on \s-1UNIX\s0 systems device names generally begin with the string \fI/dev/\fR. For
+a backup data file, this field defines the complete pathname; for a
+discussion of suggested naming conventions see the description of the
+\&\f(CW\*(C`FILE\*(C'\fR instruction in \fIbutc\fR\|(5).
+.IP "<port_offset>" 4
+.IX Item "<port_offset>"
+Specifies the port offset number associated with this combination of Tape
+Coordinator and tape device or backup data file.
+.Sp
+Acceptable values are the integers \f(CW0\fR through \f(CW58510\fR (the Backup
+System can track a maximum of 58,511 port offset numbers). Each value
+must be unique among the cell's Tape Coordinators, but any number of them
+can be associated with a single machine. Port offset numbers need not be
+assigned sequentially, and can appear in any order in the \fItapeconfig\fR
+file. Assign port offset \f(CW0\fR to the Tape Coordinator for the tape device
+or backup data file used most often for backup operations; doing so will
+allow the operator to omit the \fB\-portoffset\fR argument from the largest
+possible number of \fBbackup\fR commands.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Creating the file requires \s-1UNIX\s0 \f(CW\*(C`w\*(C'\fR (write) and \f(CW\*(C`x\*(C'\fR (execute)
+permissions on the \fI/usr/afs/backup\fR directory. Editing the file requires
+\&\s-1UNIX\s0 \f(CW\*(C`w\*(C'\fR (write) permission on the file.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example tapeconfig file configures three tape devices and a
+backup data file. The first device has device name \fI/dev/rmt/0h\fR, and is
+assigned port offset \f(CW0\fR because it will be the most frequently used
+device for all backup operations in the cell. Its default tape capacity is
+2 \s-1GB\s0 and filemark size is 1 \s-1MB\s0. The \fI/dev/rmt/3h\fR drive has half the
+capacity but a much smaller filemark size; its port offset is \f(CW3\fR. The
+third device listed, \fI/dev/rmt/4h\fR, has the same capacity and filemark
+size as the first device and is assigned port offset \f(CW2\fR. Port offset
+\&\f(CW4\fR is assigned to the backup data file \fI/dev/FILE\fR, which is actually a
+symbolic link to the actual file located elsewhere on the local disk. The
+Tape Coordinator writes up to 1.5 \s-1GB\s0 into the file; as recommended, the
+filemark size is set to zero.
+.PP
+.Vb 4
+\& 2G 1M /dev/rmt/0h 0
+\& 1g 4k /dev/rmt/3h 3
+\& 2G 1m /dev/rmt/4h 2
+\& 1.5G 0 /dev/FILE 4
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup_addhost\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_labeltape\fR\|(8),
+\&\fIbackup_savedb\fR\|(8),
+\&\fIbutc\fR\|(8),
+\&\fIfms\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS 5"
++.TH USS 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss \- Provides instructions for the uss add command
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The uss template file defines the components of an \s-1AFS\s0 user account that
+the \fBuss add\fR command (or \fBadd\fR instruction in a \fBuss\fR bulk input file)
+creates. Use the \fB\-template\fR argument to the \fBuss add\fR or \fBuss bulk\fR
+command to identify the template file.
+.Sh "Summary of Template File Instructions"
+.IX Subsection "Summary of Template File Instructions"
+The template file can include the following instructions, each on its own
+line. A more detailed description of each instruction's syntax follows
+this list.
+.IP "A" 4
+.IX Item "A"
+Imposes restrictions on user passwords and authentication attempts.
+.IP "D" 4
+.IX Item "D"
+Creates a directory.
+.IP "E" 4
+.IX Item "E"
+Creates a single-line file.
+.IP "F" 4
+.IX Item "F"
+Creates a file by copying a prototype.
+.IP "G" 4
+.IX Item "G"
+Defines a directory that is one of a set of parent directories into which
+the \fBuss\fR command interpreter evenly distributes newly created home
+directories.
+.IP "L" 4
+.IX Item "L"
+Creates a hard link.
+.IP "S" 4
+.IX Item "S"
+Creates a symbolic link.
+.IP "V" 4
+.IX Item "V"
+Creates a volume, mounts it in the file space and sets the \s-1ACL\s0 on the
+mount point.
+.IP "X" 4
+.IX Item "X"
+Executes a command.
+.PP
+If the template file is empty (zero-length), the \fBuss add\fR command or
+\&\f(CW\*(C`add\*(C'\fR instruction in a bulk input file only creates an entry in the
+Protection and Authentication Databases, naming them according to the name
+specified with the \fBuss add\fR command's \fB\-user\fR argument, or in the bulk
+input file \f(CW\*(C`add\*(C'\fR instruction's \fIusername\fR field.
+.Sh "The A Instruction for Setting the Default Treatment of Volumes"
+.IX Subsection "The A Instruction for Setting the Default Treatment of Volumes"
+The \f(CW\*(C`A\*(C'\fR instruction in a uss template file enhances cell security by
+imposing the following restrictions on users' password choice and
+authentication attempts. For further information on these limits, see the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR and the \fBkas setfields\fR reference page.
+.IP "\(bu" 4
+Limiting the user's password lifetime. When the lifetime expires, the user
+can no longer authenticate using that password, and must change it.
+.IP "\(bu" 4
+Prohibiting the reuse of the user's 20 most recently used passwords.
+.IP "\(bu" 4
+Limiting the number of consecutive times that a user can provide an
+incorrect password during authentication, and for how long the
+Authentication Server refuses further authentication attempts after the
+limit is exceeded (referred to as an \fIaccount lockout\fR). For regular user
+accounts in most cells, the recommended limit is nine and lockout time is
+25 minutes.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& A <username> <lifetime> <reuse> <failures> <locktime>
+.Ve
+.PP
+where
+.IP "A" 4
+.IX Item "A"
+Indicates a security-enhancing instruction. It must be a capital letter.
+.IP "<username>" 4
+.IX Item "<username>"
+Names the Authentication Database entry on which to impose security
+restrictions. Specify the value \f(CW$USER\fR to read in the username from the
+\&\fBuss add\fR command's \fB\-user\fR argument, or from the \fIusername\fR field of
+an \f(CW\*(C`add\*(C'\fR instruction in a bulk input file.
+.IP "<lifetime>" 4
+.IX Item "<lifetime>"
+Sets the number of days after the user's password is changed that it
+remains valid. When the password becomes invalid (expires), the user is
+unable to authenticate, but has 30 more days in which to issue the
+\&\fBkpasswd\fR command to change the password (after that, only an
+administrator can change it).
+.Sp
+Specify an integer from the range \f(CW1\fR through \f(CW254\fR to specify the
+number of days until expiration, the value \f(CW0\fR to indicate that the
+password never expires, or the value \f(CW$PWEXPIRES\fR to read in the number
+of days from the \fBuss add\fR or \fBuss bulk\fR command's \fB\-pwexpires\fR
+argument. If the \f(CW\*(C`A\*(C'\fR instruction does not appear in the template file,
+the default is for the user's password never to expire.
+.IP "<reuse>" 4
+.IX Item "<reuse>"
+Determines whether or not the user can change his or her password (using
+the \fBkpasswd\fR or \fBkas setpassword\fR command) to one that is similar to
+any of the last twenty passwords. The acceptable values are \f(CW\*(C`reuse\*(C'\fR to
+allow reuse and \f(CW\*(C`noreuse\*(C'\fR to prohibit it. If the \f(CW\*(C`A\*(C'\fR instruction does
+not appear in the template file, the default is to allow password reuse.
+.IP "<failures>" 4
+.IX Item "<failures>"
+Sets the number of consecutive times the user can provide an incorrect
+password during authentication (using the \fBklog\fR command or a login
+utility that grants \s-1AFS\s0 tokens). When the user exceeds the limit, the
+Authentication Server rejects further authentication attempts for the
+amount of time specified in the <locktime> field.
+.Sp
+Specify an integer from the range \f(CW1\fR through \f(CW254\fR to specify the
+number of failures permitted, or the value \f(CW0\fR to indicate that there is
+no limit to the number of unsuccessful attempts. If the \f(CW\*(C`A\*(C'\fR instruction
+does not appear in the template file, the default is to allow an unlimited
+number of failures.
+.IP "<locktime>" 4
+.IX Item "<locktime>"
+Specifies how long the Authentication Server refuses authentication
+attempts from a user who has exceeded the failure limit set in the
+<failures> field.
+.Sp
+Specify a number of hours and minutes (\fIhh:mm\fR) or minutes only (\fImm\fR),
+from the range \f(CW01\fR (one minute) through \f(CW\*(C`36:00\*(C'\fR (36 hours). The
+Authentication Server automatically reduces any larger value to \f(CW\*(C`36:00\*(C'\fR
+and also rounds up any non-zero value to the next higher multiple of 8.5
+minutes. A value of \f(CW0\fR (zero) sets an infinite lockout time; an
+administrator must always issue the \fBkas unlock\fR command to unlock the
+account.
+.Sh "The D Instruction for Creating a Directory"
+.IX Subsection "The D Instruction for Creating a Directory"
+The \f(CW\*(C`D\*(C'\fR instruction in a uss template file creates a directory. Its
+intended use is to create a subdirectory in the user home directory
+created by the \f(CW\*(C`V\*(C'\fR instruction in the template file.
+.PP
+Any number of \f(CW\*(C`D\*(C'\fR instructions can appear in the template file. If any
+variables in the instruction take their values from the \f(CW\*(C`V\*(C'\fR instruction
+(notably, the \f(CW$MTPT\fR variable), the instruction must follow the \f(CW\*(C`V\*(C'\fR
+instruction in the file.
+.PP
+Although it is possible to use the \f(CW\*(C`D\*(C'\fR instruction to create a directory
+on the local disk of the machine where the \fBuss\fR command is issued, it is
+not recommended. The preferred method for automated creation of
+directories on a local disk is the \fBpackage\fR program. Two complications
+arise if the <pathname> field refers to a local disk directory:
+.IP "\(bu" 4
+The \fBuss\fR command prints a warning message because it cannot associate an
+access control list (\s-1ACL\s0) with a local disk directory. It creates the
+directory nonetheless, and some syntactically correct value must appear in
+the instruction's <\s-1ACL\s0> field.
+.IP "\(bu" 4
+To designate any user other than the issuer as the new directory's owner,
+the issuer must log onto the machine as the local superuser \f(CW\*(C`root\*(C'\fR. For
+local disk directories, only the local superuser \f(CW\*(C`root\*(C'\fR is allowed to
+issue the \s-1UNIX\s0 \fBchown\fR command that the \fBuss\fR command interpreter
+invokes to change the owner from the default value (the directory's
+creator, which in this case is the issuer of the \fBuss\fR command). The
+issuer must then also use the \fB\-admin\fR argument to the \fBuss add\fR or
+\&\fBuss bulk\fR command to authenticate as a privileged \s-1AFS\s0 administrator,
+which is required for creating the Authentication Database and Protection
+Database entries that the \fBuss\fR command interpreter always creates for a
+new account.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& D <pathname> <mode> <owner> <ACL>
+.Ve
+.PP
+where
+.IP "D" 4
+.IX Item "D"
+Indicates a directory creation instruction. It must be a capital letter.
+.IP "<pathname>" 4
+.IX Item "<pathname>"
+Specifies the directory's full pathname. It can include variables.
+.Sp
+Specify the read/write path to the directory, to avoid the failure that
+results from attempting to create a new directory in a read-only
+volume. By convention, the read/write path is indicated by placing a
+period before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the reference page for the \fBfs
+mkmount\fR command.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Sets the directory's \s-1UNIX\s0 mode bits. Acceptable values are the standard
+three\- or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR. The first (owner) \f(CW\*(C`x\*(C'\fR bit must be turned on to enable
+access to a directory.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the directory's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-ld\*(C'\fR command. If
+the directory resides in \s-1AFS\s0, place the \f(CW$UID\fR variable in this field. If
+the directory resides on the local disk, this field must be the username
+or \s-1UID\s0 of the \fBuss\fR command's issuer, unless the issuer is logged in as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.IP "<\s-1ACL\s0>" 4
+.IX Item "<ACL>"
+Sets the \s-1ACL\s0 on the new directory. It must appear even if the new
+directory resides on the local disk rather than in \s-1AFS\s0, but is ignored in
+that case. Provide one or more paired values, each pair consisting of an
+\&\s-1AFS\s0 username or group name and the desired permissions, in that order.
+Separate the two parts of the pair, and each pair, with a space. The \fBfs
+setacl\fR reference page describes the available permissions.
+.Sp
+For an \s-1AFS\s0 directory, grant all permissions to the directory's owner at
+least. Usually that is the new user, in which case the appropriate value
+is \f(CW\*(C`$USER all\*(C'\fR.
+.Sp
+It is not possible to grant any permissions to the issuer of the \fBuss\fR
+command. As the last step in account creation, the \fBuss\fR command
+interpreter automatically deletes that person from any ACLs set during the
+creation process.
+.Sh "The E Instruction for Creating a Single-line File"
+.IX Subsection "The E Instruction for Creating a Single-line File"
+The \f(CW\*(C`E\*(C'\fR instruction in a uss template file creates a file by echoing a
+specified character string into it. Its intended use is to create files in
+the user home directory created by the \f(CW\*(C`V\*(C'\fR instruction in the template
+file, or in a subdirectory created by a \f(CW\*(C`D\*(C'\fR instruction.
+.PP
+Any number of \f(CW\*(C`E\*(C'\fR instructions can appear in the template file. If the
+file resides in a directory created by a \f(CW\*(C`D\*(C'\fR instruction, the \f(CW\*(C`E\*(C'\fR
+instruction must follow the \f(CW\*(C`D\*(C'\fR instruction in the file.
+.PP
+The \f(CW\*(C`E\*(C'\fR and \f(CW\*(C`F\*(C'\fR instructions have complementary advantages. The
+character string echoed into the file by an \f(CW\*(C`E\*(C'\fR instruction can be
+customized for each user, because it can include the standard variables
+for which the \fBuss\fR command interpreter substitutes the values specified
+by arguments to the \fBuss add\fR command or fields in a bulk input file
+\&\fBadd\fR instruction. In contrast, a file created using the \f(CW\*(C`F\*(C'\fR instruction
+cannot include variables and so has the same content for all
+users. However, a file created by an \f(CW\*(C`E\*(C'\fR instruction can be a single line
+only, because no carriage returns (newline characters) are allowed in the
+character string.
+.PP
+Although it is possible to use the \f(CW\*(C`E\*(C'\fR instruction to create a file on
+the local disk of the machine where the \fBuss\fR command is issued, it is
+not recommended. The preferred method for automated creation of files on a
+local disk is the \fBpackage\fR program. The main complication is that
+designating any user other than the issuer as the new file's owner
+requires logging onto the machine as the local superuser \f(CW\*(C`root\*(C'\fR. For
+local disk files, only the local superuser \f(CW\*(C`root\*(C'\fR is allowed to issue the
+\&\s-1UNIX\s0 \fBchown\fR command that the \fBuss\fR command interpreter invokes to
+change the owner from the default value (the file's creator, which in this
+case is the issuer of the \fBuss\fR command). The issuer must then also use
+the \fB\-admin\fR argument to the \fBuss add\fR or \fBuss bulk\fR command to
+authenticate as a privileged \s-1AFS\s0 administrator, which is required for
+creating the Authentication Database and Protection Database entries that
+the \fBuss\fR command interpreter always creates for a new account.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& E <pathname> <mode> <owner> "<contents>"
+.Ve
+.PP
+where
+.IP "E" 4
+.IX Item "E"
+Indicates a file creation instruction. It must be a capital letter.
+.IP "<pathname>" 4
+.IX Item "<pathname>"
+Specifies the file's full pathname. It can include variables.
+.Sp
+Specify the read/write path to the file, to avoid the failure that results
+from attempting to create a new file in a read-only volume. By convention,
+the read/write path is indicated by placing a period before the cell name
+at the pathname's second level (for example, \fI/afs/.abc.com\fR). For
+further discussion of the concept of read/write and read-only paths
+through the filespace, see the reference page for the \fBfs mkmount\fR
+command.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Sets the file's \s-1UNIX\s0 mode bits. Acceptable values are the standard three\-
+or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the file's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command. If the file
+resides in \s-1AFS\s0, place the \f(CW$UID\fR variable in this field. If the file
+resides on the local disk, specify the username or \s-1UID\s0 of the \fBuss\fR
+command's issuer; otherwise, the account creation operation halts
+immediately.
+.IP "<contents>" 4
+.IX Item "<contents>"
+Specifies the one-line character string to write into the new file.
+Surround it with double quotes if it contains one or more spaces. It
+cannot contain the newline character, but can contain any of the standard
+variables, which the command interpreter resolves as it creates the file.
+.Sh "The F Instruction for Creating a File from a Prototype"
+.IX Subsection "The F Instruction for Creating a File from a Prototype"
+The \f(CW\*(C`F\*(C'\fR instruction in a uss template file creates a file by copying the
+contents of an existing file (the <prototype>) into it. Its intended use
+is to create files in the user home directory created by the \f(CW\*(C`V\*(C'\fR
+instruction in the template file, or in a subdirectory created by a \f(CW\*(C`D\*(C'\fR
+instruction.
+.PP
+Any number of \f(CW\*(C`F\*(C'\fR instructions can appear in the template file. If the
+file resides in a directory created by a \f(CW\*(C`D\*(C'\fR instruction, the \f(CW\*(C`F\*(C'\fR
+instruction must follow the \f(CW\*(C`D\*(C'\fR instruction in the file.
+.PP
+The \f(CW\*(C`E\*(C'\fR and \f(CW\*(C`F\*(C'\fR instructions have complementary advantages. A file
+created using the \f(CW\*(C`F\*(C'\fR instruction has the same content for all users,
+whereas a file created by an \f(CW\*(C`E\*(C'\fR instruction can be customized for each
+user if it includes variables. However, a file created by an \f(CW\*(C`E\*(C'\fR
+instruction can be a single line only, whereas the prototype file copied
+by an \f(CW\*(C`F\*(C'\fR instruction can be any length.
+.PP
+Although it is possible to use the \f(CW\*(C`F\*(C'\fR instruction to create a file on
+the local disk of the machine where the \fBuss\fR command is issued, it is
+not recommended. The preferred method for automated creation of files on a
+local disk is the \fBpackage\fR program. The main complication is that
+designating any user other than the issuer as the new file's owner
+requires logging onto the machine as the local superuser \f(CW\*(C`root\*(C'\fR. For
+local disk files, only the local superuser \f(CW\*(C`root\*(C'\fR is allowed to issue the
+\&\s-1UNIX\s0 \fBchown\fR command that the \fBuss\fR command interpreter invokes to
+change the owner from the default value (the file's creator, which in this
+case is the issuer of the \fBuss\fR command). The issuer must then also use
+the \fB\-admin\fR argument to the \fBuss add\fR or \fBuss bulk\fR command to
+authenticate as a privileged \s-1AFS\s0 administrator, which is required for
+creating the Authentication Database and Protection Database entries that
+the \fBuss\fR command interpreter always creates for a new account.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& F <pathname> <mode> <owner> <prototype_file>
+.Ve
+.PP
+where
+.IP "F" 4
+.IX Item "F"
+Indicates a file creation instruction. It must be a capital letter.
+.IP "<pathname>" 4
+.IX Item "<pathname>"
+Specifies the full pathname of the file to create, including the
+filename. It can include variables.
+.Sp
+Specify the read/write path to the file, to avoid the failure that results
+from attempting to create a new file in a read-only volume. By convention,
+the read/write path is indicated by placing a period before the cell name
+at the pathname's second level (for example, \fI/afs/.abc.com\fR). For
+further discussion of the concept of read/write and read-only paths
+through the filespace, see the reference page for the \fBfs mkmount\fR
+command.
+.IP "<mode>" 4
+.IX Item "<mode>"
+Sets the file's \s-1UNIX\s0 mode bits. Acceptable values are the standard three\-
+or four-digit numbers corresponding to combinations of
+permissions. Examples: \f(CW755\fR corresponds to \f(CW\*(C`rwxr\-xr\-x\*(C'\fR, and \f(CW644\fR to
+\&\f(CW\*(C`rw\-r\-\-r\-\-\*(C'\fR.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the file's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-l\*(C'\fR command. If the file
+resides in \s-1AFS\s0, place the \f(CW$UID\fR variable in this field. If the file
+resides on the local disk, specify the username or \s-1UID\s0 of the \fBuss\fR
+command's issuer; otherwise, the account creation operation halts
+immediately.
+.IP "<prototype_file>" 4
+.IX Item "<prototype_file>"
+Names the \s-1AFS\s0 or local disk directory that houses the prototype file to
+copy. The prototype file's name must match the final element in the
+<pathname> field.
+.Sh "The G Instruction for Even Distribution of Home Directories"
+.IX Subsection "The G Instruction for Even Distribution of Home Directories"
+The \f(CW\*(C`G\*(C'\fR instruction in a uss template file creates a directory as one of
+the set of directories from which the \fBuss\fR command interpreter selects
+when choosing a new user home directory's parent directory. More
+specifically, when the \f(CW$AUTO\fR variable appears in the <mount_point>
+field of a \f(CW\*(C`V\*(C'\fR instruction, the command interpreter substitutes for it
+the directory defined by a \f(CW\*(C`G\*(C'\fR instruction that currently has the fewest
+entries.
+.PP
+The instruction's intended use is to distribute user accounts evenly among
+several directories, rather than using directories that reflect divisions
+such as departmental affiliation. Distributing home directories in this
+fashion is useful mainly in very large cells where storing all user home
+directories under a single parent directory potentially slows directory
+lookup, or where a workplace-based division results in unevenly sized
+directories such that some users consistently experience slower directory
+lookup than others. See the chapter on \fBuss\fR in the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR for more information.
+.PP
+Any number of \f(CW\*(C`G\*(C'\fR instructions can appear in the template file. If the
+\&\f(CW\*(C`V\*(C'\fR instruction includes the \f(CW$AUTO\fR variable, it must appear after all
+of the \f(CW\*(C`G\*(C'\fR instructions in the file.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& G <directory>
+.Ve
+.PP
+where
+.IP "G" 4
+.IX Item "G"
+Indicates an instruction that creates a directory to be considered as a
+value for the \f(CW$AUTO\fR variable. It must be a capital letter.
+.IP "<directory>" 4
+.IX Item "<directory>"
+Specifies the directory's name as either a complete pathname or only the
+directory name. The choice determines the appropriate format for the
+<mount_point> field of a \f(CW\*(C`V\*(C'\fR instruction, as discussed in the following
+example.
+.Sp
+Specify the read/write path to the directory, to avoid the failure that
+results from attempting to create a new mount point in a read-only volume
+when the \f(CW$AUTO\fR variable is used in a \f(CW\*(C`V\*(C'\fR instruction's <mount_point>
+field. By convention, the read/write path is indicated by placing a period
+before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the reference page for the \fBfs
+mkmount\fR command.
+.Sh "The L and S Instructions for Creating a Link"
+.IX Subsection "The L and S Instructions for Creating a Link"
+The \f(CW\*(C`L\*(C'\fR instruction in a uss template file creates a hard link between
+two files, as achieved by the standard \s-1UNIX\s0 \fBln\fR command. The \f(CW\*(C`S\*(C'\fR
+instruction creates a symbolic link between two files, as achieved by the
+standard \s-1UNIX\s0 \f(CW\*(C`ln \-s\*(C'\fR command. A full explanation of links is beyond the
+scope of this document, but the basic effect is to create a second name
+for an existing file, enabling access via either name. Creating a link
+does not create a second copy of the file.
+.PP
+\&\s-1AFS\s0 allows hard links only if the linked files reside in the same
+directory, because it becomes difficult to determine which access control
+list (\s-1ACL\s0) applies to the file if the two copies reside in directories
+with different ACLs. \s-1AFS\s0 allows symbolic links between two files that
+reside in different directories, or even different volumes. The File
+Server uses the \s-1ACL\s0 associated with the actual file rather than the link.
+.PP
+Any number of \f(CW\*(C`L\*(C'\fR and \f(CW\*(C`S\*(C'\fR instructions can appear in the template
+file. If the existing file or link is to reside in a directory created by
+a \f(CW\*(C`D\*(C'\fR instruction, or if the existing file was created by an \f(CW\*(C`E\*(C'\fR or \f(CW\*(C`F\*(C'\fR
+instruction, the \f(CW\*(C`L\*(C'\fR or \f(CW\*(C`S\*(C'\fR instruction must follow the \f(CW\*(C`D\*(C'\fR, \f(CW\*(C`E\*(C'\fR, or
+\&\f(CW\*(C`F\*(C'\fR instruction.
+.PP
+The instructions share the following syntax:
+.PP
+.Vb 2
+\& L <existing_file> <link>
+\& S <existing_file> <link>
+.Ve
+.PP
+where
+.IP "L" 4
+.IX Item "L"
+Indicates a hard link creation instruction. It must be a capital letter.
+.IP "S" 4
+.IX Item "S"
+Indicates a symbolic link creation instruction. It must be a capital
+letter.
+.IP "<existing_file>" 4
+.IX Item "<existing_file>"
+Specifies the complete pathname of the existing file.
+.IP "<link>" 4
+.IX Item "<link>"
+Specifies the complete pathname of the second name for the file.
+.Sp
+Specify the read/write path to the link, to avoid the failure that results
+from attempting to create a new link in a read-only volume. By convention,
+the read/write path is indicated by placing a period before the cell name
+at the pathname's second level (for example, \fI/afs/.abc.com\fR). For
+further discussion of the concept of read/write and read-only paths
+through the filespace, see the reference page for the \fBfs mkmount\fR
+command.
+.Sh "The V Instruction for Creating and Mounting a Volume"
+.IX Subsection "The V Instruction for Creating and Mounting a Volume"
+The \f(CW\*(C`V\*(C'\fR instruction in a uss template file creates a volume on a
+specified file server machine and partition and creates an entry for it in
+the Volume Location Database (\s-1VLDB\s0). It mounts the volume at a location in
+the \s-1AFS\s0 file space that becomes the user's home directory, then designates
+the directory's owner and sets its access control list (\s-1ACL\s0).
+.PP
+Only one \f(CW\*(C`V\*(C'\fR instruction can appear in the template file, and one must
+appear if the template file contains any instructions at all (is not
+empty). All other instructions are optional, except that the template must
+include \f(CW\*(C`G\*(C'\fR instructions if the \f(CW$AUTO\fR variable appears in it. (The
+\&\f(CW\*(C`V\*(C'\fR instruction is not necessarily the first line in the template. If the
+template includes the \f(CW$AUTO\fR variable, then the \f(CW\*(C`G\*(C'\fR instructions which
+provide values for the variable must precede it in the file.)
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& V <vname> <server> <partition> <quota> <mount_point> <owner> <ACL>
+.Ve
+.PP
+where
+.IP "V" 4
+.IX Item "V"
+Indicates a volume creation instruction. It must be a capital letter.
+.IP "<name>" 4
+.IX Item "<name>"
+Specifies the volume's name. To follow the convention for \s-1AFS\s0 user volume
+names, specify the value \f(CW\*(C`user.$USER\*(C'\fR. Provide a value for the \f(CW$USER\fR
+variable via the \fBuss add\fR command's \fB\-user\fR argument or the <username>
+field in the bulk input file \fBadd\fR instruction.
+.IP "<server>" 4
+.IX Item "<server>"
+Names the file server machine on which to create the new user's volume. It
+is best to provide the fully-qualified hostname (for example,
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR), but an abbreviated form is acceptable provided that the
+cell's naming service is available to resolve it at the time the volume is
+created. To read in the value from the \fBuss add\fR command's \fB\-server\fR
+argument, specify the value \f(CW$SERVER\fR.
+.IP "<partition>" 4
+.IX Item "<partition>"
+Specifies the partition on which to create the user's volume; it must be
+on the file server machine named in the <server> field. Identify the
+partition by its complete name (for example, \fI/vicepa\fR) or use or use one
+of the following abbreviations.
+.Sp
+.Vb 2
+\& /vicepa = vicepa = a = 0
+\& /vicepb = vicepb = b = 1
+.Ve
+.Sp
+After \fI/vicepz\fR (for which the index is 25) comes
+.Sp
+.Vb 2
+\& /vicepaa = vicepaa = aa = 26
+\& /vicepab = vicepab = ab = 27
+.Ve
+.Sp
+and so on through
+.Sp
+.Vb 1
+\& /vicepiv = vicepiv = iv = 255
+.Ve
+.Sp
+To read in the value from the \fBuss add\fR command's \fB\-partition\fR argument,
+specify the value \f(CW$PART\fR.
+.IP "<quota>" 4
+.IX Item "<quota>"
+Sets the maximum number of kilobyte blocks the volume can occupy on the
+file server machine's disk. Specify an integer constant if all volumes
+have the same quota (\f(CW1024\fR equals a megabyte), or use one of the number
+variables ($1 through \f(CW$9\fR) to assign different values to different volumes.
+.IP "<mount_point>" 4
+.IX Item "<mount_point>"
+Creates a mount point for the volume, which serves as the volume's root
+directory. Include the \f(CW$USER\fR variable as part of the pathname to follow
+the convention that user home directory names include the username.
+.Sp
+Specify the read/write path to the mount point, to avoid the failure that
+results from attempting to create a new mount point in a read-only
+volume. By convention, the read/write path is indicated by placing a
+period before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). If the \f(CW$AUTO\fR variable appears in this field, the
+directories named by each \f(CW\*(C`G\*(C'\fR instruction possibly already indicate the
+read/write path. For further discussion of the concept of read/write and
+read-only paths through the filespace, see the reference page for the \fBfs
+mkmount\fR command.
+.IP "<owner>" 4
+.IX Item "<owner>"
+Specifies the username or \s-1UNIX\s0 user \s-1ID\s0 (\s-1UID\s0) of the user to be designated
+the mount point's owner in the output from the \s-1UNIX\s0 \f(CW\*(C`ls \-ld\*(C'\fR command. To
+follow the convention for home directory ownership, place the value
+\&\f(CW$UID\fR in this field.
+.IP "<\s-1ACL\s0>" 4
+.IX Item "<ACL>"
+Sets the \s-1ACL\s0 on the new directory. Provide one or more paired values, each
+pair consisting of an \s-1AFS\s0 username or group name and the desired
+permissions, in that order. Separate the two parts of the pair, and each
+pair, with a space. The \fBfs setacl\fR reference page describes the
+available permissions.
+.Sp
+Grant all permissions to the new user at least. The appropriate
+value is \f(CW\*(C`$USER all\*(C'\fR.
+.Sp
+\&\s-1AFS\s0 automatically grants the system:administrators group all permissions
+as well. It is not possible to grant any permissions to the issuer of the
+\&\fBuss\fR command. As the last step in account creation, the \fBuss\fR command
+interpreter automatically deletes that user from any ACLs set during the
+creation process.
+.Sh "The X Instruction for Running a Command"
+.IX Subsection "The X Instruction for Running a Command"
+The \f(CW\*(C`X\*(C'\fR instruction in a uss template file runs the indicated command,
+which can be a standard \s-1UNIX\s0 or \s-1AFS\s0 command. It can include any variables
+from the template file, which the \fBuss\fR command interpreter resolves
+before passing the command on to the appropriate other command
+interpreter. It must be a single line only, however (cannot contain
+carriage returns or newline characters).
+.PP
+Any number of \f(CW\*(C`X\*(C'\fR instructions can appear in the template file. If an
+instruction manipulates an element created by another instruction, it must
+follow that instruction in the file.
+.PP
+The instruction has the following syntax:
+.PP
+.Vb 1
+\& X "<command>"
+.Ve
+.PP
+where
+.IP "X" 4
+.IX Item "X"
+Indicates a command execution instruction. It must be a capital letter.
+.IP "<command>" 4
+.IX Item "<command>"
+Specifies the command to run. Surround it with double quotes as shown if
+it contains one or more spaces. It can contain any variables from the
+template file, but not newline characters.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example A instruction sets a password lifetime of 254 days,
+prohibits password reuse, limits the number of consecutive failed
+authentication attempts to nine and sets the corresponding locktime to
+25:30 minutes (which is a multiple of 8.5 minutes). The username is read
+in from the \fB\-user\fR argument to the \fBuss add\fR command or from the
+\&\fIusername\fR field in each \f(CW\*(C`add\*(C'\fR instruction in a bulk input file.
+.PP
+.Vb 1
+\& A $USER 254 noreuse 9 25:30
+.Ve
+.PP
+The following example \f(CW\*(C`D\*(C'\fR instruction creates a directory called
+\&\fIpublic\fR in a new user's home directory, designates the user as the
+directory's owner, and grants him or her all \s-1ACL\s0 permissions.
+.PP
+.Vb 1
+\& D $MTPT/public 0755 $UID $USER all
+.Ve
+.PP
+The following example \f(CW\*(C`E\*(C'\fR instruction creates a file in the current
+working directory called \fI\fIusername\fI.etcp\fR. The contents are an entry
+suitable for incorporating into the cell's global \fI/etc/password\fR file.
+.PP
+.Vb 1
+\& E $USER.etcp 0644 root "$USER:X:$UID:10:$NAME:$MTPT:/bin/csh"
+.Ve
+.PP
+The following example \f(CW\*(C`F\*(C'\fR instruction, appropriate for the \s-1ABC\s0
+Corporation cell, copies a prototype \fI.login\fR file into the user's home
+directory.
+.PP
+.Vb 1
+\& F $MTPT/.login 0644 $UID /afs/abc.com/common/uss/skel/.login
+.Ve
+.PP
+In the following example, the State University cell's administrators
+have decided to distribute user home directories evenly into three
+directories. They define three \f(CW\*(C`G\*(C'\fR instructions:
+.PP
+.Vb 3
+\& G usr1
+\& G usr2
+\& G usr3
+.Ve
+.PP
+and then put the following value in the <mount_point> field of the \f(CW\*(C`V\*(C'\fR
+instruction:
+.PP
+.Vb 1
+\& /afs/stateu.edu/$AUTO/$USER
+.Ve
+.PP
+Alternatively, if they include the entire directory pathname in the \f(CW\*(C`G\*(C'\fR
+instruction:
+.PP
+.Vb 3
+\& G /afs/stateu.edu/usr1
+\& G /afs/stateu.edu/usr2
+\& G /afs/stateu.edu/usr3
+.Ve
+.PP
+then the <mount_point> field of the \f(CW\*(C`V\*(C'\fR instruction specifies only the
+following:
+.PP
+.Vb 1
+\& $AUTO/$USER
+.Ve
+.PP
+The following example \f(CW\*(C`L\*(C'\fR instruction creates a hard link between the
+files \fImail\fR and \fImbox\fR in the user's home directory.
+.PP
+.Vb 1
+\& L $MTPT/mbox $MTPT/mail
+.Ve
+.PP
+The following example \f(CW\*(C`S\*(C'\fR instruction, appropriate for the \s-1ABC\s0
+Corporation cell, links the file \fIMail/outgoing\fR in the user's home
+directory to the file \fI/afs/abc.com/common/mail/outgoing\fR.
+.PP
+.Vb 1
+\& S /afs/abc.com/common/mail/outgoing $MTPT/Mail/outgoing
+.Ve
+.PP
+The following example \f(CW\*(C`V\*(C'\fR instruction creates a volume called
+\&\f(CW\*(C`user.\f(CIusername\f(CW\*(C'\fR on the \fI/vicepa\fR partition of the specified file
+server machine, assigning it a quota of 3000 kilobyte blocks. The mount
+point is under \fI/afs/abc.com/usr\fR and matches the username (the value of
+the \f(CW$USER\fR variable). The user owns the home directory and has all
+access rights to it. The instruction appears on two lines only for
+legibility; it must appear on a single line in the template file.
+.PP
+.Vb 2
+\& V user.$USER $SERVER.abc.com /vicepa 3000 \e
+\& /afs/abc.com/usr/$USER $UID $USER all
+.Ve
+.PP
+The following example \f(CW\*(C`X\*(C'\fR instruction mounts the backup version of the
+user's volume at the \fIOldFiles\fR subdirectory.
+.PP
+.Vb 1
+\& X "fs mkm /afs/abc.com/usr/$USER/OldFiles user.$USER.backup"
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIuss_bulk\fR\|(5),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIuss_add\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS_BULK 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS_BULK 5"
++.TH USS_BULK 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss_bulk \- Provides instructions for the uss bulk command
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The uss bulk input file lists instructions for the \fBuss\fR command
+interpreter to execute when running the \fBuss bulk\fR command. If the file
+includes \f(CW\*(C`add\*(C'\fR instructions that reference a \fBuss\fR template file, then
+the template file must also exist.
+.Sh "Summary of Bulk Input File Instructions"
+.IX Subsection "Summary of Bulk Input File Instructions"
+The bulk input file can include the following instructions, each on its
+own line. A more detailed description of each instruction's syntax follows
+this list.
+.IP "add" 4
+.IX Item "add"
+Creates a user account. Equivalent to the \fBuss add\fR command.
+.IP "delete" 4
+.IX Item "delete"
+Deletes a user account. Equivalent to the \fBuss delete\fR command.
+.IP "delvolume" 4
+.IX Item "delvolume"
+Removes the volume and \s-1VLDB\s0 entry for each account referenced by a
+\&\f(CW\*(C`delete\*(C'\fR instruction that follows this instruction in the bulk input
+file.
+.IP "exec" 4
+.IX Item "exec"
+Executes a command.
+.IP "savevolume" 4
+.IX Item "savevolume"
+Preserves the volume and \s-1VLDB\s0 entry for each account referenced by a
+\&\f(CW\*(C`delete\*(C'\fR instruction that follows this instruction in the bulk input
+file.
+.Sh "The add Instruction for Creating an Account"
+.IX Subsection "The add Instruction for Creating an Account"
+The \f(CW\*(C`add\*(C'\fR instruction creates a user account. Each instance in the bulk
+input file is equivalent in effect to a \fBuss add\fR command issued on the
+command line. The order of the instruction's fields matches the order of
+arguments to the \fBuss add\fR command, although some arguments do not have a
+corresponding field. Like the \fBuss add\fR command's arguments, many of the
+fields correspond to (provide a value for) a variable in the \fBuss\fR
+template file, as indicated in the following description of each field.
+.PP
+The instruction's syntax is as follows. It appears on multiple lines here
+only for the sake of legibility \*(-- each \f(CW\*(C`add\*(C'\fR instruction must appear on
+a single line in the bulk input file.
+.PP
+.Vb 4
+\& add <username>[:<full_name>][:<password>][:<expires>]
+\& [:<file_server>][:<partition>][:<mount_point>][:<uid>]
+\& [:<var1>][:<var2>][:<var3>][:<var4>][:<var5>][:<var6>][:<var7>]
+\& [:<var8>][:<var9>][:]
+.Ve
+.PP
+To omit a value for a field (presumably because it is optional or the
+template specifies a constant value for it), type nothing between the two
+colons that surround it. After the last argument provided, end the line
+with either a colon and carriage return, or a carriage return alone.
+.PP
+The meaning of, and acceptable values for, each field are as follows.
+.IP "<username>" 4
+.IX Item "<username>"
+Names the user's Authentication Database and Protection Database
+entries. It can include up to eight alphanumeric characters, but not the
+\&\f(CW\*(C`:\*(C'\fR (colon), \f(CW\*(C`.\*(C'\fR (period), or \f(CW\*(C`@\*(C'\fR (at-sign) characters. Because it
+becomes the username (the name under which a user logs in), it is best not
+to include shell metacharacters and to obey the restrictions that many
+operating systems impose on usernames (usually, to contain no more than
+eight lowercase letters).
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-user\fR. Corresponding
+variable in the template file: \f(CW$USER\fR.
+.IP "<full_name>" 4
+.IX Item "<full_name>"
+Specifies the user's full name. Do not surround it with double quotes
+(\f(CW""\fR), even if it contains spaces. If not provided, it defaults to the
+username in the <username> field.
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-realname\fR.
+Corresponding variable in the template file: \f(CW$NAME\fR. Many operating systems
+include a field for the full name in a user's entry in the local password
+file (\fI/etc/passwd\fR or equivalent), and this variable can be used to pass
+a value to be used in that field.
+.IP "<password>" 4
+.IX Item "<password>"
+Specifies the user's initial password. Although the \s-1AFS\s0 commands that
+handle passwords accept strings of virtually unlimited length, it is best
+to use a password of eight characters or less, which is the maximum length
+that many applications and utilities accept. If not provided, this
+argument defaults to the string \f(CW\*(C`changeme\*(C'\fR.
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-pass\fR. Corresponding
+variable in the template file: none.
+.IP "<expires>" 4
+.IX Item "<expires>"
+Sets the number of days after a user's password is changed that it remains
+valid. Provide an integer from the range \f(CW1\fR through \f(CW254\fR to specify
+the number of days until expiration, or the value \f(CW0\fR to indicate that
+the password never expires (the default).
+.Sp
+When the password becomes invalid (expires), the user is unable to
+authenticate, but has 30 more days in which to issue the \fBkpasswd\fR
+command to change the password (after that, only an administrator can
+change it).
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-pwexpires\fR.
+Corresponding variable in the template file: \f(CW$PWEXPIRES\fR.
+.IP "<file_server>" 4
+.IX Item "<file_server>"
+Names the file server machine on which to create the new user's volume. It
+is best to provide a fully-qualified hostname (for example,
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR), but an abbreviated form is acceptable provided that the
+cell's naming service is available to resolve it at the time the volume is
+created.
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-server\fR.
+Corresponding variable in the template file: \f(CW$SERVER\fR.
+.IP "<partition>" 4
+.IX Item "<partition>"
+Specifies the partition on which to create the user's volume; it must
+reside on the file server machine named in the <file_server>
+field. Identify the partition by its complete name (for example,
+\&\fI/vicepa\fR, or use one of the following abbreviations:
+.Sp
+.Vb 2
+\& /vicepa = vicepa = a = 0
+\& /vicepb = vicepb = b = 1
+.Ve
+.Sp
+After \fI/vicepz\fR (for which the index is 25) comes
+.Sp
+.Vb 2
+\& /vicepaa = vicepaa = aa = 26
+\& /vicepab = vicepab = ab = 27
+.Ve
+.Sp
+and so on through
+.Sp
+.Vb 1
+\& /vicepiv = vicepiv = iv = 255
+.Ve
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-partition\fR.
+Corresponding variable in template: \f(CW$PART\fR.
+.IP "<mount_point>" 4
+.IX Item "<mount_point>"
+Specifies the complete pathname for the user's home directory.
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-mount\fR.
+.Sp
+Corresponding variable in template: \f(CW$MTPT\fR, but in the template file's \f(CW\*(C`V\*(C'\fR
+instruction only. Occurrences of the \f(CW$MTPT\fR variable in template
+instructions that follow the \f(CW\*(C`V\*(C'\fR instruction take their value from the
+\&\f(CW\*(C`V\*(C'\fR instruction's <mount_point> field. Thus the value of this command
+line argument becomes the value for the \f(CW$MTPT\fR variable in instructions
+that follow the \f(CW\*(C`V\*(C'\fR instruction only if the string \f(CW$MTPT\fR appears alone in
+the \f(CW\*(C`V\*(C'\fR instruction's <mount_point> field.
+.IP "<uid>" 4
+.IX Item "<uid>"
+Specifies a positive integer other than \f(CW0\fR (zero) to assign as the
+user's \s-1AFS\s0 \s-1UID\s0. If this argument is omitted, the Protection Server assigns
+an \s-1AFS\s0 \s-1UID\s0 that is one greater than the current value of the \f(CW\*(C`max user
+id\*(C'\fR counter (use the \fBpts listmax\fR command to display the counter). If
+including this argument, first use the \fBpts examine\fR command to verify
+that no existing account already has the desired \s-1AFS\s0 \s-1UID\s0; if one does, the
+account-creation process terminates with an error.
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-uid\fR. Corresponding
+variable in template: \f(CW$UID\fR.
+.IP "<var1> through <var9>" 4
+.IX Item "<var1> through <var9>"
+Specifies values for each of the number variables \f(CW$1\fR through \f(CW$9\fR that can
+appear in the template file. The number variables allow the administrator
+to provide values for variables other than the set defined by the \fBuss\fR
+command suite.
+.Sp
+Corresponding argument to the \fBuss add\fR command: \fB\-var\fR. Corresponding
+variables in template: \f(CW$1\fR through \f(CW$9\fR.
+.Sp
+If providing a value in any of the fields, then in every field that
+precedes it either provide an actual value or indicate an empty field by
+putting nothing between two colons. It is acceptable, but not necessary,
+to indicate empty fields by putting colons after the last field that
+contains an actual value.
+.Sh "The delete Instruction for Deleting an Account"
+.IX Subsection "The delete Instruction for Deleting an Account"
+The \f(CW\*(C`delete\*(C'\fR instruction deletes a user account from the system. Each
+instance in the bulk input file is equivalent in effect to a \fBuss delete\fR
+command issued on the command line. The order of the instruction's fields
+matches the order of arguments to the \fBuss delete\fR command:
+.PP
+.Vb 1
+\& delete <username>:<mount_point>[:( savevolume | delvolume )][:]
+.Ve
+.PP
+where
+.IP "<username>" 4
+.IX Item "<username>"
+Names the entry to delete from the Protection and Authentication
+Databases.
+.IP "<mount_point>" 4
+.IX Item "<mount_point>"
+Specifies the complete pathname to the user's home directory, which is
+deleted from the filespace. By default, the volume mounted there is also
+deleted from the file server machine where it resides, as is its record
+from the Volume Location Database (\s-1VLDB\s0). To prevent deletion, include the
+\&\f(CW\*(C`savevolume\*(C'\fR string in the instruction's third field, or precede this
+\&\f(CW\*(C`delete\*(C'\fR instruction with a \f(CW\*(C`savevolume\*(C'\fR instruction. Partial pathnames
+are interpreted relative to the current working directory.
+.IP "savevolume" 4
+.IX Item "savevolume"
+Retains the volume on its file server machine, and the corresponding entry
+in the \s-1VLDB\s0. Provide this value or \f(CW\*(C`delvolume\*(C'\fR in the third field, or
+omit both values to treat the volume according to the prevailing default,
+which is set by a preceding \f(CW\*(C`savevolume\*(C'\fR or \f(CW\*(C`delvolume\*(C'\fR instruction in
+the bulk input file.
+.IP "delvolume" 4
+.IX Item "delvolume"
+Removes the volume from its file server machine, and the corresponding
+entry from the \s-1VLDB\s0. Provide this value or \f(CW\*(C`savevolume\*(C'\fR in the third
+field, or omit both values to treat the volume according to the prevailing
+default, which is set by a preceding \f(CW\*(C`savevolume\*(C'\fR or \f(CW\*(C`delvolume\*(C'\fR
+instruction in the bulk input file.
+.PP
+After the last argument provided, end the line with either a colon and
+carriage return or a carriage return alone.
+.Sh "The exec Instruction for Executing a Command"
+.IX Subsection "The exec Instruction for Executing a Command"
+The \f(CW\*(C`exec\*(C'\fR instruction executes the specified command, which can be a
+\&\s-1UNIX\s0 shell script or command, a program, or an \s-1AFS\s0 command. The \fBuss\fR
+command interpreter must have the necessary privileges in \s-1AFS\s0 and the
+local file system; it assumes the \s-1AFS\s0 and local identities of the issuer
+of the \fBuss bulk\fR command.
+.PP
+The instruction's syntax is as follows:
+.PP
+.Vb 1
+\& exec <command>
+.Ve
+.Sh "The delvolume and savevolume Instructions"
+.IX Subsection "The delvolume and savevolume Instructions"
+The \f(CW\*(C`savevolume\*(C'\fR and \f(CW\*(C`delvolume\*(C'\fR instructions determine the default
+treatment of volumes referenced by the \f(CW\*(C`delete\*(C'\fR instructions that follow
+them in the bulk input file. Their syntax is as follows:
+.PP
+.Vb 2
+\& savevolume
+\& delvolume
+.Ve
+.PP
+The \f(CW\*(C`savevolume\*(C'\fR instruction prevents the removal of the volume and \s-1VLDB\s0
+entry for all \f(CW\*(C`delete\*(C'\fR instruction that follow it in the bulk input file,
+and the \f(CW\*(C`delvolume\*(C'\fR instruction removes the volume and \s-1VLDB\s0 entry for all
+subsequent \f(CW\*(C`delete\*(C'\fR instructions. Either setting persists until its
+opposite appears in the file, or until the end of the bulk file.
+.PP
+If neither line appears in the bulk input file, the default is to remove
+the volume and the \s-1VLDB\s0 entry; \f(CW\*(C`delete\*(C'\fR instructions that appear before
+the first \f(CW\*(C`savevolume\*(C'\fR instruction are also subject to this default. If a
+\&\f(CW\*(C`delete\*(C'\fR instruction's third field specifies either \f(CW\*(C`savevolume\*(C'\fR or
+\&\f(CW\*(C`delvolume\*(C'\fR, that setting overrides the default.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example add instruction creates an authentication-only
+account. The user's initial password is \f(CW\*(C`changeme\*(C'\fR (the default).
+.PP
+.Vb 1
+\& add anderson
+.Ve
+.PP
+The following example add instructions refer to the indicated \f(CW\*(C`V\*(C'\fR
+instruction in a template file (which must appear on a single line in the
+template file).
+.PP
+.Vb 4
+\& add smith:John Smith:::fs1:a:::::marketing
+\& add jones:Pat Jones:::fs3:c:::::finance
+\& V user.$USER $SERVER.abc.com /vicep$PART 2000 \e
+\& /afs/abc.com/usr/$3/$USER $UID $USER all
+.Ve
+.PP
+The first add instruction creates an account called \f(CW\*(C`smith\*(C'\fR in the
+Protection and Authentication Databases, with an initial password
+\&\f(CW\*(C`changeme\*(C'\fR and a value for \f(CW$UID\fR provided by the Protection Server. The
+volume \f(CW\*(C`user.smith\*(C'\fR resides on partition \fI/vicepa\fR of file server
+machine \f(CW\*(C`fs1.abc.com\*(C'\fR and is mounted at
+\&\fI/afs/abc.com/usr/marketing/smith\fR. He owns his home directory and has
+all access permissions on its root directory's access control list
+(\s-1ACL\s0). The account for \f(CW\*(C`jones\*(C'\fR is similar, except that the volume resides
+on partition \fI/vicepc\fR of file server machine \f(CW\*(C`fs3.abc.com\*(C'\fR and is
+mounted at \fI/afs/abc.com/usr/finance/jones\fR.
+.PP
+Notice that the fields corresponding to the volume mount point, \s-1UID\s0, \f(CW$1\fR
+variable, and \f(CW$2\fR variable are empty (between \f(CW\*(C`a\*(C'\fR and \f(CW\*(C`marketing\*(C'\fR on the
+first example line), because their corresponding variables do not appear
+in the template file. The initial password field is also empty.
+.PP
+The following add instructions are equivalent in effect to the preceding
+example, but explicitly indicate empty fields for all of the number
+variables that don't have a value:
+.PP
+.Vb 2
+\& add smith:John Smith:::fs1:a:::::marketing::::::
+\& add jones:Pat Jones:::fs3:c:::::finance::::::
+.Ve
+.PP
+The following example shows a complete bulk file containing a set of
+\&\f(CW\*(C`delete\*(C'\fR instructions combined with a \f(CW\*(C`savevolume\*(C'\fR instruction. Because
+the \f(CW\*(C`delete\*(C'\fR instruction for users \f(CW\*(C`smith\*(C'\fR, \f(CW\*(C`pat\*(C'\fR, and \f(CW\*(C`rogers\*(C'\fR appear
+before the \f(CW\*(C`savevolume\*(C'\fR instruction and the third field is blank in each,
+the corresponding home volumes are removed. The volume for user \f(CW\*(C`terry\*(C'\fR
+is retained because the default established by the \f(CW\*(C`savevolume\*(C'\fR
+instruction applies to it, but user \f(CW\*(C`johnson\*(C'\fR's volume is removed because
+the third field of her \f(CW\*(C`delete\*(C'\fR instruction overrides the current
+default.
+.PP
+.Vb 6
+\& delete smith:/afs/abc.com/usr/smith
+\& delete pat:/afs/abc.com/usr/pat
+\& delete rogers:/afs/abc.com/usr/rogers
+\& savevolume
+\& delete terry:/afs/abc.com/usr/terry
+\& delete johnson:/afs/abc.com/usr/johnson:delvolume
+.Ve
+.PP
+The following example exec instruction appears between sets of \f(CW\*(C`add\*(C'\fR and
+\&\f(CW\*(C`delete\*(C'\fR instructions in a bulk input file. A message appears in the
+command shell where the \fBuss bulk\fR command is issued, to indicate when
+the additions are finished and the deletions beginning.
+.PP
+.Vb 1
+\& exec echo "Additions completed; beginning deletions..."
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIuss\fR\|(5),
+\&\fIuss_add\fR\|(8),
+\&\fIuss_bulk\fR\|(8),
+\&\fIuss_delete\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VLDB.DB0 5 "2010-05-24" "OpenAFS" "AFS File Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VLDB.DB0 5"
++.TH VLDB.DB0 5 "2010-12-17" "OpenAFS" "AFS File Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vldb.DB0, vldb.DBSYS1 \- Contain the Volume Location Database and associated log
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The file \fIvldb.DB0\fR contains the Volume Location Database (\s-1VLDB\s0), which
+tracks the location of all \s-1AFS\s0 volumes stored on file server machines in
+the cell. The Volume Location (\s-1VL\s0) Server (\fBvlserver\fR process) provides
+information from the database to Cache Managers when they need to access
+\&\s-1AFS\s0 data.
+.PP
+The file \fIvldb.DBSYS1\fR is a log file in which the \s-1VL\s0 Server logs each
+database operation before performing it. When an operation is interrupted,
+the \s-1VL\s0 Server replays the log to complete the operation.
+.PP
+Both files are in binary format and reside in the \fI/usr/afs/db\fR directory
+on each of the cell's database server machines. When the \s-1VL\s0 Server starts
+or restarts on a given machine, it establishes a connection with its peers
+and verifies that its copy of the database matches the copy on the other
+database server machines. If not, the \s-1VL\s0 Servers call on \s-1AFS\s0's distributed
+database technology, Ubik, to distribute to all of the machines the copy
+of the database with the highest version number.
+.PP
+Always use the commands in the \fBvos\fR suite to administer the \s-1VLDB\s0. It is
+advisable to create an archive copy of the database on a regular basis,
+using a tool such as the \s-1UNIX\s0 \fBtar\fR command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvldb_check\fR\|(8),
+\&\fIvlserver\fR\|(8),
+\&\fIvos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH AFSD 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "AFSD 8"
++.TH AFSD 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+afsd \- Initializes the Cache Manager and starts related daemons
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBafsd\fR [\fB\-afsdb\fR] [\fB\-backuptree\fR]
+ [\fB\-biods\fR\ <\fInumber\ of\ bkg\ I/O\ daemons\ (aix\ vm)\fR>]
+ [\fB\-blocks\fR\ <\fI1024\ byte\ blocks\ in\ cache\fR>]
+ [\fB\-cachedir\fR\ <\fIcache\ directory\fR>]
+ [\fB\-chunksize\fR\ <\fI\fIlog\fI\|(2)\ of\ chunk\ size\fR>]
+ [\fB\-confdir\fR\ <\fIconfiguration\ directory\fR>]
+ [\fB\-daemons\fR\ <\fInumber\ of\ daemons\ to\ use\fR>]
+ [\fB\-dcache\fR\ <\fInumber\ of\ dcache\ entries\fR>] [\fB\-debug\fR]
+ [\fB\-dynroot\fR] [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR]
+ [\fB\-fakestat\fR] [\fB\-fakestat\-all\fR]
+ [\fB\-files\fR\ <\fIfiles\ in\ cache\fR>]
+ [\fB\-files_per_subdir\fR\ <\fI\fIlog\fI\|(2)\ of\ files\ per\ dir\fR>\ ]
+ [\fB\-help\fR] [\fB\-logfile\fR\ <\fIPlace\ to\ keep\ the\ \s-1CM\s0\ log\fR>]
+ [\fB\-mem_alloc_sleep\fR] [\fB\-memcache\fR]
+ [\fB\-mountdir\fR\ <\fImount\ location\fR>] [\fB\-nomount\fR]
+ [\fB\-nosettime\fR]
+ [\fB\-prealloc\fR\ <\fInumber\ of\ 'small'\ preallocated\ blocks\fR>]
+ [\fB\-rmtsys\fR] [\fB\-rootvol\fR\ <\fIname\ of\ \s-1AFS\s0\ root\ volume\fR>]
+ [\fB\-rxbind\fR] [\fB\-rxmaxmtu\fR\ value\ for\ maximum\ \s-1MTU\s0\ ]
+ [\fB\-rxpck\fR\ value\ for\ rx_extraPackets\ ]
+ [\fB\-settime\fR] [\fB\-shutdown\fR]
+ [\fB\-splitcache\fR\ <\fI\s-1RW/RO\s0\ ratio\fR>]
+ [\fB\-stat\fR\ <\fInumber\ of\ stat\ entries\fR>] [\fB\-verbose\fR]
+ [\fB\-disable\-dynamic\-vcaches\fR]
+ [\fB\-volumes\fR\ <\fInumber\ of\ volume\ entries\fR>]
+ [\fB\-waitclose\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBafsd\fR command initializes the Cache Manager on an \s-1AFS\s0 client machine
+by transferring AFS-related configuration information into kernel memory
+and starting several daemons. More specifically, the \fBafsd\fR command
+performs the following actions:
+.IP "\(bu" 4
+Sets a field in kernel memory that defines the machine's cell
+membership. Some Cache Manager-internal operations and system calls
+consult this field to learn which cell to execute in. (The \s-1AFS\s0 command
+interpreters refer to the \fI/usr/vice/etc/ThisCell\fR file instead.) This
+information is transferred into the kernel from the
+\&\fI/usr/vice/etc/ThisCell\fR file and cannot be changed until the \fBafsd\fR
+program runs again.
+.IP "\(bu" 4
+Places in kernel memory the names and Internet addresses of the database
+server machines in the local cell and (optionally) foreign cells. The
+appearance of a cell's database server machines in this list enables the
+Cache Manager to contact them and to access files in the cell. Omission of
+a cell from this list, or incorrect information about its database server
+machines, prevents the Cache Manager from accessing files in it.
+.Sp
+By default, the list of database server machines is transferred into the
+kernel from the \fI/usr/vice/etc/CellServDB\fR file. Alternatively, when the
+\&\fB\-afsdb\fR option is used, the list of database server machines is taken
+from the \s-1AFSDB\s0 \s-1DNS\s0 records for each cell. After initialization, use the
+\&\fBfs newcell\fR command to change the kernel-resident list without having to
+reboot.
+.IP "\(bu" 4
+Mounts the root of the \s-1AFS\s0 filespace on a directory on the machine's local
+disk, according to either the first field in the
+\&\fI/usr/vice/etc/cacheinfo\fR file (the default) or the \fBafsd\fR command's
+\&\fB\-mountdir\fR argument. The conventional value is \fI/afs\fR.
+.IP "\(bu" 4
+Determines which volume to mount at the root of the \s-1AFS\s0 file tree. The
+default is the volume \f(CW\*(C`root.afs\*(C'\fR; use the \fB\-rootvol\fR argument to
+override it. Although the base (read/write) form of the volume name is the
+appropriate value, the Cache Manager has a bias for accessing the
+read-only version of the volume (by convention, \f(CW\*(C`root.afs.readonly\*(C'\fR) if
+it is available.
+.IP "\(bu" 4
+Configures the cache on disk (the default) or in machine memory if the
+\&\fB\-memcache\fR argument is provided. In the latter case, the \fBafsd\fR program
+allocates space in machine memory for caching, and the Cache Manager uses
+no disk space for caching even if the machine has a disk.
+.IP "\(bu" 4
+Defines the name of the local disk directory devoted to caching, when the
+\&\fB\-memcache\fR argument is not used. If necessary, the \fBafsd\fR program
+creates the directory (its parent directory must already exist). It does
+not remove the directory that formerly served this function, if one
+exists.
+.Sp
+The second field in the \fI/usr/vice/etc/cacheinfo\fR file is the source for
+this name. The standard value is \fI/usr/vice/cache\fR. Use the \fB\-cachedir\fR
+argument to override the value in the \fBcacheinfo\fR file.
+.IP "\(bu" 4
+Sets the size of the cache. The default source for the value is the third
+field in the \fI/usr/vice/etc/cacheinfo\fR file, which specifies a number of
+kilobytes.
+.Sp
+For a memory cache, the following arguments to the afsd command override
+the value in the \fBcacheinfo\fR file:
+.RS 4
+.IP "\(bu" 4
+The \fB\-blocks\fR argument, to specify a different number of kilobyte blocks.
+.IP "\(bu" 4
+The \fB\-dcache\fR and \fB\-chunksize\fR arguments together, to set both the
+number of dcache entries and the chunk size (see below for definition of
+these parameters). In this case, the \fBafsd\fR program derives cache size by
+multiplying the two values. Using this combination is not recommended, as
+it requires the issuer to perform the calculation beforehand to determine
+the resulting cache size.
+.IP "\(bu" 4
+The \fB\-dcache\fR argument by itself. In this case, the \fBafsd\fR program
+derives cache size by multiplying the value specified by the \fB\-dcache\fR
+argument by the default memory cache chunk size of eight kilobytes. Using
+this argument is not recommended, as it requires the issuer to perform the
+calculation beforehand to determine the resulting cache size.
+.RE
+.RS 4
+.Sp
+For satisfactory memory cache performance, the specified value must leave
+enough memory free to accommodate all other processes and commands that
+can run on the machine. If the value exceeds the amount of memory
+available, the \fBafsd\fR program exits without initializing the Cache
+Manager and produces the following message on the standard output stream:
+.Sp
+.Vb 1
+\& afsd: memCache allocation failure at <number> KB
+.Ve
+.Sp
+where <number> is how many kilobytes were allocated just before the
+failure.
+.Sp
+For a disk cache, use the \fB\-blocks\fR argument to the \fBafsd\fR command to
+override the value in the \fBcacheinfo\fR file. The value specified in either
+way sets an absolute upper limit on cache size; values provided for other
+arguments (such as \fB\-dcache\fR and \fB\-chunksize\fR) never result in a larger
+cache. The \fBafsd\fR program rejects any setting larger than 95% of the
+partition size, and exits after generating an error message on the
+standard output stream, because the cache implementation itself requires a
+small amount of disk space and overfilling the partition can cause the
+client machine to panic.
+.Sp
+To change the size of a disk cache after initialization without rebooting,
+use the \fBfs setcachesize\fR command; the setting persists until the \fBafsd\fR
+command runs again or the \fBfs setcachesize\fR command is reissued. The \fBfs
+setcachesize\fR command does not work for memory caches.
+.RE
+.IP "\(bu" 4
+Sets the size of each cache \fIchunk\fR, and by implication the amount of
+data that the Cache Manager requests at a time from the File Server (how
+much data per fetch \s-1RPC\s0, since \s-1AFS\s0 uses partial file transfer).
+.Sp
+For a disk cache, a chunk is a \fIV\fIn\fI\fR file and this parameter
+sets the maximum size to which each one can expand; the default is 64
+\&\s-1KB\s0. For a memory cache, each chunk is a collection of contiguous memory
+blocks; the default is size is 8 \s-1KB\s0.
+.Sp
+To override the default chunk size for either type of cache, use the
+\&\fB\-chunksize\fR argument to provide an integer to be used as an exponent of
+two; see \s-1OPTIONS\s0 for details. For a memory cache, if total cache size
+divided by chunk size leaves a remainder, the \fBafsd\fR program rounds down
+the number of dcache entries, resulting in a slightly smaller cache.
+.IP "\(bu" 4
+Sets the number of chunks in the cache. For a memory cache, the number of
+chunks is equal to the cache size divided by the chunk size. For a disk
+cache, the number of chunks (\fIV\fIn\fI\fR files) is set to the largest
+of the following unless the \fB\-files\fR argument is used to set the value
+explicitly:
+.RS 4
+.IP "\(bu" 4
+100
+.IP "\(bu" 4
+1.5 times the result of dividing cache size by chunk size
+(\fIcachesize\fR/\fIchunksize\fR * 1.5)
+.IP "\(bu" 4
+The result of dividing cachesize by 10 \s-1KB\s0 (\fIcachesize\fR/10240)
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+Sets the number of \fIdcache entries\fR allocated in machine memory for
+storing information about the chunks in the cache.
+.Sp
+For a disk cache, the \fI/usr/vice/cache/CacheItems\fR file contains one
+entry for each \fIV\fIn\fI\fR file. By default, one half the number of
+these entries (but not more that 2,000) are duplicated as dcache entries
+in machine memory for quicker access.
+.Sp
+For a memory cache, there is no \fICacheItems\fR file so all information
+about cache chunks must be in memory as dcache entries. Thus, there is no
+default number of dcache entries for a memory cache; instead, the \fBafsd\fR
+program derives it by dividing the cache size by the chunk size.
+.Sp
+To set the number of dcache entries, use the \fB\-dcache\fR argument; the
+specified value can exceed the default limit of 2,000. Using this argument
+is not recommended for either type of cache. Increasing the number of
+dcache entries for a disk cache sometimes improves performance (because
+more entries are retrieved from memory rather than from disk), but only
+marginally. Using this argument for a memory cache requires the issuer to
+calculate the cache size by multiplying this value by the chunk size.
+.IP "\(bu" 4
+Sets the number of \fIstat\fR entries available in machine memory for caching
+status information about cached \s-1AFS\s0 files. The default is 300; use the
+\&\fB\-stat\fR argument to override the default.
+.IP "\(bu" 4
+If the \fB\-settime\fR option is specified, then it randomly selects a file
+server machine in the local cell as the source for the correct time. Every
+five minutes thereafter, the local clock is adjusted (if necessary) to
+match the file server machine's clock. This is not enabled by default. It
+is recommended, instead, that the Network Time Protocol Daemon be used to
+synchronize the time.
+.PP
+In addition to setting cache configuration parameters, the \fBafsd\fR program
+starts the following daemons. (On most system types, these daemons appear
+as nameless entries in the output of the \s-1UNIX\s0 \fBps\fR command.)
+.IP "\(bu" 4
+One \fIcallback\fR daemon, which handles callbacks. It also responds to the
+File Server's periodic probes, which check that the client machine is
+still alive.
+.IP "\(bu" 4
+One \fImaintenance\fR daemon, which performs the following tasks:
+.RS 4
+.IP "\(bu" 4
+Garbage collects obsolete data (for example, expired tokens) from kernel
+memory.
+.IP "\(bu" 4
+Synchronizes files.
+.IP "\(bu" 4
+Refreshes information from read-only volumes once per hour.
+.IP "\(bu" 4
+Does delayed writes for \s-1NFS\s0 clients if the machine is running the \s-1NFS/AFS\s0
+Translator.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+One \fIcache-truncation\fR daemon, which flushes the cache when free space is
+required, by writing cached data and status information to the File
+Server.
+.IP "\(bu" 4
+One \fIserver connection\fR daemon, which sends a probe to the File
+Server every few minutes to check that it is still accessible. If the
+\&\fB\-settime\fR option is set, it also synchronizes the machine's clock
+with the clock on a randomly-chosen file server machine. There is
+always one server connection daemon.
+.IP "\(bu" 4
+One or more \fIbackground\fR daemons that improve performance by pre-fetching
+files and performing background (delayed) writes of saved data into \s-1AFS\s0.
+.Sp
+The default number of background daemons is two, enough to service at
+least five simultaneous users of the machine. To increase the number, use
+the \fB\-daemons\fR argument. A value greater than six is not generally
+necessary.
+.IP "\(bu" 4
+On some system types, one \fIRx listener\fR daemon, which listens for
+incoming RPCs.
+.IP "\(bu" 4
+On some system types, one \fIRx event\fR daemon, which reviews the Rx
+system's queue of tasks and performs them as appropriate. Most items in
+the queue are retransmissions of failed packets.
+.IP "\(bu" 4
+On machines that run \s-1AIX\s0 with virtual memory (\s-1VM\s0) integration, one or more
+\&\fI\s-1VM\s0\fR daemons (sometimes called \fII/O\fR daemons, which transfer data
+between disk and machine memory. The number of them depends on the setting
+of the \fB\-biods\fR and \fB\-daemons\fR arguments:
+.RS 4
+.IP "\(bu" 4
+If the \fB\-biods\fR argument is used, it sets the number of \s-1VM\s0 daemons.
+.IP "\(bu" 4
+If only the \fB\-daemons\fR argument is used, the number of \s-1VM\s0 daemons is
+twice the number of background daemons.
+.IP "\(bu" 4
+If neither argument is used, there are five \s-1VM\s0 daemons.
+.RE
+.RS 4
+.RE
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Before using the \fB\-shutdown\fR parameter, use the standard \s-1UNIX\s0 \fBumount\fR
+command to unmount the \s-1AFS\s0 root directory (by convention, \fI/afs\fR). On
+Linux, unloading the \s-1AFS\s0 kernel module and then loading it again before
+restarting \s-1AFS\s0 after \fB\-shutdown\fR is recommended.
+.PP
+\&\s-1AFS\s0 has for years had difficulties with being stopped and restarted
+without an intervening reboot. While most of these issues have been
+ironed out, stopping and restarting \s-1AFS\s0 is not recommended unless
+necessary and rebooting before restarting \s-1AFS\s0 is still the safest course
+of action. This does not apply to Linux; it should be safe to restart the
+\&\s-1AFS\s0 client on Linux without rebooting.
+.PP
+In contrast to many client-server applications, not all communication is
+initiated by the client. When the \s-1AFS\s0 client opens a file, it registers a
+callback with the \s-1AFS\s0 server. If the file changes, the server notifies the
+client that the file has changed and that all cached copies should be
+discarded. In order to enable full functionality on the \s-1AFS\s0 client,
+including all command-line utilities, the following \s-1UDP\s0 ports must be open
+on an firewalls between the client and the server:
+.PP
+.Vb 8
+\& fileserver 7000/udp
+\& cachemanager 7001/udp (OpenAFS client. Arla uses 4711/udp)
+\& ptserver 7002/udp
+\& vlserver 7003/udp
+\& kaserver 7004/udp (not needed with Kerberos v5)
+\& volserver 7005/udp
+\& reserved 7006/udp (for future use)
+\& bosserver 7007/udp
+.Ve
+.PP
+Additionally, for \fBklog\fR to work through the firewall you need to allow
+inbound and outbound \s-1UDP\s0 on ports >1024 (probably 1024<port<2048 would
+suffice depending on the number of simultaneous \fBklog\fRs).
+.PP
+Be sure to set the \s-1UDP\s0 timeouts on the firewall to be at least twenty
+minutes for the best callback performance.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-afsdb\fR" 4
+.IX Item "-afsdb"
+Enable afsdb support. This will use \s-1DNS\s0 to lookup the \s-1AFSDB\s0 record and
+use that for the database servers for each cell instead of the values
+in the \fICellServDB\fR file. This has the advantage of only needing to
+update one \s-1DNS\s0 record to reconfigure the \s-1AFS\s0 clients for a new
+database server as opposed to touching all of the clients, and also
+allows one to access a cell without preconfiguring its database
+servers in \fICellServDB\fR. The format of \s-1AFSDB\s0 records is defined in
+\&\s-1RFC\s0 1183.
+.IP "\fB\-backuptree\fR" 4
+.IX Item "-backuptree"
+Prefer backup volumes for mountpoints in backup volumes. This option means
+that the \s-1AFS\s0 client will prefer to resolve mount points to backup volumes
+when a parent of the current volume is a backup volume. This is similar to
+the standard behaviour of preferring read-only volumes over read-write
+volumes when the parent volume is a read-only volume.
+.IP "\fB\-biods\fR <\fInumber of I/O daemons\fR>" 4
+.IX Item "-biods <number of I/O daemons>"
+Sets the number of \s-1VM\s0 daemons dedicated to performing I/O operations on a
+machine running a version of \s-1AIX\s0 with virtual memory (\s-1VM\s0) integration. If
+both this argument and the \fB\-daemons\fR argument are omitted, the default
+is five. If this argument is omitted but the \fB\-daemons\fR argument is
+provided, the number of \s-1VM\s0 daemons is set to twice the value of the
+\&\fB\-daemons\fR argument.
+.IP "\fB\-blocks\fR <\fIblocks in cache\fR>" 4
+.IX Item "-blocks <blocks in cache>"
+Specifies the number of kilobyte blocks to be made available for caching
+in the machine's cache directory (for a disk cache) or memory (for a
+memory cache), overriding the default defined in the third field of the
+\&\fI/usr/vice/etc/cacheinfo\fR file. For a disk cache, the value cannot exceed
+95% of the space available in the cache partition. If using a memory
+cache, do not combine this argument with the \fB\-dcache\fR argument, since
+doing so can possibly result in a chunk size that is not an exponent of 2.
+.IP "\fB\-cachedir\fR <\fIcache directory\fR>" 4
+.IX Item "-cachedir <cache directory>"
+Names the local disk directory to be used as the cache. This value
+overrides the default defined in the second field of the
+\&\fI/usr/vice/etc/cacheinfo\fR file.
+.IP "\fB\-chunksize\fR <\fIchunk size\fR>" 4
+.IX Item "-chunksize <chunk size>"
+Sets the size of each cache chunk. The integer provided, which must be
+from the range \f(CW0\fR to \f(CW30\fR, is used as an exponent on the number 2. If not
+supplied, a default chunksize will be determined based on the cache type and
+cache size, and will range from \f(CW13\fR (8KB) for memory cache and \f(CW18\fR to
+\&\f(CW20\fR (256 \s-1KB\s0 to 1MB) for disk cache. A value of \f(CW0\fR or less, or greater than
+\&\f(CW30\fR, sets chunk size to the appropriate default. Values less than \f(CW10\fR
+(which sets chunk size to a 1 \s-1KB\s0) are not recommended. Combining this
+argument with the \fB\-dcache\fR argument is not recommended because it
+requires that the issuer calculate the cache size that results.
+.Sp
+\&\fB\-chunksize\fR is an important option when tuning for performance. Setting
+this option to larger values can increase performance when dealing with
+large files.
+.IP "\fB\-confdir\fR <\fIconfiguration directory\fR>" 4
+.IX Item "-confdir <configuration directory>"
+Names a directory other than the \fI/usr/vice/etc\fR directory from which to
+fetch the \fIcacheinfo\fR, \fIThisCell\fR, and \fICellServDB\fR configuration
+files.
+.IP "\fB\-daemons\fR <\fInumber of daemons to use\fR>" 4
+.IX Item "-daemons <number of daemons to use>"
+Specifies the number of background daemons to run on the machine. These
+daemons improve efficiency by doing prefetching and background writing of
+saved data. This value overrides the default of \f(CW2\fR, which is adequate
+for a machine serving up to five users. Values greater than \f(CW6\fR are not
+generally more effective than \f(CW6\fR.
+.Sp
+Note: On \s-1AIX\s0 machines with integrated virtual memory (\s-1VM\s0), the number of
+\&\s-1VM\s0 daemons is set to twice the value of this argument, if it is provided
+and the \fB\-biods\fR argument is not. If both arguments are omitted, there
+are five \s-1VM\s0 daemons.
+.IP "\fB\-dcache\fR <\fInumber of dcache entries\fR>" 4
+.IX Item "-dcache <number of dcache entries>"
+Sets the number of dcache entries in memory, which are used to store
+information about cache chunks. For a disk cache, this overrides the
+default, which is 50% of the number of \fIV\fIn\fI\fR files (cache chunks). For
+a memory cache, this argument effectively sets the number of cache chunks,
+but its use is not recommended, because it requires the issuer to
+calculate the resulting total cache size (derived by multiplying this
+value by the chunk size). Do not combine this argument with the \fB\-blocks\fR
+argument, since doing so can possibly result in a chunk size that is not
+an exponent of 2.
+.IP "\fB\-debug\fR" 4
+.IX Item "-debug"
+Generates a highly detailed trace of the \fBafsd\fR program's actions on the
+standard output stream. The information is useful mostly for debugging
+purposes.
+.IP "\fB\-dynroot\fR" 4
+.IX Item "-dynroot"
+The standard behaviour of the \s-1AFS\s0 client without the \fB\-dynroot\fR option is
+to mount the root.afs volume from the default cell on the \fI/afs\fR path. The
+\&\fI/afs\fR folder and root.afs volume traditionally shows the folders for
+\&\fIThisCell\fR and other cells as configured by the \s-1AFS\s0 cell administrator.
+.Sp
+The \fB\-dynroot\fR option changes this. Using this option, the \s-1AFS\s0 client
+does not mount the root.afs volume on \fI/afs\fR. Instead it uses the
+contents of the \fICellServDB\fR file to populate the listing of cells in
+\&\fI/afs\fR. This is known as a DYNamic \s-1ROOT\s0. A cell is not contacted until
+the path \fI/afs/\fIcellname\fI\fR if accessed. This functions similarly to an
+automounter. The main advantage of using \fB\-dynroot\fR is that the \s-1AFS\s0
+client will start properly even without network access, whereas the client
+not using \fB\-dynroot\fR will freeze upon startup if cannot contact the
+default cell specified in \fIThisCell\fR and mount the root.afs
+volume. Dynamic root mode is also sometimes called travelling mode because
+it works well for laptops which don't always have network connectivity.
+.Sp
+Two advantages of not using dynroot are that listing \fI/afs\fR will usually
+be faster because the contents of \fI/afs\fR are limited to what the \s-1AFS\s0
+administrator decides and that symbolic links are traditionally created
+by the \s-1AFS\s0 administrator to provide a short name for the cell (i.e.
+cellname.domain.com is aliased to cellname). However, with dynroot, the
+local system administrator can limit the default contents of \fI/afs\fR by
+installing a stripped-down \fICellServDB\fR file, and if dynroot is in effect,
+the \fICellAlias\fR file can be used to provide shortname for common \s-1AFS\s0 cells
+which provides equivalent functionality to the most commonly used symbolic
+links.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-fakestat\fR" 4
+.IX Item "-fakestat"
+Return fake values for stat calls on cross-cell mounts. This option makes
+an \f(CW\*(C`ls \-l\*(C'\fR of \fI/afs\fR much faster since each cell isn't contacted, and
+this and the \fB\-fakestat\-all\fR options are useful on Mac \s-1OS\s0 X so that the
+Finder program doesn't try to contact every \s-1AFS\s0 cell the system knows
+about.
+.IP "\fB\-fakestat\-all\fR" 4
+.IX Item "-fakestat-all"
+Return fake values for stat calls on all mounts, not just cross-cell
+mounts. This and the \fB\-fakestat\fR options are useful on Mac \s-1OS\s0 X so that
+the Finder program doesn't hang when browsing \s-1AFS\s0 directories.
+.IP "\fB\-files\fR <\fIfiles in cache\fR>" 4
+.IX Item "-files <files in cache>"
+Specifies the number of \fIV\fIn\fI\fR files to create in the cache directory
+for a disk cache, overriding the default that is calculated as described
+in \s-1DESCRIPTION\s0. Each \fIV\fIn\fI\fR file accommodates a chunk of data, and
+can grow to a maximum size of 64 \s-1KB\s0 by default. Do not combine this
+argument with the \fB\-memcache\fR argument.
+.IP "\fB\-files_per_subdir\fR <\fIfiles per cache subdirectory\fR>" 4
+.IX Item "-files_per_subdir <files per cache subdirectory>"
+Limits the number of cache files in each subdirectory of the cache
+directory. The value of the option should be the base-two log of the
+number of cache files per cache subdirectory (so 10 for 1024 files, 14 for
+16384 files, and so forth).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.IP "\fB\-logfile\fR <\fIlog file location\fR>" 4
+.IX Item "-logfile <log file location>"
+This option is obsolete and no longer has any effect.
+.IP "\fB\-mem_alloc_sleep\fR" 4
+.IX Item "-mem_alloc_sleep"
+Allows sleeps when allocating a memory cache.
+.IP "\fB\-memcache\fR" 4
+.IX Item "-memcache"
+Initializes a memory cache rather than a disk cache. Do not combine this
+flag with the \fB\-files\fR argument.
+.IP "\fB\-mountdir\fR <\fImount location\fR>" 4
+.IX Item "-mountdir <mount location>"
+Names the local disk directory on which to mount the root of the \s-1AFS\s0
+filespace. This value overrides the default defined in the first field of
+the \fI/usr/vice/etc/cacheinfo\fR file. If a value other than the \fI/afs\fR
+directory is used, the machine cannot access the filespace of cells that
+do use that value.
+.IP "\fB\-nomount\fR" 4
+.IX Item "-nomount"
+Do not mount \s-1AFS\s0 on startup. The afs global mount must be mounted via
+some other means. This is useful on Mac \s-1OS\s0 X where /afs is sometimes
+mounted in /Network/afs like other network file systems.
+.IP "\fB\-nosettime\fR" 4
+.IX Item "-nosettime"
+This is enabled by default. It prevents the Cache Manager from
+synchronizing its clock with the clock on a server machine selected at
+random by checking the time on the server machine every five minutes.
+This is the recommended behavior; instead of the \s-1AFS\s0 Cache Manager, the
+Network Time Protocol Daemon should be used to synchronize the system
+time.
+.IP "\fB\-prealloc\fR <\fInumber of preallocated blocks\fR>" 4
+.IX Item "-prealloc <number of preallocated blocks>"
+Specifies the number of pieces of memory to preallocate for the Cache
+Manager's internal use. The default initial value is \f(CW400\fR, but the Cache
+Manager dynamically allocates more memory as it needs it.
+.IP "\fB\-rmtsys\fR" 4
+.IX Item "-rmtsys"
+Initializes an additional daemon to execute AFS-specific system calls on
+behalf of \s-1NFS\s0 client machines. Use this flag only if the machine is an
+\&\s-1NFS/AFS\s0 translator machine serving users of \s-1NFS\s0 client machines who
+execute \s-1AFS\s0 commands.
+.IP "\fB\-rootvol\fR <\fIname of \s-1AFS\s0 root volume\fR>" 4
+.IX Item "-rootvol <name of AFS root volume>"
+Names the read/write volume corresponding to the root directory for the
+\&\s-1AFS\s0 file tree (which is usually the \fI/afs\fR directory). This value
+overrides the default of the \f(CW\*(C`root.afs\*(C'\fR volume. This option is ignored if
+\&\fB\-dynroot\fR is given.
+.IP "\fB\-rxbind\fR" 4
+.IX Item "-rxbind"
+Bind the Rx socket (one interface only).
+.IP "\fB\-rxmaxmtu\fR <\fIvalue for maximum \s-1MTU\s0\fR>" 4
+.IX Item "-rxmaxmtu <value for maximum MTU>"
+Set a limit for the largest maximum transfer unit (network packet size) that
+the \s-1AFS\s0 client on this machine will be willing to transmit. This switch can
+be used where an artificial limit on the network precludes packets as large
+as the discoverable \s-1MTU\s0 from being transmitted successfully.
+.IP "\fB\-rxpck\fR <\fIvalue for rx_extraPackets\fR>" 4
+.IX Item "-rxpck <value for rx_extraPackets>"
+Set rx_extraPackets to this value. This sets the number of extra Rx
+packet structures that are available to handle Rx connections. This
+value should be increased if the \*(L"rxdebug 127.0.0.1 \-port 7001
+\&\-rxstats\*(R" command shows no free Rx packets. Increasing this value may
+improve OpenAFS client performance in some circumstances.
+.IP "\fB\-settime\fR" 4
+.IX Item "-settime"
+Enable native \s-1AFS\s0 time synchronization. This option is the opposite of
+\&\fB\-nosettime\fR and cannot be used with the \fB\-nosettime\fR option.
+.IP "\fB\-shutdown\fR" 4
+.IX Item "-shutdown"
+Shuts down the Cache Manager. Before calling \fBafsd\fR with this option,
+unmount the \s-1AFS\s0 file system with \fBumount\fR.
+.IP "\fB\-splitcache\fR <\fI\s-1RW/RO\s0 Ratio\fR>" 4
+.IX Item "-splitcache <RW/RO Ratio>"
+This allows the user to set a certain percentage of the \s-1AFS\s0 cache be
+reserved for read/write content and the rest to be reserved for read-only
+content. The ratio should be written as a fraction. For example,
+\&\f(CW\*(C`\-splitcache 75/25\*(C'\fR devotes 75% of your cache space to read/write content
+and 25% to read-only.
+.IP "\fB\-stat\fR <\fInumber of stat entries\fR>" 4
+.IX Item "-stat <number of stat entries>"
+Specifies the number of entries to allocate in the machine's memory for
+recording status information about the \s-1AFS\s0 files in the cache. If this value
+is not specified, the number of stat entires will be autotuned based on the
+size of the disk cache.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Generates a detailed trace of the \fBafsd\fR program's actions on the
+standard output stream.
+.IP "\fB\-volumes\fR <\fInumber of volume entries\fR>" 4
+.IX Item "-volumes <number of volume entries>"
+Specifies the number of memory structures to allocate for storing volume
+location information. The default value is \f(CW200\fR.
+.IP "\fB\-disable\-dynamic\-vcaches\fR" 4
+.IX Item "-disable-dynamic-vcaches"
+By default, dynamic vcache overrides the \fB\-stat\fR option by using the value of
+\&\fB\-stat\fR (or the default) as the initial size of the stat (or vcache) pool and
+increases the pool dynamically as needed on supported platforms. This flag will
+disable this new functionality and honor the '\-stat' setting.
+.IP "\fB\-waitclose\fR" 4
+.IX Item "-waitclose"
+Has no effect on the operation of the Cache Manager. The behavior it
+affected in previous versions of the Cache Manager, to perform synchronous
+writes to the File Server, is now the default behavior. To perform
+asynchronous writes in certain cases, use the \fBfs storebehind\fR command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The \fBafsd\fR command is normally included in the machine's \s-1AFS\s0
+initialization file, rather than typed at the command shell prompt. For
+most disk caches, the appropriate form is
+.PP
+.Vb 1
+\& % /usr/vice/etc/afsd
+.Ve
+.PP
+The following command is appropriate when enabling a machine to act as an
+\&\s-1NFS/AFS\s0 Translator machine serving more than five users.
+.PP
+.Vb 1
+\& % /usr/vice/etc/afsd \-daemons 4 \-rmtsys
+.Ve
+.PP
+The following command initializes a memory cache and sets chunk size to 16
+\&\s-1KB\s0 (2^14).
+.PP
+.Vb 1
+\& % /usr/vice/etc/afsd \-memcache \-chunksize 14
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfs_newcell\fR\|(1),
+\&\fIafs_cache\fR\|(5),
+\&\fICellServDB\fR\|(5),
+\&\fIcacheinfo\fR\|(5)
+.PP
+\&\s-1RFC\s0 1183 <http://www.faqs.org/rfcs/rfc1183.html>
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It
+was converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and
+Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH ASETKEY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "ASETKEY 8"
++.TH ASETKEY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+asetkey \- Add a key from a keytab to an AFS KeyFile
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBasetkey\fR add <\fIkvno\fR> <\fIkeyfile\fR> <\fIprincipal\fR>
+.PP
+\&\fBasetkey\fR add <\fIkvno\fR> <\fIkey\fR>
+.PP
+\&\fBasetkey\fR delete <\fIkvno\fR>
+.PP
+\&\fBasetkey\fR list
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBasetkey\fR command is used to add a key to an \s-1AFS\s0 KeyFile from a
+Kerberos keytab. It is similar to \fBbos addkey\fR except that it must be
+run locally on the system where the KeyFile is located and it takes the
+new key from the command line or a Kerberos 5 keytab rather than prompting
+for the password.
+.PP
+\&\fBasetkey delete\fR can be used to delete a key (similar to \fBbos
+removekeys\fR), and \fBasetkey list\fR will list the keys in a KeyFile (similar
+to \fBbos listkeys\fR).
+.PP
+\&\fBasetkey\fR is used when authentication for an \s-1AFS\s0 cell is provided by a
+Kerberos 5 \s-1KDC\s0 rather than \fBkaserver\fR. The key for the \f(CW\*(C`afs\*(C'\fR or
+\&\f(CW\*(C`afs/\f(CIcell name\f(CW\*(C'\fR principal in the Kerberos 5 \s-1KDC\s0 must match the key
+stored in the \s-1AFS\s0 KeyFile on all \s-1AFS\s0 database servers and file servers.
+This is done by creating a keytab containing that key using the standard
+Kerberos commands (generally the \f(CW\*(C`ktadd\*(C'\fR function of the \fBkadmin\fR
+command) and then, on each \s-1AFS\s0 database server and file server, adding
+that key to the KeyFile with \fBasetkey add\fR. The \fIkvno\fR chosen should
+match the kvno in the Kerberos \s-1KDC\s0 (checked with \fBkvno\fR or the
+\&\f(CW\*(C`getprinc\*(C'\fR function of \fBkadmin\fR). \fIprincipal\fR should be the name of
+the \s-1AFS\s0 principal in the keytab, which must be either \f(CW\*(C`afs\*(C'\fR or
+\&\f(CW\*(C`afs/\f(CIcell name\f(CW\*(C'\fR. \fBasetkey\fR can also be used to install a key
+from a hex string.
+.PP
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to run \fBasetkey add\fR only
+on the control machine and then let the Update Server propagate the new
+KeyFile to all other systems.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\s-1AFS\s0 currently only supports des\-cbc\-crc:v4 Kerberos keys. Make sure, when
+creating the keytab with \f(CW\*(C`ktadd\*(C'\fR, you pass \f(CW\*(C`\-e des\-cbc\-crc:v4\*(C'\fR to force
+the encryption type. Otherwise, \s-1AFS\s0 authentication may not work.
+.PP
+As soon as a new keytab is created with \f(CW\*(C`ktadd\*(C'\fR, new \s-1AFS\s0 service tickets
+will use the new key. However, tokens formed from those service tickets
+will only work if the new key is present in the KeyFile on the \s-1AFS\s0 file
+server. There is therefore an outage window between when the new keytab
+is created and when the key had been added to the KeyFile of all \s-1AFS\s0
+servers with \fBasetkey\fR, during which newly obtained \s-1AFS\s0 tokens will not
+work properly.
+.PP
+All of the KeyFile entries must match the key in the Kerberos \s-1KDC\s0, but
+each time \f(CW\*(C`ktadd\*(C'\fR is run, it creates a new key. Either the Update Server
+must be used to distribute the KeyFile to all servers or the same keytab
+must be used with \fBasetkey\fR on each server.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following commands create a new keytab for the principal \f(CW\*(C`afs\*(C'\fR and
+then import the key into the KeyFile. Note the kvno in the output from
+\&\f(CW\*(C`ktadd\*(C'\fR.
+.PP
+.Vb 8
+\& % kadmin
+\& Authenticating as principal rra/admin@stanford.edu with password.
+\& Password for rra/admin@stanford.edu:
+\& kadmin: ktadd \-k /tmp/afs.keytab \-e des\-cbc\-crc:v4 afs
+\& Entry for principal afs with kvno 3, encryption type DES cbc mode
+\& with CRC\-32 added to keytab WRFILE:/tmp/afs.keytab.
+\& kadmin: exit
+\& % asetkey 3 /tmp/afs.keytab afs
+.Ve
+.PP
+You may want to use \f(CW\*(C`afs/\f(CIcell name\f(CW\*(C'\fR instead of \f(CW\*(C`afs\*(C'\fR, particularly if
+you may have multiple \s-1AFS\s0 cells for a single Kerberos realm.
+.PP
+In the event you have been distributed a key by a Kerberos administrator
+in the form of a hex string, you may use asetkey to install that.
+.PP
+.Vb 1
+\& % asetkey add 3 80b6a7cd7a9dadb6
+.Ve
+.PP
+\&\fIkey\fR should be an 8 byte hex representation.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be able to read (for \fBasetkey list\fR) and write (for
+\&\fBasetkey add\fR and \fBasetkey delete\fR) the KeyFile, normally
+\&\fI/usr/afs/etc/KeyFile\fR. In practice, this means that the issuer must be
+the local superuser \f(CW\*(C`root\*(C'\fR on the \s-1AFS\s0 file server or database server.
+For \fBasetkey add\fR, the issuer must also be able to read the specified
+keytab file.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_listkeys\fR\|(8),
+\&\fIbos_removekey\fR\|(8),
+\&\fIkadmin\fR\|(8),
+\&\fIkvno\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2006 Russ Allbery <rra@stanford.edu>
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. This
+man page was written by Russ Allbery for OpenAFS.
--- /dev/null
- .TH BACKUP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP 8"
++.TH BACKUP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup \- Introduction to the backup command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBbackup\fR command suite are the administrative
+interface to the \s-1AFS\s0 Backup System. There are several categories of
+commands in the suite:
+.IP "\(bu" 4
+Commands to copy data from \s-1AFS\s0 volumes to tape or a backup data file, and
+to restore it to the file system: \fBbackup diskrestore\fR, \fBbackup dump\fR,
+\&\fBbackup volrestore\fR, and \fBbackup volsetrestore\fR.
+.IP "\(bu" 4
+Commands to administer the records in the Backup Database: \fBbackup
+adddump\fR, \fBbackup addhost\fR, \fBbackup addvolentry\fR, \fBbackup addvolset\fR,
+\&\fBbackup deldump\fR, \fBbackup deletedump\fR, \fBbackup delhost\fR, \fBbackup
+delvolentry\fR, \fBbackup delvolset\fR, \fBbackup dumpinfo\fR, \fBbackup
+listdumps\fR, \fBbackup listhosts\fR, \fBbackup listvolsets\fR, \fBbackup
+scantape\fR, \fBbackup setexp\fR, and \fBbackup volinfo\fR.
+.IP "\(bu" 4
+Commands to write and read tape labels: \fBbackup labeltape\fR and \fBbackup
+readlabel\fR.
+.IP "\(bu" 4
+Commands to list and change the status of backup operations and the
+machines performing them: \fBbackup jobs\fR, \fBbackup kill\fR, and \fBbackup
+status\fR.
+.IP "\(bu" 4
+Commands to enter and leave interactive mode: \fBbackup interactive\fR and
+\&\fBbackup quit\fR.
+.IP "\(bu" 4
+Commands to check for and repair corruption in the Backup Database:
+\&\fBbackup dbverify\fR, \fBbackup restoredb\fR, and \fBbackup savedb\fR.
+.IP "\(bu" 4
+Commands to obtain help: \fBbackup apropos\fR and \fBbackup help\fR.
+.PP
+The backup command interpreter interacts with two other processes:
+.IP "\(bu" 4
+The Backup Server (\fBbuserver\fR) process. It maintains the Backup Database,
+which stores most of the administrative information used by the Backup
+System. In the standard configuration, the Backup Server runs on each
+database server machine in the cell, and uses \s-1AFS\s0's distributed database
+technology, Ubik, to synchronize its copy of the database with the copies
+on the other database server machines.
+.IP "\(bu" 4
+The Backup Tape Coordinator (\fBbutc\fR) process. A separate instance of the
+process controls each tape device or backup data file used to dump or
+restore data. The Tape Coordinator runs on a Tape Coordinator machine,
+which is an \s-1AFS\s0 server or client machine that has one or more tape devices
+attached, or has sufficient disk space to accommodate one or more backup
+data files on its local disk.
+.Sp
+Each Tape Coordinator must be registered in the Backup Database and in the
+\&\fI/usr/afs/backup/tapeconfig\fR configuration file on the Tape Coordinator
+machine's local disk, and information in the two places must be consistent
+for proper Backup System performance. The optional
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR for each Tape Coordinator records
+information used to automate its operation.
+.PP
+In addition to the standard command line interface, the \fBbackup\fR command
+suite provides an \fIinteractive\fR interface, which has several useful
+features described in \fIbackup_interactive\fR\|(8). Three of the commands in
+the suite are available only in interactive mode: \fBbackup jobs\fR, \fBbackup
+kill\fR, and \fBbackup quit\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following options are available on many commands in the \fBbackup\fR
+suite. The reference page for each command also lists them, but they are
+described here in greater detail.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. It is acceptable to abbreviate
+the cell name to the shortest form that distinguishes it from the other
+entries in the \fI/usr/vice/etc/CellServDB\fR file on the local machine. If
+the \fB\-cell\fR argument is omitted, the command interpreter determines the
+name of the local cell by reading the following in order:
+.RS 4
+.IP "\(bu" 4
+The value of the \s-1AFSCELL\s0 environment variable.
+.IP "\(bu" 4
+The local \fI/usr/vice/etc/ThisCell\fR file.
+.RE
+.RS 4
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell.
+.Sp
+The \fB\-cell\fR argument is not available on commands issued in interactive
+mode. The cell defined when the \fBbackup\fR command interpreter enters
+interactive mode applies to all commands issued during the interactive
+session.
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using the server encryption key with the
+highest key version number in the local \fI/usr/afs/etc/KeyFile\fR file. The
+\&\fBbackup\fR command interpreter presents the ticket, which never expires, to
+the Backup Server, Volume Server and Volume Location (\s-1VL\s0) Server during
+mutual authentication.
+.Sp
+Use this flag only when issuing a command on a server machine; client
+machines do not usually have a \fI/usr/afs/etc/KeyFile\fR file. The issuer
+of a command that includes this flag must be logged on to the server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR. The flag is useful for commands
+invoked by an unattended application program, such as a process controlled
+by the \s-1UNIX\s0 \fBcron\fR utility or by a cron entry in the machine's
+\&\fI/usr/afs/local/BosConfig\fR file. It is also useful if an administrator is
+unable to authenticate to \s-1AFS\s0 but is logged in as the local superuser
+\&\f(CW\*(C`root\*(C'\fR.
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell.
+.Sp
+The \fB\-localauth\fR argument is not available on commands issued in
+interactive mode. The local identity and \s-1AFS\s0 tokens with which the
+\&\fBbackup\fR command interpreter enters interactive mode apply to all
+commands issued during the interactive session.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator that is to
+execute the \fBbackup\fR command. The port offset number uniquely identifies
+a pairing of a Tape Coordinator (\fBbutc\fR) process and tape device or
+backup data file.
+.Sp
+The backup command interpreter and Tape Coordinator process communicate
+via a \s-1UDP\s0 socket, or port. Before issuing a \fBbackup\fR command that
+involves reading or writing a tape, the backup operator must start a
+\&\fBbutc\fR process that controls the appropriate tape device and listens for
+requests sent to its port number. If a Backup System machine has multiple
+tape devices attached, they can perform backup operations simultaneously
+because each device has its own associated \fBbutc\fR process and port offset
+number.
+.Sp
+The Backup System associates a tape capacity and file mark size with each
+port offset (as defined in the \fItapeconfig\fR file). For a compressing tape
+device, the capacity and file mark values differ for compression and
+non-compression modes, so the two modes have distinct port offset numbers.
+.Sp
+The Backup Database can store up to 58,511 port offsets, so the legal
+values for this argument are the integers \f(CW0\fR through \f(CW58510\fR. If the
+issuer omits the argument, it defaults to \f(CW0\fR. (The limit of 58,511 port
+offsets results from the fact that \s-1UDP\s0 socket numbers are identified by a
+16\-bit integer, and the lowest socket number used by the Backup System is
+7025. The largest number that a 16\-bit integer can represent is
+65,535. Subtracting 7,025 yields 58,510. The addition of port offset 0
+(zero) increases the maximum to 58,511.)
+.Sp
+Although it is possible to define up to 58,511 port offset numbers for a
+cell, it is not possible to run 58,511 tape devices simultaneously, due to
+the following limits:
+.RS 4
+.IP "\(bu" 4
+The maximum number of dump or restore operations that can run
+simultaneously is 64.
+.IP "\(bu" 4
+The maximum number of tape devices that can work together on a restore
+operation is 128 (that is the maximum number of values that can be
+provided for the \fB\-portoffset\fR argument to the \fBbackup diskrestore\fR,
+\&\fBbackup volrestore\fR, or \fBbackup volsetrestore\fR command).
+.RE
+.RS 4
+.Sp
+The Backup System does not reserve \s-1UDP\s0 sockets. If another application is
+already using the Tape Coordinator's socket when it tries to start, the
+\&\fBbutc\fR process fails and the following error message appears at the shell
+prompt:
+.Sp
+.Vb 2
+\& bind: Address already in use
+\& rxi_GetUDPSocket: bind failed
+.Ve
+.RE
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To issue any backup command that accesses the Backup Database only, the
+issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running. To issue any \fBbackup\fR command
+that accesses volume data, the issuer must appear in the \fIUserList\fR file
+on every Backup Server machine, every Volume Location (\s-1VL\s0) Server machine,
+and every file server machine that houses affected volumes. By convention,
+a common \fIUserList\fR file is distributed to all database server and file
+server machines in the cell. See the chapter on privileged users in the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR for more information on this type of
+privilege.
+.PP
+If the \fB\-localauth\fR flag is included, the user must instead be logged on
+as the local superuser \f(CW\*(C`root\*(C'\fR on the server machine where the \fBbackup\fR
+command is issued.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fICellServDB\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIThisCell\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbutc\fR\|(5),
+\&\fItapeconfig\fR\|(5),
+\&\fIbackup_adddump\fR\|(8),
+\&\fIbackup_addhost\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_dbverify\fR\|(8),
+\&\fIbackup_deldump\fR\|(8),
+\&\fIbackup_deletedump\fR\|(8),
+\&\fIbackup_delhost\fR\|(8),
+\&\fIbackup_delvolentry\fR\|(8),
+\&\fIbackup_delvolset\fR\|(8),
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_dumpinfo\fR\|(8),
+\&\fIbackup_help\fR\|(8),
+\&\fIbackup_interactive\fR\|(8),
+\&\fIbackup_jobs\fR\|(8),
+\&\fIbackup_kill\fR\|(8),
+\&\fIbackup_labeltape\fR\|(8),
+\&\fIbackup_listdumps\fR\|(8),
+\&\fIbackup_listhosts\fR\|(8),
+\&\fIbackup_listvolsets\fR\|(8),
+\&\fIbackup_quit\fR\|(8),
+\&\fIbackup_readlabel\fR\|(8),
+\&\fIbackup_restoredb\fR\|(8),
+\&\fIbackup_savedb\fR\|(8),
+\&\fIbackup_scantape\fR\|(8),
+\&\fIbackup_setexp\fR\|(8),
+\&\fIbackup_status\fR\|(8),
+\&\fIbackup_volinfo\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbackup_volsetrestore\fR\|(8),
+\&\fIbuserver\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_ADDDUMP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_ADDDUMP 8"
++.TH BACKUP_ADDDUMP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_adddump \- Defines a dump level in the dump hierarchy
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup adddump\fR \fB\-dump\fR\ <\fIdump\ level\ name\fR>+
+ [\fB\-expires\fR\ <\fIexpiration\ date\fR>+]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup addd\fR \fB\-d\fR\ <\fIdump\ level\ name\fR>+
+ [\fB\-e\fR\ <\fIexpiration\ date\fR>+]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup adddump\fR command creates one or more dump levels in the dump
+hierarchy stored in the Backup Database, and optionally assigns an
+expiration date to each one. All of the dump levels in the Backup Database
+collectively constitute the dump hierarchy.
+.PP
+Use the \fB\-expires\fR argument to associate an expiration date with each
+dump level. When the Backup System subsequently creates a dump at the dump
+level, it uses the specified value to derive the dump's expiration date,
+which it records on the label of the tape (or backup data file). The
+Backup System refuses to overwrite a tape until after the latest
+expiration date of any dump that the tape contains, unless the \fBbackup
+labeltape\fR command is used to relabel the tape. If a dump level does not
+have an expiration date, the Backup System treats dumps created at the
+level as expired as soon as it creates them.
+.PP
+(Note that the Backup System does not automatically remove a dump's record
+from the Backup Database when the dump reaches its expiration date, but
+only if the tape that contains the dump is recycled or relabeled. To
+remove expired and other obsolete dump records, use the \fBbackup
+deletedump\fR command.)
+.PP
+Define either an absolute or relative expiration date:
+.IP "\(bu" 4
+An absolute expiration date defines the month/day/year (and, optionally,
+hour and minutes) at which a dump expires. If the expiration date predates
+the dump creation time, the Backup System immediately treats the dump as
+expired.
+.IP "\(bu" 4
+A relative date defines the number of years, months, or days (or a
+combination of the three) after the dump's creation that it expires. When
+the Backup System creates a dump at the dump level, it calculates an
+actual expiration date by adding the relative date to the start time of
+the dump operation.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dump\fR <\fIdump level name\fR>+" 4
+.IX Item "-dump <dump level name>+"
+Names each dump level to add to the dump hierarchy. Precede full dump
+level names with a slash (for example, \f(CW\*(C`/full\*(C'\fR). Indicate an incremental
+dump level by preceding it with an ordered list of the dump levels
+directly above it in the hierarchy (its parent dump levels); use the slash
+as a separator. The parent dump levels must already exist. For example,
+the dump levels \f(CW\*(C`/full\*(C'\fR and \f(CW\*(C`/full/incremental1\*(C'\fR must exist when the
+incremental dump level \f(CW\*(C`/full/incremental1/incremental2\*(C'\fR is created.
+.Sp
+Dump level names can have any number of levels, but cannot exceed 256
+characters in length, including the slashes. The maximum length for any
+single level (the text between slashes) is 28 characters, not including
+the preceding slash.
+.Sp
+All alphanumeric characters are allowed in dump level names. Do not use
+the period (\f(CW\*(C`.\*(C'\fR), however, because it is the separator between the volume
+set name and dump level name in the dump name assigned automatically by
+the \fBbackup dump\fR command. It is best not to include other metacharacters
+either; if using them, enclose them in double quotes (\f(CW" "\fR) when issuing
+the \fBbackup adddump\fR command outside interactive mode.
+.IP "\fB\-expires\fR <\fIexpiration date\fR>+" 4
+.IX Item "-expires <expiration date>+"
+Defines the absolute or relative expiration date to associate with each
+dump level named by the \fB\-dump\fR argument. Absolute expiration dates have
+the following format:
+.Sp
+.Vb 1
+\& [at] {NEVER | <mm>/<dd>/<yyyy> [<hh>:<MM>] }
+.Ve
+.Sp
+where the optional word at is followed either by the string \f(CW\*(C`NEVER\*(C'\fR,
+which indicates that dumps created at the dump level never expire, or by a
+date value with a required portion (<mm> for month, <dd> for day, and
+<yyyy> for year) and an optional portion (<hh> for hours and <\s-1MM\s0> for
+minutes).
+.Sp
+Omit the \fIhh:MM\fR portion to use the default of midnight (00:00 hours), or
+provide a value in 24\-hour format (for example, \f(CW\*(C`20:30\*(C'\fR is 8:30 p.m.).
+Valid values for the year range from \f(CW1970\fR to \f(CW2037\fR; higher values are
+not valid because the latest possible date in the standard \s-1UNIX\s0
+representation is in February 2038. The command interpreter automatically
+reduces later dates to the maximum value.
+.Sp
+Relative expiration dates have the following format:
+.Sp
+.Vb 1
+\& [in] [<years>y] [<months>m] [<days>d]
+.Ve
+.Sp
+where the optional word in is followed by at least one of a number of
+years (maximum \f(CW9999\fR) followed by the letter \f(CW\*(C`y\*(C'\fR, a number of months
+(maximum \f(CW12\fR) followed by the letter \f(CW\*(C`m\*(C'\fR, or a number of days (maximum
+\&\f(CW31\fR) followed by the letter \f(CW\*(C`d\*(C'\fR. If providing more than one of the
+three, list them in the indicated order. If the date that results from
+adding the relative expiration value to a dump's creation time is later
+than the latest possible date in the \s-1UNIX\s0 time representation, the Backup
+System automatically reduces it to that date.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command defines a full dump called \f(CW\*(C`/1999\*(C'\fR with a relative
+expiration date of one year:
+.PP
+.Vb 1
+\& % backup adddump \-dump /1999 \-expires in 1y
+.Ve
+.PP
+The following command defines an incremental dump called
+\&\f(CW\*(C`/sunday1/monday\*(C'\fR1 with a relative expiration date of 13 days:
+.PP
+.Vb 1
+\& % backup adddump \-dump /sunday1/monday1 \-expires in 13d
+.Ve
+.PP
+The following command defines two dump incremental dump levels,
+\&\f(CW\*(C`/Monthly/Week1\*(C'\fR and \f(CW\*(C`/Monthly/Week2\*(C'\fR. Their parent, the full dump level
+\&\f(CW\*(C`/Monthly\*(C'\fR, must already exist. The expiration date for both levels is
+12:00 a.m. on 1 January 2000.
+.PP
+.Vb 1
+\& % backup adddump \-dump /Monthly/Week1 /Monthly/Week2 \-expires at 01/01/2000
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_deldump\fR\|(8),
+\&\fIbackup_deletedump\fR\|(8),
+\&\fIbackup_listdumps\fR\|(8),
+\&\fIbackup_setexp\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_ADDHOST 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_ADDHOST 8"
++.TH BACKUP_ADDHOST 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_addhost \- Adds a Tape Coordinator entry to the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup addhost\fR \fB\-tapehost\fR\ <\fItape\ machine\ name\fR>
+ [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup addh\fR \fB\-t\fR\ <\fItape\ machine\ name\fR> [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup addhost\fR command creates a Tape Coordinator entry in the
+Backup Database. The entry records
+.IP "\(bu" 4
+The host name of the Tape Coordinator machine where the Tape Coordinator
+(\fBbutc\fR) process runs, as specified with the \fB\-tapehost\fR argument.
+.IP "\(bu" 4
+The Tape Coordinator's port offset number, as specified with the
+\&\fB\-portoffset\fR argument. An entry for the port offset must also appear in
+the \fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator machine,
+where it is mapped to a \s-1UNIX\s0 device name (for a tape device) or pathname
+(for a backup data file).
+.PP
+Each Tape Coordinator must have its own port offset number, and the
+command fails if a Backup Database entry already exists for the requested
+port offset number. To display existing Tape Coordinator entries, use the
+\&\fBbackup listhosts\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-tapehost\fR <\fItape machine name\fR>" 4
+.IX Item "-tapehost <tape machine name>"
+Specifies the fully-qualified hostname of the machine for which to create
+a Tape Coordinator entry in the Backup Database. The machine must have an
+entry in either the cell's naming service (such as the Domain Name
+Service) or the host file (\fI/etc/hosts\fR or equivalent) on the machine
+where the command is issued.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the Tape Coordinator's port offset number. Provide an integer
+from the range \f(CW0\fR through \f(CW58510\fR, or omit this argument to use the
+default value of \f(CW0\fR (zero). The value must match the port offset number
+recorded for the same combination of Tape Coordinator and tape device or
+file in the \fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator
+machine named by the \fB\-tapehost\fR argument.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command creates an entry in the Backup Database that assigns
+port offset number 4 to a Tape Coordinator running on the machine
+\&\f(CW\*(C`backup1.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % backup addhost \-tapehost backup1.abc.com \-portoffset 4
+.Ve
+.PP
+The following command creates a Backup Database entry that assigns port
+offset number 0 to a Tape Coordinator on the machine \f(CW\*(C`backup3.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % backup addhost backup3.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_delhost\fR\|(8),
+\&\fIbackup_listhosts\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_ADDVOLENTRY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_ADDVOLENTRY 8"
++.TH BACKUP_ADDVOLENTRY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_addvolentry \- Defines a volume entry in a volume set
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup addvolentry\fR \fB\-name\fR\ <\fIvolume\ set\ name\fR>
+ \fB\-server\fR\ <\fImachine\ name\fR> \fB\-partition\fR\ <\fIpartition\ name\fR>
+ \fB\-volumes\fR\ <\fIvolume\ name\ (regular\ expression)\fR>
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup addvole\fR \fB\-n\fR\ <\fIvolume\ set\ name\fR> \fB\-s\fR\ <\fImachine\ name\fR>
+ \fB\-p\fR\ <\fIpartition\ name\fR> \fB\-v\fR\ <\fIvolume\ name\ (regular\ expression)\fR>
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup addvolentry\fR command adds a volume entry definition to the
+existing volume set named by the \fB\-name\fR argument. A volume entry
+definition can match one or more volumes, depending on the combination of
+the \fB\-server\fR, \fB\-partition\fR, and \fB\-volumes\fR arguments.
+.PP
+For the \fB\-server\fR and \fB\-partition\fR arguments, provide either
+.IP "\(bu" 4
+The name of one machine or partition.
+.IP "\(bu" 4
+The metacharacter expression .* (period and asterisk), which matches every
+machine name or partition name in the Volume Location Database (\s-1VLDB\s0).
+.PP
+For the \fB\-volumes\fR argument, specify a combination of alphanumeric
+characters and one or more metacharacters to wildcard part or all of the
+volume name. \s-1OPTIONS\s0 lists the acceptable metacharacters.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+It is best to issue this command in interactive mode. If issuing it at the
+shell prompt, enclose any strings containing metacharacters in double
+quotes, or escape the metacharacters with other delimiters, to prevent the
+shell from interpreting them. Adding volume entries to a temporary volume
+set is possible only within the interactive session in which the volume
+set was created.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume set name\fR>" 4
+.IX Item "-name <volume set name>"
+Names the volume set to which to add this volume entry definition. The
+volume set must already exist (use the \fBbackup addvolset\fR command to
+create it).
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Defines the set of one or more file server machines that house the volumes
+in the volume entry. Provide either one fully-qualified hostname (such as
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR) or the metacharacter expression \f(CW\*(C`.*\*(C'\fR (period and
+asterisk), which matches all machine names in the \s-1VLDB\s0.
+.IP "\fB\-partition\fR <\fIpartition name\fR>" 4
+.IX Item "-partition <partition name>"
+Defines the set of one or more partitions that house the volumes in the
+volume entry. Provide either one complete partition name (such as
+\&\f(CW\*(C`/vicepa\*(C'\fR) or the metacharacter expression \f(CW\*(C`.*\*(C'\fR (period and asterisk),
+which matches all partition names.
+.IP "\fB\-volumes\fR <\fIvolume name\fR>" 4
+.IX Item "-volumes <volume name>"
+Defines the set of one or more volumes included in the volume
+entry. Specify the volumes by name, by using any combination of regular
+alphanumeric characters and one or more of the following metacharacter
+expressions:
+.RS 4
+.IP "." 4
+The period matches any single character.
+.IP "*" 4
+The asterisk matches zero or more instances of the preceding character.
+Combine it with any other alphanumeric character or metacharacter.
+.IP "[ ]" 4
+Square brackets around a list of characters match a single instance of any
+of the characters, but no other characters; for example, \f(CW\*(C`[abc]\*(C'\fR matches
+a single \f(CW\*(C`a\*(C'\fR or \f(CW\*(C`b\*(C'\fR or \f(CW\*(C`c\*(C'\fR, but not \f(CW\*(C`d\*(C'\fR or \f(CW\*(C`A\*(C'\fR. This expression can
+be combined with the asterisk.
+.IP "^" 4
+The caret, when used as the first character in a square-bracketed set,
+designates a match with any single character \fIexcept\fR the characters that
+follow it; for example, \f(CW\*(C`[^a]\*(C'\fR matches any single character except
+lowercase \f(CW\*(C`a\*(C'\fR. This expression can be combined with the asterisk.
+.IP "\e" 4
+.IX Item ""
+A backslash preceding any of the metacharacters in this list makes it
+match its literal value only. For example, the expression \f(CW\*(C`\e.\*(C'\fR (backslash
+and period) matches a single period, \f(CW\*(C`\e*\*(C'\fR a single asterisk, and \f(CW\*(C`\e\e\*(C'\fR a
+single backslash. Such expressions can be combined with the asterisk (for
+example, \f(CW\*(C`\e.*\*(C'\fR matches any number of periods).
+.RE
+.RS 4
+.Sp
+Perhaps the most common metacharacter expression is the period followed by
+an asterisk (\f(CW\*(C`.*\*(C'\fR). This expression matches any string of any length,
+because the period matches any character and the asterisk means any number
+of that character. As mentioned, it is the only acceptable metacharacter
+expression for the \fB\-server\fR and \fB\-partition\fR arguments. In a volume
+definition it can stand alone (in which case it matches every volume
+listed in the \s-1VLDB\s0), or can combine with regular characters. The following
+example matches any volume name that begins with the string \f(CW\*(C`user\*(C'\fR and
+ends with \f(CW\*(C`backup\*(C'\fR:
+.Sp
+.Vb 1
+\& user.*backup
+.Ve
+.RE
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command adds a volume entry to the volume set called
+\&\f(CW\*(C`sys\*(C'\fR. The entry matches all volumes on any machine or partition whose
+names begin with the string \f(CW\*(C`sun4x_56\*(C'\fR followed by a period:
+.PP
+.Vb 1
+\& backup> addvolentry sys .* .* sun4x_56\e..*
+.Ve
+.PP
+The following command adds a volume entry to the volume set called \f(CW\*(C`fs2\*(C'\fR,
+to match all volumes on the \fI/vicepb\fR partition of file server machine
+\&\f(CW\*(C`fs2.abc.com\*(C'\fR. Because it is issued at the shell prompt, double quotes
+surround the metacharacters in the \fB\-volumes\fR argument. (The command is
+shown here on two lines only for legibility reasons.)
+.PP
+.Vb 2
+\& % backup addvolentry \-name fs2 \-server fs2.abc.com \e
+\& \-partition /vicepb \-volumes ".*"
+.Ve
+.PP
+The chapter in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR about configuring the
+\&\s-1AFS\s0 Backup System presents additional examples as well as advice on
+grouping volumes.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_delvolentry\fR\|(8),
+\&\fIbackup_delvolset\fR\|(8),
+\&\fIbackup_listvolsets\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_ADDVOLSET 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_ADDVOLSET 8"
++.TH BACKUP_ADDVOLSET 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_addvolset \- Creates a new (empty) volume set
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup addvolset\fR \fB\-name\fR\ <\fIvolume\ set\ name\fR> [\fB\-temporary\fR]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup addvols\fR \fB\-n\fR\ <\fIvolume\ set\ name\fR> [\fB\-t\fR] [\fB\-l\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup addvolset\fR command creates a new volume set, by default
+adding it to the Backup Database. It is best that the volume set's name
+indicate the volume set's contents; for example, define the volume entries
+in the \f(CW\*(C`user\*(C'\fR volume set to match all user volumes. The volume set name
+must be unique within the Backup Database of the local cell.
+.PP
+After issuing this command, issue the \fBbackup addvolentry\fR command to
+define the volume entries in the volume set.
+.PP
+Sometimes it is convenient to create volume sets without recording them
+permanently in the Backup Database, for example when using the \fBbackup
+volsetrestore\fR command to restore a group of volumes that were not
+necessarily backed up together. To create a \fItemporary\fR volume set,
+include the \fB\-temporary\fR flag. A temporary volume set exists only during
+the lifetime of the current interactive session, so the flag is effective
+only when used during an interactive session (opened by issuing the
+\&\fBbackup interactive\fR command). If it is included when the command is
+issued at the regular command shell prompt, the command appears to
+succeed, but the volume set is not created. As noted, a temporary volume
+set ceases to exist when the current interactive session ends, or use the
+\&\fBbackup delvolset\fR command to delete it before that.
+.PP
+One advantage of temporary volume sets is that the \fBbackup addvolset\fR
+command, and any \fBbackup addvolentry\fR commands subsequently used to add
+volume entries to it, complete more quickly than for regular volume sets,
+because no records are created in the Backup Database.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume set name\fR>" 4
+.IX Item "-name <volume set name>"
+Names the new volume set. The name can include up to 31 of any character
+other than the period. Avoid other metacharacters as well.
+.IP "\fB\-temporary\fR" 4
+.IX Item "-temporary"
+Creates a volume set that exists only within the context of the current
+interactive session. It is not added to the Backup Database.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command creates a volume set called \f(CW\*(C`sys\*(C'\fR:
+.PP
+.Vb 1
+\& % backup addvolset sys
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_delvolentry\fR\|(8),
+\&\fIbackup_delvolset\fR\|(8),
+\&\fIbackup_listvolsets\fR\|(8),
+\&\fIbackup_volsetrestore\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_APROPOS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_APROPOS 8"
++.TH BACKUP_APROPOS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBbackup ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup apropos\fR command displays the first line of the online help
+entry for any \fBbackup\fR command that has in its name or short description
+the string specified by the \fB\-topic\fR argument.
+.PP
+To display the syntax for a command, use the \fBbackup help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes (\f(CW" "\fR)
+or other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBbackup\fR command where the string specified with the \fB\-topic\fR argument
+is part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example lists all backup commands that include the word
+\&\f(CW\*(C`tape\*(C'\fR in their names or short descriptions:
+.PP
+.Vb 5
+\& % backup apropos tape
+\& labeltape: label a tape
+\& readlabel: read the label on tape
+\& scantape: dump information recovery from tape
+\& status: get tape coordinator status
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_help\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DBVERIFY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DBVERIFY 8"
++.TH BACKUP_DBVERIFY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_dbverify \- Checks the integrity of the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup dbverify\fR [\fB\-detail\fR] [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-help\fR]
+.PP
+\&\fBbackup db\fR [\fB\-d\fR] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup dbverify\fR command checks the integrity of the Backup
+Database. The command's output indicates whether the Backup Database is
+damaged (data is corrupted) or not. If the Backup Database is undamaged,
+it is safe to continue using it. If it is corrupted, discontinue any
+backup operations until it is repaired.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+While this command runs, no other backup operation can access the Backup
+Database; the other commands do not run until this command
+completes. Avoid issuing this command when other backup operations are
+likely to run. The \fBbackup savedb\fR command repairs some types of
+corruption.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-detail\fR" 4
+.IX Item "-detail"
+Reports the number of orphaned blocks found, any inconsistencies, and the
+name of the server machine running the Backup Server that is checking its
+copy of the database.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command displays one of the following two messages:
+.IP "Database \s-1OK\s0" 4
+.IX Item "Database OK"
+The database is undamaged and can be used.
+.IP "Database not \s-1OK\s0" 4
+.IX Item "Database not OK"
+The database is damaged. You can use the backup savedb command to repair
+many kinds of corruption as it creates a backup copy. For more detailed
+instructions, see the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR chapter about
+performing backup operations.
+.PP
+The \fB\-detail\fR flag provides additional information:
+.IP "\(bu" 4
+The number of \fIorphan blocks\fR found. These are ranges of memory that the
+Backup Server preallocated in the database but cannot use. Orphan blocks
+do not interfere with database access, but do waste disk space. To free
+the unusable space, dump the database to tape by using the \fBbackup
+savedb\fR command, and then restore it by using the \fBbackup restoredb\fR
+command.
+.IP "\(bu" 4
+Any inconsistencies in the database, such as invalid hostnames for Tape
+Coordinator machines.
+.IP "\(bu" 4
+The name of the database server machine on which the Backup Database was
+checked, designated as the \f(CW\*(C`Database checker\*(C'\fR. For a detailed trace of
+the verification operation, see the \fI/usr/afs/logs/BackupLog\fR file on the
+indicated machine. You can use the \fBbos getlog\fR command to display it.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command confirms that the Backup Database is undamaged:
+.PP
+.Vb 2
+\& % backup dbverify
+\& Database OK
+.Ve
+.PP
+The following command confirms that the Backup Database is undamaged and
+that it has no orphan blocks or invalid Tape Coordinator entries. The
+Backup Server running on the machine \f(CW\*(C`db1.abc.com\*(C'\fR checked its copy of
+the Database.
+.PP
+.Vb 4
+\& % backup dbverify \-detail
+\& Database OK
+\& Orphan blocks 0
+\& Database checker was db1.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBackupLog\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_restoredb\fR\|(8),
+\&\fIbackup_savedb\fR\|(8),
+\&\fIbos_getlog\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DELDUMP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DELDUMP 8"
++.TH BACKUP_DELDUMP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_deldump \- Deletes a dump level from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup deldump\fR \fB\-dump\fR\ <\fIdump\ level\ name\fR> [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup deld\fR \fB\-d\fR\ <\fIdump\ level\ name\fR> [\fB\-l\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup deldump\fR command deletes the indicated dump level and all of
+its child dump levels from the dump hierarchy in the Backup Database. Use
+the \fBbackup listdumps\fR command to display the dump hierarchy.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dump\fR <\fIdump level name\fR>" 4
+.IX Item "-dump <dump level name>"
+Specifies the complete pathname of the dump level to delete.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command deletes the dump level \f(CW\*(C`/sunday1/monday1\*(C'\fR from the
+dump hierarchy, along with any of its child dump levels.
+.PP
+.Vb 1
+\& % backup deldump /sunday1/monday1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_adddump\fR\|(8),
+\&\fIbackup_listdumps\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DELETEDUMP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DELETEDUMP 8"
++.TH BACKUP_DELETEDUMP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_deletedump \- Deletes one or more dump records from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup deletedump\fR [\fB\-dumpid\fR\ <\fIdump\ id\fR>+] [\fB\-from\fR\ <\fIdate\ time\fR>+]
+ [\fB\-to\fR\ <\fIdate\ time\fR>+] [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-help\fR]
+.PP
+\&\fBbackup dele\fR [\fB\-d\fR\ <\fIdump\ id\fR>+] [\fB\-f\fR\ <\fIdate\ time\fR>+]
+ [\-t <\fIdate time\fR>+] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup deletedump\fR command deletes one or more dump records from the
+Backup Database. Either use the \fB\-dumpid\fR argument to specify the dump \s-1ID\s0
+number of one or more dumps, or use the \fB\-from\fR and \fB\-to\fR arguments to
+delete the records for all regular dumps created during the time period
+bracketed by the specified values.
+.PP
+Use this command to remove dump records that are incorrect (possibly
+because a dump operation was interrupted or failed), or that correspond to
+dumps that are expired or otherwise no longer needed.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The only way to remove the dump record for an appended dump is to remove
+the record for its initial dump, and doing so removes the records for all
+of the initial dump's associated appended dumps.
+.PP
+The only way to remove the record for a Backup Database dump (created with
+the \fBbackup savedb\fR command) is to specify its dump \s-1ID\s0 number with the
+\&\fB\-dumpid\fR argument. Using the \fB\-from\fR and \fB\-to\fR arguments never removes
+database dump records.
+.PP
+Removing records of a dump makes it impossible to restore data from the
+corresponding tapes or from any dump that refers to the deleted dump as
+its parent, directly or indirectly. That is, restore operations must begin
+with the full dump and continue with each incremental dump in order. If
+the records for a specific dump are removed, it is not possible to restore
+data from later incremental dumps unless the deleted records are restored
+by running the \fBbackup scantape\fR command with the \fB\-dbadd\fR flag.
+.PP
+If a dump set contains any dumps that were created outside the time range
+specified by the \fB\-from\fR and \fB\-to\fR arguments, the command does not
+delete any of the records associated with the dump set, even if some of
+them represent dumps created during the time range.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dumpid\fR <\fIdump id\fR>+" 4
+.IX Item "-dumpid <dump id>+"
+Specifies the dump \s-1ID\s0 of each dump record to delete. The corresponding
+dumps must be initial dumps; it is not possible to delete appended dump
+records directly, but only by deleting the record of their associated
+initial dump. Using this argument is the only way to delete records of
+Backup Database dumps (created with the \fBbackup savedb\fR command).
+.Sp
+Provide either this argument or the \fB\-to\fR (and optionally \fB\-from\fR)
+argument.
+.IP "\fB\-from\fR <\fIdate time\fR>+" 4
+.IX Item "-from <date time>+"
+Specifies the beginning of a range of dates; the record for any dump
+created during the indicated period of time is deleted.
+.Sp
+Omit this argument to indicate the default of midnight (00:00 hours) on 1
+January 1970 (\s-1UNIX\s0 time zero), or provide a date value in the format
+\&\fImm/dd/yyyy\fR [\fIhh:MM\fR]. The month (\fImm\fR), day (\fIdd\fR), and year
+(\fIyyyy\fR) are required. The hour and minutes (\fIhh:MM\fR) are optional, but
+if provided must be in 24\-hour format (for example, the value \f(CW\*(C`14:36\*(C'\fR
+represents 2:36 p.m.). If omitted, the time defaults to midnight (00:00
+hours).
+.Sp
+The \fB\-to\fR argument must be provided along with this one.
+.IP "\fB\-to\fR <\fIdate time\fR>+" 4
+.IX Item "-to <date time>+"
+Specifies the end of a range of dates; the record of any dump created
+during the range is deleted from the Backup Database.
+.Sp
+Provide either the value \f(CW\*(C`NOW\*(C'\fR to indicate the current date and time, or
+a date value in the same format as for the \fB\-from\fR argument. Valid values
+for the year (\fIyyyy\fR) range from \f(CW1970\fR to \f(CW2037\fR; higher values are
+not valid because the latest possible date in the standard \s-1UNIX\s0
+representation is in February 2038. The command interpreter automatically
+reduces any later date to the maximum value.
+.Sp
+If the time portion (\fIhh:MM\fR) is omitted, it defaults to 59 seconds after
+midnight (00:00:59 hours). Similarly, the \fBbackup\fR command interpreter
+automatically adds 59 seconds to any time value provided. In both cases,
+adding 59 seconds compensates for how the Backup Database and \fBbackup
+dumpinfo\fR command represent dump creation times in hours and minutes
+only. For example, the Database records a creation timestamp of \f(CW\*(C`20:55\*(C'\fR
+for any dump operation that begins between 20:55:00 and 20:55:59.
+Automatically adding 59 seconds to a time thus includes the records for
+all dumps created during that minute.
+.Sp
+Provide either this argument, or the \fB\-dumpid\fR argument. This argument
+is required if the \fB\-from\fR argument is provided.
+.Sp
+\&\fBCaution:\fR Specifying the value \f(CW\*(C`NOW\*(C'\fR for this argument when the
+\&\fB\-from\fR argument is omitted deletes all dump records from the Backup
+Database (except for Backup Database dump records created with the
+\&\fBbackup savedb\fR command).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+At the conclusion of processing, the output lists the dump IDs of all dump
+records deleted in the following format:
+.PP
+.Vb 4
+\& The following dumps were deleted:
+\& dump ID 1
+\& dump ID 2
+\& etc.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command deletes the dump record with dump \s-1ID\s0 653777462, and
+for any appended dumps associated with it:
+.PP
+.Vb 3
+\& % backup deletedump \-dumpid 653777462
+\& The following dumps were deleted:
+\& 653777462
+.Ve
+.PP
+The following command deletes the Backup Database record of all dumps
+created between midnight on 1 January 1997 and 23:59:59 hours on 31
+December 1997:
+.PP
+.Vb 8
+\& % backup deletedump \-from 01/01/1997 \-to 12/31/1997
+\& The following dumps were deleted:
+\& 598324045
+\& 598346873
+\& ...
+\& ...
+\& 653777523
+\& 653779648
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dumpinfo\fR\|(8),
+\&\fIbackup_scantape\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DELHOST 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DELHOST 8"
++.TH BACKUP_DELHOST 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_delhost \- Deletes a Tape Coordinator entry from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup delhost\fR \fB\-tapehost\fR\ <\fItape\ machine\ name\fR>
+ [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup delh\fR \fB\-t\fR\ <\fItape\ machine\ name\fR> [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup delhost\fR command deletes the indicated Tape Coordinator entry
+from the Backup Database. It is then impossible to submit backup
+operations to that Tape Coordinator, even if it is still running. To keep
+configuration information consistent, also remove the corresponding entry
+from the \fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator
+machine.
+.PP
+To list the Tape Coordinator machines and port offsets defined in the
+Backup Database, issue the \fBbackup listhosts\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-tapehost\fR <\fItape machine name\fR>" 4
+.IX Item "-tapehost <tape machine name>"
+Specifies the hostname of the machine housing the Tape Coordinator to
+delete.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator to delete. If
+omitted, it defaults to \f(CW0\fR. If provided, it is an integer between \f(CW0\fR
+(zero) and \f(CW58510\fR, and must match the port offset number assigned to the
+same combination of Tape Coordinator and tape device or file in the
+\&\fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator machine
+indicated by the \fB\-tapehost\fR argument.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command deletes the Backup Database entry for the Tape
+Coordinator with port offset 2 on the Tape Coordinator machine
+\&\f(CW\*(C`backup3.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % backup delhost \-tapehost backup3.abc.com \-portoffset 2
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addhost\fR\|(8),
+\&\fIbackup_listhosts\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DELVOLENTRY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DELVOLENTRY 8"
++.TH BACKUP_DELVOLENTRY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_delvolentry \- Deletes a volume entry from a volume set
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup delvolentry\fR \fB\-name\fR\ <\fIvolume\ set\ name\fR>
+ \fB\-entry\fR\ <\fIvolume\ set\ index\fR> [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup delvole\fR \fB\-n\fR\ <\fIvolume\ set\ name\fR> \fB\-e\fR\ <\fIvolume\ set\ index\fR>
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup delvolentry\fR command deletes the indicated volume entry from
+the volume set specified with the \fB\-name\fR argument. Use the \fB\-entry\fR
+argument to identify the volume entry by its index number. To display the
+index numbers, use the \fBbackup listvolsets\fR command.
+.PP
+If there are any remaining volume entries with index numbers higher than
+the deleted entry, their indexes are automatically decremented to
+eliminate any gaps in the indexing sequence.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Deleting volume entries from a temporary volume set is possible only
+within the interactive session in which the volume set was created.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume set name\fR>" 4
+.IX Item "-name <volume set name>"
+Names the volume set from which to delete a volume entry.
+.IP "\fB\-entry\fR <\fIvolume set index\fR>" 4
+.IX Item "-entry <volume set index>"
+Specifies the index number of the volume entry to delete. Use the \fBbackup
+listvolsets\fR command to display the index numbers for a volume set's
+volume entries.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command deletes the fourth volume entry from the volume set
+called \f(CW\*(C`sys\*(C'\fR:
+.PP
+.Vb 1
+\& % backup delvolentry \-name sys \-entry 4
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_delvolset\fR\|(8),
+\&\fIbackup_listvolsets\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DELVOLSET 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DELVOLSET 8"
++.TH BACKUP_DELVOLSET 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_delvolset \- Deletes one or more volume sets from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup delvolset\fR \fB\-name\fR\ <\fIvolume\ set\ name\fR>+ [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup delvols\fR \fB\-n\fR\ <\fIvolume\ set\ name\fR>+ [\fB\-l\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup delvolset\fR command deletes each volume set named by the
+\&\fB\-name\fR argument, and the volume entries each contains, from the Backup
+Database. The \fBbackup listvolsets\fR command lists the volume sets (and
+their volume entries) currently defined in the Backup Database.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Deleting a temporary volume set is possible only within the interactive
+session in which it was created. Exiting the interactive session also
+destroys the temporary volume set automatically.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume set name\fR>+" 4
+.IX Item "-name <volume set name>+"
+Names each volume set to delete.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command deletes the volume set called user and all volume
+entries in it:
+.PP
+.Vb 1
+\& % backup delvolset user
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_delvolentry\fR\|(8),
+\&\fIbackup_listvolsets\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DISKRESTORE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DISKRESTORE 8"
++.TH BACKUP_DISKRESTORE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_diskrestore \- Restores the entire contents of a partition
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup diskrestore\fR \fB\-server\fR\ <\fImachine\ to\ restore\fR>
+ \fB\-partition\fR\ <\fIpartition\ to\ restore\fR>
+ [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>+]
+ [\fB\-newserver\fR\ <\fIdestination\ machine\fR>]
+ [\fB\-newpartition\fR\ <\fIdestination\ partition\fR>]
+ [\fB\-extension\fR\ <\fInew\ volume\ name\ extension\fR>]
+ [\fB\-n\fR] [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup di\fR \fB\-s\fR\ <\fImachine\ to\ restore\fR> \fB\-pa\fR\ <\fIpartition\ to\ restore\fR>
+ [\fB\-po\fR\ <\fI\s-1TC\s0\ port\ offset\fR>+] [\fB\-news\fR\ <\fIdestination\ machine\fR>]
+ [\fB\-newp\fR\ <\fIdestination\ partition\fR>]
+ [\fB\-e\fR\ <\fInew\ volume\ name\ extension\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup diskrestore\fR command restores all of the volumes for which
+the Volume Location Database (\s-1VLDB\s0) lists a read/write site on the
+partition specified with the \fB\-server\fR and \fB\-partition\fR arguments. It is
+useful if a disk or machine failure corrupts or destroys the data on an
+entire partition. (To restore any read-only or backup volumes that resided
+on the partition, use the \fBvos release\fR and \fBvos backup\fR commands,
+respectively, after restoring the read/write version.)
+.PP
+If restoring only selected volumes to a single site, it is usually more
+efficient to use the \fBbackup volrestore\fR command. To restore multiple
+volumes to many different sites, use the \fBbackup volsetrestore\fR command.
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file on the Tape Coordinator machine
+associated with the specified port offset, then the Backup System restores
+data from the backup data file listed for that port offset in the Tape
+Coordinator's \fI/usr/afs/backup/tapeconfig\fR file, instead of from
+tape. For the sake of clarity, the following text refers to tapes only,
+but the Backup System handles backup data files in much the same way.)
+.PP
+The Backup System determines whether the read/write or backup version of
+each volume was dumped more recently, and restores the dumps of that
+version, starting with the most recent full dump. It resets the creation
+timestamp of each restored volume to the date and time at which it begins
+restoring the volume (the creation timestamp appears in the \f(CW\*(C`Creation\*(C'\fR
+field of the output from the \fBvos examine\fR and \fBvos listvol\fR commands).
+.PP
+If all of the full and incremental dumps of all relevant volumes were not
+written on compatible tape devices, use the \fB\-portoffset\fR argument to
+list multiple port offset numbers in the order in which the tapes are
+needed (first list the port offset for the full dump, second the port
+offset for the level 1 incremental dump, and so on). This implies that the
+full dumps of all relevant volumes must have been written to a type of
+tape that the first Tape Coordinator can read, the level 1 incremental
+dumps to a type of tape the second Tape Coordinator can read, and so
+on. If dumps are on multiple incompatible tape types, use the \fBbackup
+volrestore\fR command to restore individual volumes, or the \fBbackup
+volsetrestore\fR command after defining groups of volumes that were dumped
+to compatible tape types. For further discussion, see the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR.
+.PP
+By default, the Backup System restores the contents of the specified
+partition to that same partition. To restore the contents to an alternate
+site, combine the following options as indicated. The Backup System
+removes each volume from the original site, if it still exists, and
+records the change of site in the \s-1VLDB\s0.
+.IP "\(bu" 4
+To restore to a different partition on the same file server machine,
+provide the \fB\-newpartition\fR argument.
+.IP "\(bu" 4
+To restore to the partition with the same name on a different file server
+machine, provide the \fB\-newserver\fR argument.
+.IP "\(bu" 4
+To restore to a completely different site, combine the \fB\-newserver\fR and
+\&\fB\-newpartition\fR arguments.
+.PP
+By default, the Backup System overwrites the contents of existing volumes
+with the restored data. To create a new volume to house the restored data
+instead, use the \fB\-extension\fR argument. The Backup System creates the new
+volume at the site designated by the \fB\-newserver\fR and \fB\-newpartition\fR
+arguments if they are used or the \fB\-server\fR and \fB\-partition\fR arguments
+otherwise. It derives the volume name by adding the extension to the
+read/write base name listed in the \s-1VLDB\s0, and creates a new \s-1VLDB\s0 entry. The
+command does not affect the existing volume in any way. However, if a
+volume with the specified extension also already exists, the command
+overwrites it.
+.PP
+To print out a list of the tapes containing the needed dumps, without
+actually performing the restore operation, include the \fB\-n\fR flag along
+with the other options to be used on the actual command.
+.PP
+The Tape Coordinator's default response to this command is to access the
+first tape it needs by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the local
+\&\fI\s-1CFG_\s0\fIdevice_name\fI\fR file, or by prompting the backup operator to insert
+the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However, if the \f(CW\*(C`AUTOQUERY
+NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file, or if the
+issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR flag, the Tape
+Coordinator instead expects the tape to be in the device already. If it
+is not, or is the wrong tape, the Tape Coordinator invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction or prompts the operator. It also invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction or prompts for any additional tapes needed to complete the
+restore operation; the backup operator must arrange to provide them.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If issuing this command to recover data after a disk crash or other
+damage, be sure not to issue the \fBvos syncserv\fR command first. Doing so
+destroys the \s-1VLDB\s0 record of the volumes that resided on the partition.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine to restore\fR>" 4
+.IX Item "-server <machine to restore>"
+Names the file server machine that the \s-1VLDB\s0 lists as the site of the
+volumes that need to be restored.
+.IP "\fB\-partition\fR <\fIpartition to restore\fR>" 4
+.IX Item "-partition <partition to restore>"
+Names the partition that the \s-1VLDB\s0 lists as the site of the volumes that
+need to be restored.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>+" 4
+.IX Item "-portoffset <TC port offset>+"
+Specifies one or more port offset numbers (up to a maximum of 128), each
+corresponding to a Tape Coordinator to use in the operation. If there is
+more than one value, the Backup System uses the first one when restoring
+the full dump of each volume, the second one when restoring the level 1
+incremental dump of each volume, and so on. It uses the final value in the
+list when restoring dumps at the corresponding depth in the dump hierarchy
+and at all lower levels.
+.Sp
+Provide this argument unless the default value of 0 (zero) is appropriate
+for all dumps. If \f(CW0\fR is just one of the values in the list, provide it
+explicitly in the appropriate order.
+.IP "\fB\-newserver\fR <\fIdestination machine\fR>" 4
+.IX Item "-newserver <destination machine>"
+Names an alternate file server machine to which to restore the volumes. If
+this argument is omitted, the volumes are restored to the file server
+machine named by the \fB\-server\fR argument.
+.IP "\fB\-newpartition\fR <\fIdestination partition\fR>" 4
+.IX Item "-newpartition <destination partition>"
+Names an alternate partition to which to restore the data. If this
+argument is omitted, the volumes are restored to the partition named by
+the \fB\-partition\fR argument.
+.IP "\fB\-extension\fR <\fInew volume name extension\fR>" 4
+.IX Item "-extension <new volume name extension>"
+Creates a new volume for each volume being restored, to house the restored
+data. The Backup System derives the new volume's name by appending the
+specified string to the read/write base name listed in the \s-1VLDB\s0, and
+creates a new \s-1VLDB\s0 volume entry. The Backup System preserves the contents
+of the volumes on the partition, if any still exist. Any string other than
+\&\f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR is acceptable, but the combination of the base
+name and extension cannot exceed 22 characters in length. To use a period
+to separate the extension from the name, specify it as the first character
+of the string (as in \f(CW\*(C`.rst\*(C'\fR, for example).
+.IP "\fB\-n\fR" 4
+.IX Item "-n"
+Displays a list of the tapes necessary to perform the requested restore,
+without actually performing the operation.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If a tape error occurs during the restore operation, the Tape Coordinator
+displays the following messages:
+.PP
+.Vb 2
+\& Restore operation on volume I<name> failed due to tape error
+\& Do you want to continue (y/n)?
+.Ve
+.PP
+where \fIname\fR is the name of the volume that was being restored when the
+tape error occurred. Enter the value \fBy\fR to continue the operation
+without restoring the indicated volume or the value \f(CW\*(C`n\*(C'\fR to terminate the
+operation. In the latter case, the operator can then attempt to determine
+the cause of the tape error.
+.PP
+If the issuer includes the \fB\-n\fR flag with the command, the following
+string appears at the head of the list of the tapes necessary to perform
+the restore operation:
+.PP
+.Vb 1
+\& Tapes needed:
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command restores the volumes for which the \s-1VLDB\s0 lists a
+read/write site on the \fI/vicepd\fR partition of the machine
+\&\f(CW\*(C`fs5.abc.com\*(C'\fR. The Tape Coordinator associated with port offset 3
+performs the operation.
+.PP
+.Vb 1
+\& % backup diskrestore \-server fs5.abc.com \-partition /vicepd \-portoffset 3
+.Ve
+.PP
+The following command restores the volumes for which the \s-1VLDB\s0 lists a
+read/write site on the \fI/vicepb\fR partition of the machine \f(CW\*(C`fs1.abc.com\*(C'\fR
+to a new site: the \fI/vicepa\fR partition on the machine \f(CW\*(C`fs3.abc.com\*(C'\fR. The
+Tape Coordinator associated with port offset 0 performs the
+operation. (The command appears here on two lines only for legibility.)
+.PP
+.Vb 2
+\& % backup diskrestore \-server fs1.abc.com \-partition /vicepb \e
+\& \-newserver fs3.abc.com \-newpartition /vicepa
+.Ve
+.PP
+The following command lists the tapes required to restore the volumes for
+which the \s-1VLDB\s0 lists a read/write site on the \fI/vicepm\fR partition of the
+machine \f(CW\*(C`fs4.abc.com\*(C'\fR:
+.PP
+.Vb 7
+\& % backup diskrestore \-server fs4.abc.com \-partition /vicepm \-n
+\& Tapes needed:
+\& user.sunday1.1
+\& user.sunday1.2
+\& user.monday1.1
+\& user.tuesday1.1
+\& user.wednesday1.1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server or Volume Location (\s-1VL\s0) Server is running,
+and on every file server machine that houses an affected volume. If the
+\&\fB\-localauth\fR flag is included, the issuer must instead be logged on to a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbackup_volsetrestore\fR\|(8),
+\&\fIbutc\fR\|(8),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_examine\fR\|(1),
+\&\fIvos_listvol\fR\|(1),
+\&\fIvos_release\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DUMP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DUMP 8"
++.TH BACKUP_DUMP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_dump \- Creates a dump (dumps a volume set at a particular dump level)
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup dump\fR [\fB\-volumeset\fR\ <\fIvolume\ set\ name\fR>]
+ [\fB\-dump\fR\ <\fIdump\ level\ name\fR>]
+ [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-at\fR\ <\fIdate/time\ to\ start\ dump\fR>+] [\fB\-append\fR] [\fB\-n\fR]
+ [\fB\-file\fR\ <\fIload\ file\fR>] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup dump\fR [\fB\-v\fR\ <\fIvolume\ set\ name\fR>]
+ [\fB\-d\fR\ <\fIdump\ level\ name\fR>]
+ [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-at\fR\ <\fIDate/time\ to\ start\ dump\fR>+] [\fB\-ap\fR] [\fB\-n\fR]
+ [\fB\-f\fR\ <\fIload\ file\fR>] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup dump\fR command either dumps the volume set specified by the
+\&\fB\-volumeset\fR argument at the dump level specified by the \fB\-dump\fR
+argument and creates a Backup Database dump record about it, or executes
+the dump instructions listed in the file named by the \fB\-file\fR
+argument. The Tape Coordinator indicated by the \fB\-portoffset\fR argument
+(or on each command in the file) executes the operation.
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file on the Tape Coordinator machine
+associated with the specified port offset, then the Backup System dumps
+data to the backup data file listed for that port offset in the Tape
+Coordinator's \fI/usr/afs/backup/tapeconfig\fR file, rather than to tape. For
+the sake of clarity, the following text refers to tapes only, but the
+Backup System handles backup data files in much the same way.)
+.PP
+The term \fIdumping\fR refers to copying a collection of data to tape or a
+backup data file, and the resulting collection is termed a \fIdump\fR. The
+set of tapes that contain one or more dumps is called a \fIdump set\fR. The
+first dump in a dump set is its \fIinitial dump\fR, and any dumps
+subsequently added to the dump set (by use of the \fB\-append\fR argument) are
+\&\fIappended dumps\fR. Creating appended dumps is optional, and appended
+dumps can be of different volume sets, and at different dump levels, than
+the initial dump.
+.PP
+A \fIfull dump\fR, created at a full dump level in the dump hierarchy,
+contains all of the data that existed at the time of the dump in the
+volumes belonging to the volume set. An \fIincremental dump\fR, created at an
+incremental dump level, contains only data that has changed since the
+volume set was dumped at the incremental level's \fIparent dump level\fR (the
+dump level immediately above the incremental level in the hierarchy),
+which can be a full or incremental level. More specifically, an
+incremental dump includes only the files and directories that have
+modification timestamps later than the \fIclone date\fR of the volume
+included at the parent dump level. For backup and read-only volumes, the
+clone date is the time at which the volume was cloned from its read/write
+source before being included in the parent dump; for read/write volumes,
+it represents the time at which the volume was locked for inclusion in the
+parent dump. The clone date appears in the \fIclone date\fR field of the
+output from the \fBbackup volinfo\fR command. As an example, an incremental
+dump at the \f(CW\*(C`/full/week1/thursday\*(C'\fR level includes only files and
+directories that have changed since the volume set was dumped at the
+\&\f(CW\*(C`/full/week1\*(C'\fR level.
+.Sh "Initiating different types of dump operations"
+.IX Subsection "Initiating different types of dump operations"
+To initiate a dump operation that is to start as soon as the relevant Tape
+Coordinator is available, provide only the \fB\-volumeset\fR, \fB\-dump\fR,
+\&\fB\-portoffset\fR, and optionally \fB\-append\fR options. To schedule a single
+\&\fBbackup dump\fR command to execute in the future, also include the \fB\-at\fR
+argument to specify the start time.
+.PP
+To append a dump to an existing dump set, include the \fB\-append\fR flag. The
+Backup System imposes the following conditions on appended dumps:
+.IP "\(bu" 4
+If writing to tape, the Tape Coordinator checks that it is the final one
+in a dump set for which there are complete and valid tape and dump records
+in the Backup Database. If not, it rejects the tape and requests an
+acceptable one. The operator can use the \fB\-dbadd\fR argument to the
+\&\fBbackup scantape\fR command to insert the necessary records into the
+database.
+.IP "\(bu" 4
+The most recent dump on the tape or in the backup data file must have
+completed successfully.
+.IP "\(bu" 4
+The dump set must begin with an initial dump that is recorded in the
+Backup Database. If there are no dumps on the tape, then the Backup System
+treats the dump operation as an initial dump and imposes the relevant
+requirements (for example, checks the \s-1AFS\s0 tape name if appropriate).
+.PP
+To schedule multiple dump operations, list the operations in the file
+named by the \fB\-file\fR argument. Optionally include the \fB\-at\fR argument to
+specify when the \fBbackup\fR command interpreter reads the file; otherwise
+it reads it immediately. Do not combine the \fB\-file\fR argument with the
+command's first three arguments or the \fB\-append\fR or \fB\-n\fR flags. The
+commands in the file can include any of the \fBbackup dump\fR command's
+arguments, including the \fB\-at\fR argument to schedule them to run even
+later in the future.
+.PP
+To generate a list of the volumes included in a dump, without actually
+dumping them, combine the \fB\-n\fR flag with the options to be used on the
+actual command.
+.Sh "How the Backup System executes a dump operation"
+.IX Subsection "How the Backup System executes a dump operation"
+Before beginning a dump operation, the Backup System verifies that there
+is a Backup Database entry for the volume set, dump level, and port
+offset. If the command is correctly formed and issued in interactive mode,
+it is assigned a job number and added to the jobs list. List jobs in
+interactive mode by using the \fBbackup jobs\fR command; terminate them with
+the \fBbackup kill\fR command.
+.PP
+After obtaining the list of volumes to dump from the Volume Location (\s-1VL\s0)
+Server, the Backup System sorts the list by site (server and
+partition). It groups volumes from the same site together in the dump to
+minimize the number of times the operator must change tapes during restore
+operations.
+.PP
+The dependence of an incremental dump on its parent means that a valid
+parent dump must already exist for the Backup System to create its child
+incremental dump. If the Backup System does not find a record of a dump
+created at the immediate parent dump level, it looks in the Backup
+Database for a dump created at one level higher in the hierarchy, and so
+on, up to the full dump level if necessary. It creates an incremental dump
+at the level one below the lowest valid parent dump set that it finds. If
+it fails to find even a full dump, it dumps the volume set at the full
+dump level.
+.PP
+If the Backup System is unable to access a volume during a dump operation,
+it skips the volume and dumps the remaining volumes from the volume
+set. Possible reasons a volume is inaccessible include server machine or
+process outages, or that the volume was moved between the time the Volume
+Location (\s-1VL\s0) Server generated the list of sites for the volume in the
+volume set and the time the Backup System actually attempts to dump the
+data in it. After the first dumping pass, the Backup System attempts to
+dump each volume it skipped. If it still cannot dump a volume and the
+\&\f(CW\*(C`ASK NO\*(C'\fR instruction does not appear in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file,
+it queries the operator as to whether it needs to attempt to dump the
+volume again, omit the volume from the dump, or halt the dump operation
+altogether. When prompted, the operator can attempt to solve whatever
+problem prevented the Backup System from accessing the volumes. If the
+\&\f(CW\*(C`ASK NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file, the
+Backup System omits the volume from the dump.
+.PP
+Before scheduling a dump operation, the Backup System verifies that the
+date specified by the \fB\-at\fR argument is in the future, and checks the
+validity of the volume set, dump level and port offset as for a regular
+dump operation. It checks the validity of the parameters again just before
+actually running the scheduled operation.
+.PP
+Before writing an initial dump to a tape that does not have a permanent
+name on the label, the Backup System checks that the \s-1AFS\s0 tape name on the
+label is acceptable. If desired, disable name checking by including the
+\&\f(CW\*(C`NAME_CHECK NO\*(C'\fR instruction in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file.
+.PP
+If \s-1AFS\s0 tape name checking is enabled, the Backup System accepts the
+following three types of values for the \s-1AFS\s0 tape name. If the name on the
+label does not conform, the Backup System obtains a tape with an
+acceptable label by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the
+\&\fI\s-1CFG_\s0\fIdevice_name\fI\fR file or prompting the operator.
+.IP "\(bu" 4
+A name of the form \fIvolume_set_name.dump_level_name.tape_index\fR, where
+\&\fIvolume_set_name\fR matches the value of the \fB\-volumeset\fR argument,
+\&\fIdump_level_name\fR matches the last element in the pathname value of the
+\&\fB\-dump\fR argument, and \fItape_index\fR reflects the tape's place in a
+multitape dump set. As an example, the first tape in a dump set for which
+the initial dump is of volume set \f(CW\*(C`user\*(C'\fR at the dump level
+\&\f(CW\*(C`/sunday2/monday\*(C'\fR has \s-1AFS\s0 tape name \f(CW\*(C`user.monday.1\*(C'\fR. If the label
+records this type of \s-1AFS\s0 tape name, the Backup System retains the \s-1AFS\s0 tape
+name and writes the dump to the tape.
+.IP "\(bu" 4
+The string \f(CW\*(C`<NULL>\*(C'\fR, which usually indicates that a backup operator
+has used the \fBbackup labeltape\fR command to write a label on the tape, but
+did not include the \fB\-name\fR argument to assign an \s-1AFS\s0 tape
+name. Presumably, the operator did include the \fB\-pname\fR argument to
+assign a permanent name. If the label records a \f(CW\*(C`<NULL>\*(C'\fR value, the
+Backup System constructs and records on the label the appropriate \s-1AFS\s0 tape
+name, and writes the dump on the tape.
+.IP "\(bu" 4
+No value at all, because the tape has never been labeled or used in the
+Backup System. As when the \s-1AFS\s0 tape name is \f(CW\*(C`<NULL>\*(C'\fR, the Backup
+System constructs and records on the label the appropriate \s-1AFS\s0 tape name,
+and writes the dump on the tape.
+.PP
+To determine how much data it can write to a tape, the Tape Coordinator
+reads the capacity recorded on the tape's label (placed there by including
+the \fB\-size\fR argument to the \fBbackup labeltape\fR command). If the label's
+capacity field is empty, the Tape Coordinator uses the capacity recorded
+for the specified port offset in the local \fItapeconfig\fR file. If the
+capacity field in the \fItapeconfig\fR file is also empty, the Tape
+Coordinator uses the maximum capacity of 2 \s-1TB\s0.
+.PP
+During a dump operation, the Tape Coordinator tracks how much data it has
+written and stops shortly before it reaches what it believes is the tape's
+capacity. If it is in the middle of writing the data for a volume when it
+reaches that point, it writes a special marker that indicates an
+interrupted volume and continues writing the volume on the next tape. It
+can split a volume this way during both an initial and an appended dump,
+and the fact that the volume resides on multiple tapes is automatically
+recorded in the Backup Database.
+.PP
+If the tape is actually larger than the expected capacity, then the Tape
+Coordinator simply does not use the excess tape. If the tape is smaller
+than the expected capacity, the Tape Coordinator can reach the end-of-tape
+(\s-1EOT\s0) unexpectedly while it is writing data. If the Tape Coordinator is in
+the middle of the writing data from a volume, it obtains a new tape and
+rewrites the entire contents of the interrupted volume to it. The data
+from the volume that was written to the previous tape remains there, but
+is never used.
+.PP
+The Backup System allows recycling of tapes (writing a new dump set over
+an old dump set that is no longer needed), but imposes the following
+conditions:
+.IP "\(bu" 4
+All dumps in the old dump set must be expired. The Backup System always
+checks expiration dates, even when name checking is disabled.
+.IP "\(bu" 4
+If the tape to be recycled does not have a permanent name and name
+checking is enabled, then the \s-1AFS\s0 tape name derived from the new initial
+dump's volume set name and dump level name must match the \s-1AFS\s0 tape name
+already recorded on the label.
+.IP "\(bu" 4
+The tape cannot already have data on it that belongs to the dump currently
+being performed, because that implies that the operator or automated tape
+device has not removed the previous tape from the drive, or has mistakenly
+reinserted it. The Tape Coordinator generates the following message and
+attempts to obtain another tape:
+.Sp
+.Vb 1
+\& Can\*(Aqt overwrite tape containing the dump in progress
+.Ve
+.IP "\(bu" 4
+The tape cannot contain data from a parent dump of the current
+(incremental) dump, because overwriting a parent dump makes it impossible
+to restore data from the current dump. The Tape Coordinator generates the
+following message and attempts to obtain another tape:
+.Sp
+.Vb 1
+\& Can\*(Aqt overwrite the parent dump I<parent_name> (I<parent_dump_ID>)
+.Ve
+.PP
+To recycle a tape before all dumps on it have expired or if the \s-1AFS\s0 tape
+name is wrong, use the \fBbackup labeltape\fR command to overwrite the tape's
+label and remove all associated tape and dump records from the Backup
+Database.
+.PP
+The Tape Coordinator's default response to this command is to access the
+first tape by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the
+\&\fI\s-1CFG_\s0\fIdevice_name\fI\fR file, or by prompting the backup operator to insert
+the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However, if the \f(CW\*(C`AUTOQUERY
+NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file, or if the
+issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR flag, the Tape
+Coordinator instead expects the tape to be in the device already. If it is
+not, the Tape Coordinator invokes the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts the
+operator. It also invokes the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts for any
+additional tapes needed to complete the dump operation; the issuer must
+arrange to provide them.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If a dump operation is interrupted or fails for any reason, data from all
+volumes written to tape before the interrupt are valid can be used in a
+restore operation. The Backup Database includes an entry for the failed
+dump and for each volume that was successfully dumped. See the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR for information on dealing with interrupted dumps.
+.PP
+If dumping to tape rather than a backup data file, it is best to use only
+compatible tape devices (ones that can read the same type of tape). Using
+compatible devices greatly simplifies restore operations. The
+\&\fB\-portoffset\fR argument to the \fBbackup diskrestore\fR and \fBbackup
+volsetrestore\fR commands accepts multiple port offset numbers, but the
+Backup System uses the first listed port offset when restoring all full
+dumps, the second port offset when restoring all level 1 dumps, and so
+on. At the very least, use compatible tape devices to perform dumps at
+each level. If compatible tape devices are not used, the \fBbackup
+volrestore\fR command must be used to restore one volume at a time.
+.PP
+Valid (unexpired) administrative tokens must be available to the \fBbackup\fR
+command interpreter both when it reads the file named by the \fB\-file\fR
+argument and when it runs each operation listed in the file. Presumably,
+the issuer is scheduling dumps for times when no human operator is
+present, and so must arrange for valid tokens to be available on the local
+machine. One option is to issue all commands (or run all scripts) on file
+server machines and use the \fB\-localauth\fR flag on the \fBbackup\fR and \fBvos\fR
+commands. To protect against improper access to the machine or the tokens,
+the machine must be physically secure (perhaps even more protected than a
+Tape Coordinator machine monitored by a human operator during
+operation). Also, if an unattended dump requires multiple tapes, the
+operator must properly configure a tape stacker or jukebox and the device
+configuration file.
+.PP
+When the command is issued in regular (non-interactive) mode, the command
+shell prompt does not return until the dump operation completes. To avoid
+having to open additional connections, issue the command in interactive
+mode, especially when including the \fB\-at\fR argument to schedule dump
+operations.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-volumeset\fR <\fIvolume set name\fR>" 4
+.IX Item "-volumeset <volume set name>"
+Names the volume set to dump. The \fB\-dump\fR argument must be provided along
+with this one; do not combine them with the \fB\-file\fR argument. If using a
+temporary volume set, the \fBvos dump\fR command must be issued within the
+interactive session in which the \fBbackup addvolset\fR command was issued
+with the \fB\-temporary\fR flag.
+.IP "\fB\-dump\fR <\fIdump level name\fR>" 4
+.IX Item "-dump <dump level name>"
+Specifies the complete pathname of the dump level at which to dump the
+volume set. The \fB\-volumeset\fR argument must be provided along with this
+one; do not combine them with the \fB\-file\fR argument.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator handling the
+tapes for this operation. It must be provided unless the default value of
+0 (zero) is appropriate; do not combine it with the \fB\-file\fR argument.
+.IP "\fB\-at\fR <\fIdate/time to start dump\fR>" 4
+.IX Item "-at <date/time to start dump>"
+Specifies the date and time in the future at which to run the command, or
+to read the file named by the \fB\-file\fR argument. Provide a value in the
+format \fImm/dd/yyyy\fR [\fIhh:MM\fR], where the month (\fImm\fR), day (\fIdd\fR), and
+year (\fIyyyy\fR) are required. Valid values for the year range from \f(CW1970\fR
+to \f(CW2037\fR; higher values are not valid because the latest possible date
+in the standard \s-1UNIX\s0 representation is in February 2038. The Backup System
+automatically reduces any later date to the maximum value.
+.Sp
+The hour and minutes (\fIhh:MM\fR) are optional, but if provided must be in
+24\-hour format (for example, the value \f(CW\*(C`14:36\*(C'\fR represents 2:36 p.m.). If
+omitted, the time defaults to midnight (00:00 hours).
+.Sp
+As an example, the value 04/23/1999 20:20 schedules the command for 8:20
+p.m. on 23 April 1999.
+.IP "\fB\-append\fR" 4
+.IX Item "-append"
+Appends the dump onto the end of a tape that already contains data from
+another dump. However, if the tape is not in fact part of an existing dump
+set, the Backup System creates a new dump set using the parameters of this
+dump. If the tape is not the last tape in the dump set, the Tape
+Coordinator prompts for insertion of the appropriate tape. Do not combine
+this argument with the \fB\-file\fR argument.
+.IP "\fB\-n\fR" 4
+.IX Item "-n"
+Displays the names of volumes to be included in the indicated dump,
+without actually performing the dump operation. Do not combine this
+argument with the \fB\-file\fR argument.
+.IP "\fB\-file\fR <\fIload file\fR>" 4
+.IX Item "-file <load file>"
+Specifies the local disk or \s-1AFS\s0 pathname of a file containing \fBbackup\fR
+commands. The Backup System reads the file immediately, or at the time
+specified by the \fB\-at\fR argument if it is provided. A partial pathname is
+interpreted relative to the current working directory.
+.Sp
+Place each \fBbackup dump\fR command on its own line in the indicated file,
+using the same syntax as for the command line, but without the word
+\&\fBbackup\fR at the start of the line. Each command must include a value for
+the \fB\-volumeset\fR and \fB\-dump\fR arguments, and for the \fB\-portoffset\fR
+argument unless the default value of 0 is appropriate. Commands in the
+file can also include any of the \fBbackup dump\fR command's optional
+options. In the following example file, the first command runs as soon as
+the Backup System reads the file, whereas the other commands are
+themselves scheduled; the specified date and time must be later than the
+date and time at which the Backup System reads the file.
+.Sp
+.Vb 3
+\& dump user /sunday1/wednesday \-port 1
+\& dump sun4x_56 /sunday1/friday \-port 2 \-at 04/08/1999
+\& dump sun4x_55 /sunday1/friday \-port 2 \-at 04/08/1999 02:00 \-append
+.Ve
+.Sp
+Do not combine this argument with the \fB\-volumeset\fR, \fB\-dump\fR,
+\&\fB\-portoffset\fR, \fB\-append\fR, or \fB\-n\fR options.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command interpreter first generates a list of the volumes to be
+included in the dump by matching the entries in the volume set against the
+volumes listed in the Volume Location Database (\s-1VLDB\s0). It prints the list
+following the header:
+.PP
+.Vb 1
+\& Preparing to dump the following volumes:
+.Ve
+.PP
+The following message then indicates that the command interpreter has
+passed the dump request to the appropriate Tape Coordinator for
+processing:
+.PP
+.Vb 1
+\& Starting dump.
+.Ve
+.PP
+If the issuer includes the \fB\-n\fR flag, the output is of the following
+form:
+.PP
+.Vb 4
+\& Starting dump of volume set \*(Aq<volume set>\*(Aq (dump set \*(Aq<dump level>\*(Aq)
+\& Total number of volumes : <number dumped>
+\& Would have dumped the following volumes:
+\& <list_of_volumes>
+.Ve
+.PP
+where \fIlist_of_volumes\fR identifies each volume by name and volume \s-1ID\s0
+number.
+.PP
+If the Tape Coordinator is unable to access a volume, it prints an error
+message in its window and records the error in its log and error files.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command dumps the volumes in the volume set called \f(CW\*(C`user\*(C'\fR
+at the dump level \f(CW\*(C`/full/sunday2/monday\*(C'\fR. The issuer places the necessary
+tapes in the device with port offset 5.
+.PP
+.Vb 8
+\& % backup dump \-volumeset user \-dump /full/sunday2/monday \-portoffset 5
+\& Preparing to dump the following volumes:
+\& user.jones.backup 387623900
+\& user.pat.backup 486219245
+\& user.smith.backup 597315841
+\& . .
+\& . .
+\& Starting dump.
+.Ve
+.PP
+The following command displays the list of volumes to be dumped when the
+user dumps the \f(CW\*(C`sys_sun\*(C'\fR volume set at the \f(CW\*(C`/full\*(C'\fR dump level.
+.PP
+.Vb 11
+\& % backup dump \-volumeset sys_sun \-dump /full \-n
+\& Starting dump of volume set \*(Aqsys_sun\*(Aq (dump set \*(Aq/full\*(Aq)
+\& Total number of volumes: 24
+\& Would have dumped the following volumes:
+\& sun4x_56 124857238
+\& sun4x_56.bin 124857241
+\& . .
+\& . .
+\& sun4x_55 124857997
+\& . .
+\& . .
+.Ve
+.PP
+The following command schedules a dump of the volumes in the volume set
+\&\f(CW\*(C`user\*(C'\fR at the dump level \f(CW\*(C`/sunday2/monday1\*(C'\fR for 11:00 p.m. on 14 June
+1999. The appropriate Tape Coordinator has port offset 0 (zero), so that
+argument is omitted.
+.PP
+.Vb 1
+\& % backup dump \-volumeset user \-dump /sunday2/monday1 \-at 06/14/1999 23:00
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server or Volume Location (\s-1VL\s0) Server is running,
+and on every file server machine that houses an affected volume. If the
+\&\fB\-localauth\fR flag is included, the issuer must instead be logged on to a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_adddump\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_labeltape\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_DUMPINFO 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_DUMPINFO 8"
++.TH BACKUP_DUMPINFO 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_dumpinfo \- Displays a dump record from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup dumpinfo\fR [\fB\-ndumps\fR\ <\fInumber\ of\ dumps\fR>]
+ [\fB\-id\fR\ <\fIdump\ id\fR>] [\fB\-verbose\fR] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup dumpi\fR [\fB\-n\fR\ <\fIno.\ of\ dumps\fR>] [\-i <\fIdump id\fR>] [\fB\-v\fR]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup dumpinfo\fR command formats and displays the Backup Database
+record for the specified dumps. To specify how many of the most recent
+dumps to display, starting with the newest one and going back in time, use
+the \fB\-ndumps\fR argument. To display more detailed information about a
+single dump, use the \fB\-id\fR argument. To display the records for the 10
+most recent dumps, omit both the \fB\-ndumps\fR and \fB\-id\fR arguments.
+.PP
+The \fB\-verbose\fR flag produces very detailed information that is useful
+mostly for debugging purposes. It can be combined only with the \fB\-id\fR
+argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-ndumps\fR <\fInumber of dumps\fR>" 4
+.IX Item "-ndumps <number of dumps>"
+Displays the Backup Database record for each of the specified number of
+dumps that were most recently performed. If the database contains fewer
+dumps than are requested, the output includes the records for all existing
+dumps. Do not combine this argument with the \fB\-id\fR or \fB\-verbose\fR
+options; omit all options to display the records for the last 10 dumps.
+.IP "\fB\-id\fR <\fIdump id\fR>" 4
+.IX Item "-id <dump id>"
+Specifies the dump \s-1ID\s0 number of a single dump for which to display the
+Backup Database record. Precede the \fIdump id\fR value with the \fB\-id\fR
+switch; otherwise, the command interpreter interprets it as the value of
+the \fB\-ndumps\fR argument. Combine this argument with the \fB\-verbose\fR flag,
+but not with the \fB\-ndumps\fR argument; omit all options to display the
+records for the last 10 dumps.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Provides more detailed information about the dump specified with the
+\&\fB\-id\fR argument, which must be provided along with it. Do not combine this
+flag with the \fB\-ndumps\fR argument.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the \fB\-ndumps\fR argument is provided, the output presents the following
+information in table form, with a separate line for each dump:
+.IP "dumpid" 4
+.IX Item "dumpid"
+The dump \s-1ID\s0 number.
+.IP "parentid" 4
+.IX Item "parentid"
+The dump \s-1ID\s0 number of the dump's parent dump. A value of \f(CW0\fR (zero)
+identifies a full dump.
+.IP "lv" 4
+.IX Item "lv"
+The depth in the dump hierarchy of the dump level used to create the
+dump. A value of \f(CW0\fR (zero) identifies a full dump, in which case the
+value in the \f(CW\*(C`parentid\*(C'\fR field is also \f(CW0\fR. A value of \f(CW1\fR or greater
+indicates an incremental dump made at the corresponding level in the dump
+hierarchy.
+.IP "created" 4
+.IX Item "created"
+The date and time at which the Backup System started the dump operation
+that created the dump.
+.IP "nt" 4
+.IX Item "nt"
+The number of tapes that contain the data in the dump. A value of \f(CW0\fR
+(zero) indicates that the dump operation was terminated or failed. Use the
+\&\fBbackup deletedump\fR command to remove such entries.
+.IP "nvols" 4
+.IX Item "nvols"
+The number of volumes from which the dump includes data. If a volume spans
+tapes, it is counted twice. A value of \f(CW0\fR (zero) indicates that the dump
+operation was terminated or failed; the value in the \f(CW\*(C`nt\*(C'\fR field is also
+\&\f(CW0\fR in this case.
+.IP "dump name" 4
+.IX Item "dump name"
+The dump name in the form
+.Sp
+.Vb 1
+\& <volume_set_name>.<dump_level_name> (<initial_dump_ID>)
+.Ve
+.Sp
+where <volume_set_name> is the name of the volume set, and
+<dump_level_name> is the last element in the dump level pathname at which
+the volume set was dumped.
+.Sp
+The <initial_dump_ID>, if displayed, is the dump \s-1ID\s0 of the initial dump in
+the dump set to which this dump belongs. If there is no value in
+parentheses, the dump is the initial dump in a dump set that has no
+appended dumps.
+.PP
+If the \fB\-id\fR argument is provided alone, the first line of output begins
+with the string \f(CW\*(C`Dump\*(C'\fR and reports information for the entire dump in the
+following fields:
+.IP "id" 4
+.IX Item "id"
+The dump \s-1ID\s0 number.
+.IP "level" 4
+.IX Item "level"
+The depth in the dump hierarchy of the dump level used to create the
+dump. A value of \f(CW0\fR (zero) identifies a full dump. A value of \f(CW1\fR (one)
+or greater indicates an incremental dump made at the specified level in
+the dump hierarchy.
+.IP "volumes" 4
+.IX Item "volumes"
+The number of volumes for which the dump includes data.
+.IP "created" 4
+.IX Item "created"
+The date and time at which the dump operation began.
+.PP
+If an \s-1XBSA\s0 server was the backup medium for the dump (rather than a tape
+device or backup data file), the following line appears next:
+.PP
+.Vb 1
+\& Backup Service: <XBSA_program>: Server: <hostname>
+.Ve
+.PP
+where <XBSA_program> is the name of the XBSA-compliant program and
+<hostname> is the name of the machine on which the program runs.
+.PP
+Next the output includes an entry for each tape that houses volume data
+from the dump. Following the string \f(CW\*(C`Tape\*(C'\fR, the first two lines of each
+entry report information about that tape in the following fields:
+.IP "name" 4
+.IX Item "name"
+The tape's permanent name if it has one, or its \s-1AFS\s0 tape name otherwise,
+and its tape \s-1ID\s0 number in parentheses.
+.IP "nVolumes" 4
+.IX Item "nVolumes"
+The number of volumes for which this tape includes dump data.
+.IP "created" 4
+.IX Item "created"
+The date and time at which the Tape Coordinator began writing data to this
+tape.
+.PP
+Following another blank line, the tape-specific information concludes with
+a table that includes a line for each volume dump on the tape. The
+information appears in columns with the following headings:
+.IP "Pos" 4
+.IX Item "Pos"
+The relative position of each volume in this tape or file. On a tape, the
+counter begins at position 2 (the tape label occupies position 1), and
+increments by one for each volume. For volumes in a backup data file, the
+position numbers start with 1 and do not usually increment only by one,
+because each is the ordinal of the 16 \s-1KB\s0 offset in the file at which the
+volume's data begins. The difference between the position numbers
+therefore indicates how many 16 \s-1KB\s0 blocks each volume's data occupies. For
+example, if the second volume is at position 5 and the third volume in the
+list is at position 9, that means that the dump of the second volume
+occupies 64 \s-1KB\s0 (four 16\-KB blocks) of space in the file.
+.IP "Clone time" 4
+.IX Item "Clone time"
+For a backup or read-only volume, the time at which it was cloned from its
+read/write source. For a Read/Write volume, it is the same as the dump
+creation date reported on the first line of the output.
+.IP "Nbytes" 4
+.IX Item "Nbytes"
+The number of bytes of data in the dump of the volume.
+.IP "Volume" 4
+.IX Item "Volume"
+The volume name, complete with \f(CW\*(C`.backup\*(C'\fR or \f(CW\*(C`.readonly\*(C'\fR extension if
+appropriate.
+.PP
+If both the \fB\-id\fR and \fB\-verbose\fR options are provided, the output is
+divided into several sections:
+.IP "\(bu" 4
+The first section, headed by the underlined string \f(CW\*(C`Dump\*(C'\fR, includes
+information about the entire dump. The fields labeled \f(CW\*(C`id\*(C'\fR, \f(CW\*(C`level\*(C'\fR,
+\&\f(CW\*(C`created\*(C'\fR, and \f(CW\*(C`nVolumes\*(C'\fR report the same values (though in a different
+order) as appear on the first line of output when the \fB\-id\fR argument is
+provided by itself. Other fields of potential interest to the backup
+operator are:
+.RS 4
+.IP "Group id" 4
+.IX Item "Group id"
+The dump's \fIgroup \s-1ID\s0 number\fR, which is recorded in the dump's Backup
+Database record if the \f(CW\*(C`GROUPID\*(C'\fR instruction appears in the Tape
+Coordinator's \fI/usr/afs/backup/CFG_\fItcid\fI\fR file when the dump is
+created.
+.IP "maxTapes" 4
+.IX Item "maxTapes"
+The number of tapes that contain the dump set to which this dump belongs.
+.IP "Start Tape Seq" 4
+.IX Item "Start Tape Seq"
+The ordinal of the tape on which this dump begins in the set of tapes that
+contain the dump set.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+For each tape that contains data from this dump, there follows a section
+headed by the underlined string \f(CW\*(C`Tape\*(C'\fR. The fields labeled \f(CW\*(C`name\*(C'\fR,
+\&\f(CW\*(C`written\*(C'\fR, and \f(CW\*(C`nVolumes\*(C'\fR report the same values (though in a different
+order) as appear on the second and third lines of output when the \fB\-id\fR
+argument is provided by itself. Other fields of potential interest to the
+backup operator are:
+.RS 4
+.IP "expires" 4
+.IX Item "expires"
+The date and time when this tape can be recycled, because all dumps it
+contains have expired.
+.IP "nMBytes Data and nBytes Data" 4
+.IX Item "nMBytes Data and nBytes Data"
+Summed together, these fields represent the total amount of dumped data
+actually from volumes (as opposed to labels, filemarks, and other
+markers).
+.IP "KBytes Tape Used" 4
+.IX Item "KBytes Tape Used"
+The number of kilobytes of tape (or disk space, for a backup data file)
+used to store the dump data. It is generally larger than the sum of the
+values in the \f(CW\*(C`nMBytes Data\*(C'\fR and \f(CW\*(C`nBytes Data\*(C'\fR fields, because it
+includes the space required for the label, file marks and other markers,
+and because the Backup System writes data at 16 \s-1KB\s0 offsets, even if the
+data in a given block doesn't fill the entire 16 \s-1KB\s0.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+For each volume on a given tape, there follows a section headed by the
+underlined string \f(CW\*(C`Volume\*(C'\fR. The fields labeled \f(CW\*(C`name\*(C'\fR, \f(CW\*(C`position\*(C'\fR,
+\&\f(CW\*(C`clone\*(C'\fR, and \f(CW\*(C`nBytes\*(C'\fR report the same values (though in a different
+order) as appear in the table that lists the volumes in each tape when the
+\&\fB\-id\fR argument is provided by itself. Other fields of potential interest
+to the backup operator are:
+.RS 4
+.IP "id" 4
+.IX Item "id"
+The volume \s-1ID\s0.
+.IP "tape" 4
+.IX Item "tape"
+The name of the tape containing this volume data.
+.RE
+.RS 4
+.RE
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays information about the last five dumps:
+.PP
+.Vb 7
+\& % backup dumpinfo \-ndumps 5
+\& dumpid parentid lv created nt nvols dump name
+\& 924424000 0 0 04/18/1999 04:26 1 22 usr.sun (924424000)
+\& 924685000 924424000 1 04/21/1999 04:56 1 62 usr.wed (924424000)
+\& 924773000 924424000 1 04/22/1999 05:23 1 46 usr.thu (924424000)
+\& 924860000 924424000 1 04/23/1999 05:33 1 58 usr.fri (924424000)
+\& 925033000 0 0 04/25/1999 05:36 2 73 sys.week
+.Ve
+.PP
+The following example displays a more detailed record for a single dump.
+.PP
+.Vb 6
+\& % backup dumpinfo \-id 922097346
+\& Dump: id 922097346, level 0, volumes 1, created Mon Mar 22 05:09:06 1999
+\& Tape: name monday.user.backup (922097346)
+\& nVolumes 1, created 03/22/1999 05:09
+\& Pos Clone time Nbytes Volume
+\& 1 03/22/1999 04:43 27787914 user.pat.backup
+.Ve
+.PP
+The following example displays even more detailed information about the
+dump displayed in the previous example (dump \s-1ID\s0 922097346). This example
+includes only one exemplar of each type of section (\f(CW\*(C`Dump\*(C'\fR, \f(CW\*(C`Tape\*(C'\fR, and
+\&\f(CW\*(C`Volume\*(C'\fR):
+.PP
+.Vb 10
+\& % backup dumpinfo \-id 922097346 \-verbose
+\& Dump
+\& \-\-\-\-
+\& id = 922097346
+\& Initial id = 0
+\& Appended id = 922099568
+\& parent = 0
+\& level = 0
+\& flags = 0x0
+\& volumeSet = user
+\& dump path = /monday1
+\& name = user.monday1
+\& created = Mon Mar 22 05:09:06 1999
+\& nVolumes = 1
+\& id = 0
+\& tapeServer =
+\& format= user.monday1.%d
+\& maxTapes = 1
+\& Start Tape Seq = 1
+\& name = pat
+\& instance =
+\& cell =
+\& Tape
+\& \-\-\-\-
+\& tape name = monday.user.backup
+\& AFS tape name = user.monday1.1
+\& flags = 0x20
+\& written = Mon Mar 22 05:09:06 1999
+\& expires = NEVER
+\& kBytes Tape Used = 121
+\& nMBytes Data = 0
+\& nBytes Data = 19092
+\& nFiles = 0
+\& nVolumes = 1
+\& seq = 1
+\& tapeid = 0
+\& useCount = 1
+\& dump = 922097346
+\& Volume
+\& \-\-\-\-\-\-
+\& name = user.pat.backup
+\& flags = 0x18
+\& id = 536871640
+\& server =
+\& partition = 0
+\& nFrags = 1
+\& position = 2
+\& clone = Mon Mar 22 04:43:06 1999
+\& startByte = 0
+\& nBytes = 19092
+\& seq = 0
+\& dump = 922097346
+\& tape = user.monday1.1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_deletedump\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_HELP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_HELP 8"
++.TH BACKUP_HELP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_help \- Displays help for backup commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBbackup h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup help\fR command displays the complete online help entry (short
+description and syntax statement) for each operation code specified by the
+\&\fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted, the output
+includes the first line (name and short description) of the online help
+entry for every \fBbackup\fR command.
+.PP
+To list every backup command whose name or short description includes a
+specified keyword, use the \fBbackup apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBbackup\fR part of the command name, providing only the
+operation code (for example, specify \fBdump\fR, not \fBbackup dump\fR). If this
+argument is omitted, the output briefly describes every \fBbackup\fR command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each backup command consists of the following
+two or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the online help entry for the \fBbackup
+dump\fR command:
+.PP
+.Vb 5
+\& % backup help dump
+\& backup dump: start dump
+\& Usage: backup dump \-volumeset <volume set name> \-dump <dump level name>
+\& [\-portoffset <TC port offset>] [\-at <Date/time to start dump>+]
+\& [\-append] [\-n] [\-file <load file>] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_apropos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_INTERACTIVE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_INTERACTIVE 8"
++.TH BACKUP_INTERACTIVE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_interactive \- Enters interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup\fR [\fBinteractive\fR] [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-help\fR]
+.PP
+\&\fBbackup\fR [\fBi\fR] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup interactive\fR initiates an interactive session for issuing
+\&\fBbackup\fR commands. As indicated in the syntax statement, the operation
+code (\fBinteractive\fR) is optional.
+.PP
+Several features of interactive mode distinguish it from regular mode:
+.IP "\(bu" 4
+In interactive mode, the \f(CW\*(C`backup\*(C'\fR> prompt replaces the system (shell)
+prompt. The operator enters only a command's operation code (omitting the
+command suite name, \fBbackup\fR).
+.IP "\(bu" 4
+If the \fB\-localauth\fR flag or the \fB\-cell\fR argument is included on the
+\&\fBbackup interactive\fR command, the settings apply to all commands issued
+during that interactive session. The issuer does not need to type them on
+every command. Another consequence is that the flag and argument do not
+appear in the syntax statement generated by the \fBhelp\fR subcommand or
+\&\fB\-help\fR flag on an individual command issued at the \f(CW\*(C`backup\*(C'\fR> prompt.
+.IP "\(bu" 4
+The \fBbackup jobs\fR and \fBbackup kill\fR commands are available only in
+interactive mode. It is not possible to track and terminate backup
+operations as cleanly in non-interactive mode.
+.IP "\(bu" 4
+It is not necessary to enclose strings that include metacharacters in
+double quotes or other delimiters.
+.IP "\(bu" 4
+The backup command interpreter establishes a connection to the Backup
+Server, Volume Server and Volume Location (\s-1VL\s0) Server processes as it
+enters interactive mode, and uses the same connection for all commands
+during the session. Execution time can therefore be faster than in
+non-interactive mode, in which the command interpreter must establish a
+new connection for each command.
+.PP
+To exit an interactive session, issue the \fBbackup quit\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows how the \fB\-localauth\fR flag and \fB\-cell\fR
+argument do not appear when the \fBhelp dump\fR subcommand is issued in
+interactive mode.
+.PP
+.Vb 6
+\& % backup
+\& backup> help dump
+\& dump: start dump
+\& Usage: dump [\-volumeset <volume set name>] [\-dump <dump level name>]
+\& [\-portoffset <TC port offset>] [\-at <Date/time to start dump>+]
+\& [\-append ] [\-n ] [\-file <load file>] [\-help ]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None. However, \fBbackup\fR commands that require privilege in regular mode
+still require it in interactive mode.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_jobs\fR\|(8),
+\&\fIbackup_kill\fR\|(8),
+\&\fIbackup_quit\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_JOBS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_JOBS 8"
++.TH BACKUP_JOBS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_jobs \- Lists pending and running operations in interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBjobs\fR [\fB\-help\fR]
+.PP
+\&\fBj\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup jobs\fR command lists the job \s-1ID\s0 number and status of each
+\&\fBbackup\fR operation running or pending in the current interactive session.
+.PP
+This command can be issued in interactive mode only. If the issuer of the
+\&\fBbackup interactive\fR command included the \fB\-localauth\fR flag, the
+\&\fB\-cell\fR argument, or both, those settings apply to this command also.
+.PP
+To terminate operations that appear in the output, issue the \fBbackup
+kill\fR command and identify the operation to cancel with the job \s-1ID\s0 number
+from this command's output.
+.PP
+To check the status of a Tape Coordinator, rather than of a certain
+operation, use the \fBbackup status\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output always includes the expiration date and time of the tokens that
+the \fBbackup\fR command interpreter is using during the current interactive
+session, in the following format:
+.PP
+.Vb 1
+\& <date> <time>: TOKEN EXPIRATION
+.Ve
+.PP
+If the execution date and time specified for a scheduled dump operation is
+later than <date time>, then its individual line (as described in the
+following paragraphs) appears below this line to indicate that the current
+tokens will not be available to it.
+.PP
+If the issuer of the backup command included the \fB\-localauth\fR flag when
+entering interactive mode, the line instead reads as follows:
+.PP
+.Vb 1
+\& : TOKEN NEVER EXPIRES
+.Ve
+.PP
+The entry for a scheduled dump operation has the following format:
+.PP
+.Vb 1
+\& Job <job_ID>: <timestamp>: dump <volume_set> <dump_level>
+.Ve
+.PP
+where
+.IP "<job_ID>" 4
+.IX Item "<job_ID>"
+Is a job identification number assigned by the Backup System.
+.IP "<timestamp>" 4
+.IX Item "<timestamp>"
+Indicates the date and time the dump operation is to begin, in the format
+\&\fImonth\fR/\fIdate\fR/\fIyear\fR \fIhours\fR:\fIminutes\fR (in 24\-hour format)
+.IP "<volume_set>" 4
+.IX Item "<volume_set>"
+Indicates the volume set to dump.
+.IP "<dump_level>" 4
+.IX Item "<dump_level>"
+Indicates the dump level at which to perform the dump operation.
+.PP
+The line for a pending or running operation of any other type has the
+following format:
+.PP
+.Vb 1
+\& Job <job_ID>: <operation> <status>
+.Ve
+.PP
+where
+.IP "<job_ID>" 4
+.IX Item "<job_ID>"
+Is a job identification number assigned by the Backup System.
+.IP "<operation>" 4
+.IX Item "<operation>"
+Identifies the operation the Tape Coordinator is performing, which is
+initiated by the indicated command:
+.RS 4
+.IP "Dump (\fIdump name\fR)" 4
+.IX Item "Dump (dump name)"
+Initiated by the backup dump command. The \fIdump name\fR has the following
+format:
+.Sp
+.Vb 1
+\& <volume_set_name>.<dump_level_name>
+.Ve
+.IP "Restore" 4
+.IX Item "Restore"
+Initiated by the \fBbackup diskrestore\fR, \fBbackup volrestore\fR, or \fBbackup
+volsetrestore\fR command.
+.IP "Labeltape (\fItape_label\fR)" 4
+.IX Item "Labeltape (tape_label)"
+Initiated by the \fBbackup labeltape\fRn command. The \fItape_label\fR is the
+name specified by the \fBbackup labeltape\fR command's \fB\-name\fR or \fB\-pname\fR
+argument.
+.IP "Scantape" 4
+.IX Item "Scantape"
+Initiated by the \fBbackup scantape\fR command.
+.IP "SaveDb" 4
+.IX Item "SaveDb"
+Initiated by the \fBbackup savedb\fR command.
+.IP "RestoreDb" 4
+.IX Item "RestoreDb"
+Initiated by the \fBbackup restoredb\fR command.
+.RE
+.RS 4
+.RE
+.IP "<status>" 4
+.IX Item "<status>"
+Indicates the job's current status in one of the following messages. If no
+message appears, the job is either still pending or has finished.
+.RS 4
+.IP "\fInumber\fR Kbytes, volume \fIvolume_name\fR" 4
+.IX Item "number Kbytes, volume volume_name"
+For a running dump operation, indicates the number of kilobytes copied to
+tape or a backup data file so far, and the volume currently being dumped.
+.IP "\fInumber\fR Kbytes, restore.volume" 4
+.IX Item "number Kbytes, restore.volume"
+For a running restore operation, indicates the number of kilobytes copied
+into \s-1AFS\s0 from a tape or a backup data file so far.
+.IP "[abort requested]" 4
+.IX Item "[abort requested]"
+The \fBbackup kill\fR command was issued, but the termination signal has yet
+to reach the Tape Coordinator.
+.IP "[abort sent]" 4
+.IX Item "[abort sent]"
+The operation is canceled by the \fBbackup kill\fR command. Once the Backup
+System removes an operation from the queue or stops it from running, it no
+longer appears at all in the output from the command.
+.IP "[butc contact lost]" 4
+.IX Item "[butc contact lost]"
+The backup command interpreter cannot reach the Tape Coordinator. The
+message can mean either that the Tape Coordinator handling the operation
+was terminated or failed while the operation was running, or that the
+connection to the Tape Coordinator timed out.
+.IP "[done]" 4
+.IX Item "[done]"
+The Tape Coordinator has finished the operation.
+.IP "[drive wait]" 4
+.IX Item "[drive wait]"
+The operation is waiting for the specified tape drive to become free.
+.IP "[operator wait]" 4
+.IX Item "[operator wait]"
+The Tape Coordinator is waiting for the backup operator to insert a tape
+in the drive.
+.RE
+.RS 4
+.RE
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows that two restore operations and one dump
+operation are running (presumably on different Tape Coordinators) and that
+the \fBbackup\fR command interpreter's tokens expire on 22 April 1999 at
+10:45 am:
+.PP
+.Vb 5
+\& backup> jobs
+\& Job 1: Restore, 1306 Kbytes, restore.volume
+\& Job 2: Dump (user.sunday1), 34 Kbytes, volume user.pat.backup
+\& Job 3: Restore, 2498 Kbytes, restore.volume
+\& 04/22/1999 10:45: TOKEN EXPIRATION
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None. However, queuing any operation requires privilege, and it is
+possible to issue this command only within the interactive session in
+which the jobs are queued.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_interactive\fR\|(8),
+\&\fIbackup_kill\fR\|(8),
+\&\fIbackup_quit\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_KILL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_KILL 8"
++.TH BACKUP_KILL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_kill \- Terminates a pending or running operation
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkill\fR \fB\-id\fR\ <\fIjob\ \s-1ID\s0\ or\ dump\ set\ name\fR> [\fB\-help\fR]
+.PP
+\&\fBk\ \-i\fR\ <\fIjob\ \s-1ID\s0\ or\ dump\ set\ name\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup kill\fR command dequeues a Backup System operation that is
+pending, or terminates an operation that is running, in the current
+interactive session. It is available only in interactive mode. If the
+issuer of the \fBbackup interactive\fR command included the \fB\-localauth\fR
+flag, the \fB\-cell\fR argument, or both, then those settings apply to this
+command also.
+.PP
+To terminate a dump operation, specify either the dump name
+(\fIvolume_set_name\fR.\fIdump_level_name\fR) or its job \s-1ID\s0 number, which
+appears in the output from the \fBbackup jobs\fR command. To terminate any
+other type of operation, provide the job \s-1ID\s0 number.
+.PP
+The effect of terminating an operation depends on the type and current
+state of the operation:
+.IP "\(bu" 4
+If an operation is still pending, the Tape Coordinator removes it from the
+queue with no other lasting effects.
+.IP "\(bu" 4
+If the Tape Coordinator is unable to process the termination signal before
+an operation completes, it simply confirms the operation's completion. The
+operator must take the action necessary to undo the effects of the
+incorrect operation.
+.IP "\(bu" 4
+If a tape labeling operation is running, the effect depends on when the
+Tape Coordinator receives the termination signal. The labeling operation
+is atomic, so it either completes or does not begin at all. Use the
+\&\fBbackup readlabel\fR command to determine if the labeling operation
+completed, and reissue the \fBbackup labeltape\fR command to overwrite the
+incorrect label if necessary.
+.IP "\(bu" 4
+If a tape scanning operation is running, it terminates with no other
+effects unless the \fB\-dbadd\fR flag was included on the \fBbackup\fR
+command. In that case, the Backup System possibly has already written new
+Backup Database records to represent dumps on the scanned tape. If
+planning to restart the scanning operation, first locate and remove the
+records created during the terminated operation: a repeated \fBbackup
+scantape\fR operation exits automatically when it finds that a record that
+it needs to create already exists.
+.IP "\(bu" 4
+If a dump operation is running, all of the volumes written to the tape or
+backup data file before the termination signal is received are complete
+and usable. If the operation is restarted, the Backup System performs all
+the dumps again from scratch, and assigns a new dump \s-1ID\s0 number. If writing
+the new dumps to the same tape or file, the operator must relabel it first
+if the interrupted dump is not expired. If writing the new dump to a
+different tape or file, the operator can remove the dump record associated
+with the interrupted dump to free up space in the database.
+.IP "\(bu" 4
+If a restore operation is running, completely restored volumes are online
+and usable. However, it is unlikely that many volumes are completely
+restored, given that complete restoration usually requires data from
+multiple tapes. If the termination signal comes before the Backup System
+has accessed all of the necessary tapes, each volume is only partially
+written and is never brought online. It is best to restart the restore
+operation from scratch to avoid possible inconsistencies. See also
+\&\s-1CAUTIONS\s0.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+It is best not to issue the \fBbackup kill\fR command against restore
+operations. If the termination signal interrupts a restore operation as
+the Backup System is overwriting an existing volume, it is possible to
+lose the volume entirely (that is, to lose both the contents of the volume
+as it was before the restore and any data that was restored before the
+termination signal arrived). The data being restored still exists on the
+tape, but some data can be lost permanently.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-id\fR <\fIjob \s-1ID\s0 or dump set name\fR>" 4
+.IX Item "-id <job ID or dump set name>"
+Identifies the backup operation to terminate. Provide one of two types of
+values:
+.RS 4
+.IP "\(bu" 4
+The operation's job \s-1ID\s0 number, as displayed in the output of the \fBbackup
+jobs\fR command.
+.IP "\(bu" 4
+For a dump operation, either the job \s-1ID\s0 number or a dump name of the form
+\&\fIvolume_set_name\fR.\fIdump_level_name\fR, where \fIvolume_set_name\fR is the
+name of the volume set being dumped and \fIdump_level_name\fR is the last
+element in the dump level pathname at which the volume set is being
+dumped. The dump name appears in the output of the \fBbackup jobs\fR command
+along with the job \s-1ID\s0 number.
+.RE
+.RS 4
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command terminates the operation with job \s-1ID\s0 5:
+.PP
+.Vb 1
+\& backup> kill 5
+.Ve
+.PP
+The following command terminates the dump operation called
+\&\f(CW\*(C`user.sunday1\*(C'\fR:
+.PP
+.Vb 1
+\& backup> kill user.sunday1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the privilege required to initiate the operation
+being cancelled. Because this command can be issued only within the
+interactive session during which the operation was initiated, the required
+privilege is essentially guaranteed.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_interactive\fR\|(8),
+\&\fIbackup_jobs\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_LABELTAPE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_LABELTAPE 8"
++.TH BACKUP_LABELTAPE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_labeltape \- Creates the magnetic label on a tape
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup labeltape\fR [\fB\-name\fR\ <\fI\s-1AFS\s0\ tape\ name,\ defaults\ to\ \s-1NULL\s0\fR>]
+ [\fB\-size\fR\ <\fItape\ size\ in\ Kbytes,\ defaults\ to\ size\ in\ tapeconfig\fR>]
+ [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-pname\fR\ <\fIpermanent\ tape\ name\fR>]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup la\fR [\fB\-n\fR\ <\fI\s-1AFS\s0\ tape\ name,\ defaults\ to\ \s-1NULL\s0\fR>]
+ [\fB\-s\fR\ <\fItape\ size\ in\ Kbytes,\ defaults\ to\ size\ in\ tapeconfig\fR>]
+ [\fB\-po\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-pn\fR\ <\fIpermanent\ tape\ name\fR>]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup labeltape\fR command creates a magnetic label, readable by the
+Backup System, at the beginning of a tape. The label records the tape's
+name (either a \fIpermanent name\fR, or an \fI\s-1AFS\s0 tape name\fR that reflects the
+tape's contents in a prescribed format) and its capacity.
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file on the Tape Coordinator machine
+associated with the specified port offset, then the \fBbackup\fR command
+writes label information to the first 16 \s-1KB\s0 block in the backup data file
+listed for that port offset in the Tape Coordinator's
+\&\fI/usr/afs/backup/tapeconfig\fR file, rather than at the beginning of a
+tape. For the sake of clarity, the following text refers to tapes only,
+but the Backup System handles backup data files in much the same way.)
+.PP
+Relabeling a tape that already contains \s-1AFS\s0 backup data effectively makes
+the data unusable, because the command removes the Backup Database record
+of the complete dump set of which the tape is a part. Use this command to
+enable recycling of a tape that contains unexpired dumps that are not
+actually still needed.
+.PP
+To write a permanent name on the label, include the \fB\-pname\fR argument to
+specify a string of up to 32 characters. The permanent name persists until
+the \fB\-pname\fR argument is again included on the \fBbackup labeltape\fR
+command, regardless of the tape's contents and of how often the tape is
+otherwise relabeled or recycled. Include this argument or the \fB\-name\fR
+argument, but not both. If this argument is included, the \s-1AFS\s0 tape name is
+set to \f(CW\*(C`<NULL>\*(C'\fR. The permanent name is set to \f(CW\*(C`<NULL>\*(C'\fR if this
+argument is omitted and no permanent name already exists.
+.PP
+The issuer must ensure that a permanent name is unique among the tapes
+used for \s-1AFS\s0 backup in the cell, because the \fBbackup\fR command interpreter
+does not verify that another tape does not already have the same permanent
+name. When a tape has a permanent name, the Backup System uses it instead
+of the \s-1AFS\s0 tape name in most prompts and when referring to the tape in
+output from \fBbackup\fR commands. The permanent name appears in the \f(CW\*(C`tape
+name\*(C'\fR field of the output from the \fBbackup readlabel\fR command.
+.PP
+To write an \s-1AFS\s0 tape name on the label, provide a value for the \fB\-name\fR
+argument in the required format described in \s-1OPTIONS\s0. Include the
+\&\fB\-name\fR argument or the \fB\-pname\fR argument, but not both. If this
+argument is omitted, the \s-1AFS\s0 tape name is set to \f(CW\*(C`<NULL>\*(C'\fR, but the
+Backup System automatically assigns the appropriate name when the tape is
+used in a future \fBbackup dump\fR or \fBbackup savedb\fR operation. The \s-1AFS\s0
+tape name appears in the \f(CW\*(C`AFS tape name\*(C'\fR field of the output from the
+\&\fBbackup readlabel\fR and \fBbackup scantape\fR commands.
+.PP
+The backup command interpreter does not accept the \fB\-name\fR argument if
+the tape already has a permanent name. To erase a tape's permanent name,
+provide a null value to the \fB\-pname\fR argument by issuing the following
+command:
+.PP
+.Vb 1
+\& % backup labeltape \-pname ""
+.Ve
+.PP
+To record the tape's capacity on the label, specify a number of kilobytes
+as the \fB\-size\fR argument. If the argument is omitted the first time a tape
+is labeled, the Backup System records the default tape capacity recorded
+for the specified port offset in the \fI/usr/afs/backup/tapeconfig\fR file on
+the Tape Coordinator machine. Subsequently, the value in the size field
+persists until the \fB\-size\fR argument is again included on the \fBbackup
+labeltape\fR command.
+.PP
+To determine how much data can be written to a tape during a backup dump
+or \fBbackup savedb\fR operation, the Tape Coordinator reads the capacity
+recorded on the tape's label (or uses the value associated with its port
+offset in the \fI/usr/afs/backup/tapeconfig\fR file, if the tape was never
+labeled). For further description, see the \fBbackup dump\fR reference page.
+.PP
+The Tape Coordinator's default response to this command is to access the
+tape by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the local
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the backup
+operator to insert the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However,
+if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or if the issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR
+flag, the Tape Coordinator instead expects the tape to be in the device
+already. If it is not, the Tape Coordinator invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction or prompts the operator.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fI\s-1AFS\s0 tape name\fR>" 4
+.IX Item "-name <AFS tape name>"
+Specifies the \s-1AFS\s0 tape name to record on the label. Include this argument
+or the \fB\-pname\fR argument, but not both. If this argument is omitted, the
+\&\s-1AFS\s0 tape name is set to \f(CW\*(C`<NULL>\*(C'\fR. If this argument is provided, it
+must have the following format:
+.Sp
+.Vb 1
+\& <volume_set_name>.<dump_level_name>.<tape_index>
+.Ve
+.Sp
+for the tape to be acceptable for use in a future backup dump
+operation. The <volume_set_name> must match the volume set name of the
+initial dump to be written to the tape, <dump_level_name> must match the
+last element of the dump level pathname at which the volume set will be
+dumped, and <tape_index> indicates the order of the tape in the dump set
+(indexing begins with \f(CW1\fR). To disable this type of name checking,
+include the \f(CW\*(C`NAME_CHECK NO\*(C'\fR instruction in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file.
+.Sp
+For the tape to be acceptable for use in a future backup savedb operation,
+the value specified for the \fB\-name\fR argument must have the following
+format:
+.Sp
+.Vb 1
+\& Ubik_db_dump.<tape_index>
+.Ve
+.Sp
+where <tape_index> indicates the order of the tape in the set of tapes
+that house the Backup Database dump; indexing begins with \f(CW1\fR (one).
+.IP "\fB\-size\fR <\fItape size\fR>" 4
+.IX Item "-size <tape size>"
+Specifies the tape capacity to record on the label. Provide an integer
+value followed by a letter that indicates units, with no intervening
+space. A unit value of \f(CW\*(C`k\*(C'\fR or \f(CW\*(C`K\*(C'\fR indicates kilobytes, \f(CW\*(C`m\*(C'\fR or \f(CW\*(C`M\*(C'\fR
+indicates megabytes, and \f(CW\*(C`g\*(C'\fR or \f(CW\*(C`G\*(C'\fR indicates gigabytes. If the units
+letter is omitted, the default is kilobytes.
+.Sp
+If this argument is omitted the first time a tape is labeled, the Backup
+System records the capacity that is associated with the specified port
+offset in the \fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator
+machine. The value recorded the first time then persists until the
+\&\fB\-size\fR argument is provided on a future issuance of the command.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator handling the tape
+for this operation.
+.IP "\fB\-pname\fR <\fIpermanent tape name\fR>" 4
+.IX Item "-pname <permanent tape name>"
+Specifies the permanent name to record on the label. It can be up to 32
+characters in length, and include any alphanumeric characters. Avoid
+metacharacters that have a special meaning to the shell, to avoid having
+to mark them as literal in commands issued at the shell prompt.
+.Sp
+Include this argument or the \fB\-name\fR argument, but not both. If this
+argument is provided, the \s-1AFS\s0 tape name is set to \f(CW\*(C`<NULL>\*(C'\fR. If this
+argument is omitted, any existing permanent name is retained.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command records the \s-1AFS\s0 tape name \f(CW\*(C`user.monthly.1\*(C'\fR on the
+label of the tape in the device with port offset 3:
+.PP
+.Vb 1
+\& % backup labeltape \-name user.monthly.1 \-portoffset 3
+.Ve
+.PP
+The following three commands are equivalent in effect: they all record a
+capacity of 2 \s-1GB\s0 on the label of the tape in the device with port offset
+4. They set the \s-1AFS\s0 tape name to \f(CW\*(C`<NULL>\*(C'\fR and leave the permanent
+name unchanged.
+.PP
+.Vb 3
+\& % backup labeltape \-size 2g \-portoffset 4
+\& % backup labeltape \-size 2048M \-portoffset 4
+\& % backup labeltape \-size 2097152 \-portoffset 4
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_readlabel\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_LISTDUMPS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_LISTDUMPS 8"
++.TH BACKUP_LISTDUMPS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_listdumps \- Displays the dump hierarchy from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup listdumps\fR [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup listd\fR [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup listdumps\fR command displays the dump hierarchy from the
+Backup Database.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output displays the complete dump hierarchy and indicates the
+relationship between full and incremental dump levels. Full dump levels
+appear at the left margin. The hierarchy can include more than one full
+dump level; each one defines a subhierarchy of dump levels that can be
+used for dumping different volume sets.
+.PP
+Incremental dump levels appear below and indented to the right of their
+parent dump levels, which can be either full or incremental. Since
+multiple incremental dump levels can share the same parent, an incremental
+dump level is not always directly below its parent; the amount of
+indentation indicates the parent/child relationship.
+.PP
+If a dump level has an associated expiration date, it appears along with
+the level name. Absolute expiration dates appear in the format
+.PP
+.Vb 1
+\& <dump_level> expires at <day month date time year>
+.Ve
+.PP
+and relative expiration dates in the format
+.PP
+.Vb 1
+\& <dump_level> expires in {<years>y | <months>m | <days>d}
+.Ve
+.PP
+to indicate the number of years, months, days, or combination of the three
+after creation a dump expires when created at this level.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example depicts six dump hierarchies. The expiration date
+for all incremental dump levels is 13 days so that the corresponding tapes
+can be recycled two weeks after their creation. The expiration dates for
+all full dump levels is 27 days so that the corresponding tapes can be
+recycled four weeks after their creation.
+.PP
+.Vb 10
+\& % backup listdumps
+\& /week1 expires in 27d
+\& /tuesday expires in 13d
+\& /thursday expires in 13d
+\& /sunday expires in 13d
+\& /tuesday expires in 13d
+\& /thursday expires in 13d
+\& /week3 expires in 27d
+\& /tuesday expires in 13d
+\& /thursday expires in 13d
+\& /sunday expires in 13d
+\& /tuesday expires in 13d
+\& /thursday expires in 13d
+\& /sunday1 expires in 27d
+\& /monday1 expires in 13d
+\& /tuesday1 expires in 13d
+\& /wednesday1 expires in 13d
+\& /thursday1 expires in 13d
+\& /friday1 expires in 13d
+\& /sunday2 expires in 27d
+\& /monday2 expires in 13d
+\& /tuesday2 expires in 13d
+\& /wednesday2 expires in 13d
+\& /thursday2 expires in 13d
+\& /friday2 expires in 13d
+\& /sunday3 expires in 27d
+\& /monday1 expires in 13d
+\& /tuesday1 expires in 13d
+\& /wednesday1 expires in 13d
+\& /thursday1 expires in 13d
+\& /friday1 expires in 13d
+\& /sunday4 expires in 27d
+\& /monday2 expires in 13d
+\& /tuesday2 expires in 13d
+\& /wednesday2 expires in 13d
+\& /thursday2 expires in 13d
+\& /friday2 expires in 13d
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_adddump\fR\|(8),
+\&\fIbackup_deldump\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_LISTHOSTS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_LISTHOSTS 8"
++.TH BACKUP_LISTHOSTS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_listhosts \- Lists Tape Coordinators registered in the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup listhosts\fR [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup listh\fR [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup listhosts\fR command displays the Backup Database record of the
+port offset numbers defined for Tape Coordinator machines. A Tape
+Coordinator must have an entry in the list to be available for backup
+operations.
+.PP
+The existence of an entry does not necessarily indicate that the Tape
+Coordinator process (\fBbutc\fR) is currently running at that port offset. To
+check, issue the \fBbackup status\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+After a \f(CW\*(C`Tape hosts:\*(C'\fR header, the output reports two things about each
+Tape Coordinator currently defined in the Backup Database:
+.IP "\(bu" 4
+The hostname of the machine housing the Tape Coordinator. The format of
+this name depends on the hostname format used when the \fBbackup addhost\fR
+command was issued.
+.IP "\(bu" 4
+The Tape Coordinator's port offset number.
+.PP
+The Tape Coordinators appear in the order in which they were added to the
+Backup Database.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the result of the command in the \s-1ABC\s0
+Corporation cell:
+.PP
+.Vb 6
+\& % backup listhosts
+\& Tape hosts:
+\& Host backup1.abc.com, port offset 0
+\& Host backup1.abc.com, port offset 1
+\& Host backup3.abc.com, port offset 4
+\& Host backup2.abc.com, port offset 3
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addhost\fR\|(8),
+\&\fIbackup_delhost\fR\|(8),
+\&\fIbackup_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_LISTVOLSETS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_LISTVOLSETS 8"
++.TH BACKUP_LISTVOLSETS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_listvolsets \- Lists volume set entries from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup listvolsets\fR [\fB\-name\fR\ <\fIvolume\ set\ name\fR>] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup listv\fR [\fB\-n\fR\ <\fIvolume\ set\ name\fR>] [\fB\-l\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup listvolsets\fR command displays the Backup Database records for
+either
+.IP "\(bu" 4
+All volume sets and their volume entries, if the \fB\-name\fR argument is
+omitted.
+.IP "\(bu" 4
+The volume set specified by the \fB\-name\fR argument, along with its volume
+entries.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume set name\fR>" 4
+.IX Item "-name <volume set name>"
+Names the volume set to display. If this argument is omitted, the output
+lists all volume sets defined in the Backup Database.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The entry for each volume set begins with the \f(CW\*(C`Volume set\*(C'\fR header and the
+volume set's name. A temporary volume set's name is followed by the string
+\&\f(CW\*(C` (temporary)\*(C'\fR. Each volume entry follows on a separate line, indicating
+the entry's index number and the server, partition, and volume names it
+matches. The output uses the metacharacter notation described on the
+\&\fBbackup addvolentry\fR reference page. Use the index number to identify
+volume entries when deleting them with the \fBbackup delvolentry\fR command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the volume entries in the three volume sets
+currently defined in the Backup Database:
+.PP
+.Vb 8
+\& % backup listvolsets
+\& Volume set user:
+\& Entry 1: server .*, partition .*, volumes: user.*\e.backup
+\& Volume set sun
+\& Entry 1: server .*, partition .*, volumes: sun4x_55\e..*
+\& Entry 2: server .*, partition .*, volumes: sun4x_56\e..*
+\& Volume set rs
+\& Entry 1: server .*, partition .*, volumes: rs_aix42\e..*
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_delvolentry\fR\|(8),
+\&\fIbackup_delvolset\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_QUIT 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_QUIT 8"
++.TH BACKUP_QUIT 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_quit \- Leaves interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBquit\fR [\fB\-help\fR]
+.PP
+\&\fBq\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup quit\fR command exits interactive mode, returning the issuer to
+the regular shell prompt at which the \fBbackup\fR or \fBbackup interactive\fR
+command was issued to enter interactive mode. The command has no effect
+when issued outside interactive mode. Issuing the Ctrl-D command also
+exits interactive mode.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+To exit interactive mode, all jobs must be completed. Use the \fBbackup
+jobs\fR command to list any jobs currently pending or executing, and the
+\&\fBbackup kill\fR command to terminate them as necessary.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command exits interactive mode:
+.PP
+.Vb 2
+\& backup> quit
+\& %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_interactive\fR\|(8),
+\&\fIbackup_jobs\fR\|(8),
+\&\fIbackup_kill\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_READLABEL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_READLABEL 8"
++.TH BACKUP_READLABEL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_readlabel \- Reads and displays a tape's label
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup readlabel\fR [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup rea\fR [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup readlabel\fR command displays information from the magnetic
+tape label of a tape. The information includes the tape's name (either a
+\&\fIpermanent name\fR, or an \fI\s-1AFS\s0 tape name\fR that reflects the tape's
+contents in a prescribed format) and its capacity.
+.PP
+If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file associated with the specified
+port offset, then the \fBbackup readlabel\fR command reads the label
+information from the first 16 \s-1KB\s0 block in the backup data file listed for
+that port offset in the Tape Coordinator's \fI/usr/afs/backup/tapeconfig\fR
+file, rather than from the beginning of a tape.
+.PP
+The Tape Coordinator's default response to this command is to access the
+tape by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the local
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the backup
+operator to insert the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However,
+if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or if the issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR
+flag, the Tape Coordinator instead expects the tape to be in the device
+already. If it is not, the Tape Coordinator invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction or prompts the operator.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator handling the
+tapes for this operation.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+Output from this command appears in both the shell window where the
+command is issued, and in the Tape Coordinator window.
+.PP
+If the tape is unlabeled or if the specified tape device is empty, the
+output reads
+.PP
+.Vb 1
+\& Failed to read tape label.
+.Ve
+.PP
+Otherwise, the output in the shell window has the following format:
+.PP
+.Vb 2
+\& Tape read was labelled: <tape name> (<dump id>)
+\& size: <size> Kbytes
+.Ve
+.PP
+where <tape name> is the permanent name if the tape has one, or the \s-1AFS\s0
+tape name otherwise. The <dump \s-1ID\s0> is dump \s-1ID\s0 of the initial dump on the
+tape, and <size> is the recorded capacity of the tape in kilobytes.
+.PP
+The output in the Tape Coordinator windows is bounded by an underlined
+\&\f(CW\*(C`Tape label\*(C'\fR header at the top, and the following string at the bottom:
+.PP
+.Vb 1
+\& \-\- End of tape label \-\-
+.Ve
+.PP
+In between are lines reporting the following information:
+.IP "tape name" 4
+.IX Item "tape name"
+The permanent name assigned by using the \-pname argument of the \fBbackup
+labeltape\fR command. This name remains on the tape until that argument is
+used again, no matter how many times the tape is recycled or otherwise
+relabeled. If the tape does not have a permanent name, the value \f(CW\*(C`<NULL>\*(C'\fR appears in this field.
+.IP "\s-1AFS\s0 tape name" 4
+.IX Item "AFS tape name"
+A tape name in one of the following prescribed formats. The Backup System
+automatically writes the appropriate \s-1AFS\s0 tape name to the label as part of
+a \fBbackup dump\fR or \fBbackup savedb\fR operation, or the operator can assign
+it with the \fB\-name\fR argument to the \fBbackup labeltape\fR command.
+.RS 4
+.IP "\(bu" 4
+\&\fIvolume_set_name\fR\fB.\fR\fIdump_level_name\fR.\fItape_index\fR, if the tape
+contains volume data. The \fIvolume_set_name\fR is the name of the volume set
+that was dumped to create the initial dump in the dump set of to which
+this tape belongs; \fIdump_level_name\fR is the last pathname element of the
+dump level at which the initial dump was backed up; and \fItape_index\fR is
+the numerical position of the tape in the dump set.
+.IP "\(bu" 4
+\&\f(CW\*(C`Ubik.db.dump.\*(C'\fR\fItape_index\fR if the tape contains a dump of the Backup
+Database, created with the \fBbackup savedb\fR command. The \fItape_index\fR is
+the ordinal of the tape in the dump set.
+.IP "\(bu" 4
+\&\f(CW\*(C`<NULL>\*(C'\fR if the tape has no \s-1AFS\s0 tape name. This is normally the case
+if the \fB\-name\fR argument was not included the last time the \fBbackup
+labeltape\fR command was used on this tape, and no data has been written to
+it since.
+.RE
+.RS 4
+.RE
+.IP "creationTime" 4
+.IX Item "creationTime"
+The date and time at which the Backup System started performing the dump
+operation that created the initial dump.
+.IP "cell" 4
+.IX Item "cell"
+The cell in which the dump set was created. This is the cell whose Backup
+Database contains a record of the dump set.
+.IP "size" 4
+.IX Item "size"
+The tape's capacity (in kilobytes) as recorded on the label, rather than
+the amount of data on the tape. The value is assigned by the \fB\-size\fR
+argument to the \fBbackup labeltape\fR command or derived from the
+\&\fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator machine, not
+from a measurement of the tape.
+.IP "dump path" 4
+.IX Item "dump path"
+The dump level of the initial dump in the dump set.
+.IP "dump id" 4
+.IX Item "dump id"
+The dump \s-1ID\s0 number of the initial dump in the dump set, as recorded in the
+Backup Database.
+.IP "useCount" 4
+.IX Item "useCount"
+The number of times a dump has been written to the tape, or it has been
+relabeled.
+.PP
+The message \f(CW\*(C`ReadLabel: Finished\*(C'\fR indicates the completion of the output.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output for the tape with permanent name
+\&\f(CW\*(C`oct.guest.dump\*(C'\fR and capacity 2 \s-1MB\s0, expressed in kilobyte units (2097152
+equals 2 times 10242).
+.PP
+.Vb 3
+\& % backup readlabel \-portoffset 6
+\& Tape read was labelled: oct.guest.dump (907215000)
+\& size: 2097152 Kbytes
+.Ve
+.PP
+The output in the Tape Coordinator window reads:
+.PP
+.Vb 11
+\& Tape label
+\& \-\-\-\-\-\-\-\-\-\-
+\& tape name = oct.guest.dump
+\& AFS tape name = guests.monthly.3
+\& creationTime = Thu Oct 1 00:10:00 1998
+\& cell = abc.com
+\& size = 2097152 Kbytes
+\& dump path = /monthly
+\& dump id = 907215000
+\& useCount = 5
+\& \-\-\-\- End of tape label \-\-\-\-
+.Ve
+.PP
+The following example is for a tape that does not have a permanent tape.
+.PP
+.Vb 3
+\& % backup readlabel \-portoffset 6
+\& Tape read was labelled: guests.monthly.2 (909899900)
+\& size: 2097152 Kbytes
+.Ve
+.PP
+The output in the Tape Coordinator window reads:
+.PP
+.Vb 11
+\& Tape label
+\& \-\-\-\-\-\-\-\-\-\-
+\& tape name = <NULL>
+\& AFS tape name = guests.monthly.2
+\& creationTime = Sun Nov 1 00:58:20 1998
+\& cell = abc.com
+\& size = 2097152 Kbytes
+\& dump path = /monthly
+\& dump id = 909899900
+\& useCount = 1
+\& \-\-\-\- End of tape label \-\-\-\-
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_labeltape\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_RESTOREDB 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_RESTOREDB 8"
++.TH BACKUP_RESTOREDB 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_restoredb \- Restores a saved copy of the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup restoredb\fR [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup res\fR [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup restoredb\fR command restores to the Backup Server machine's
+local disk a version of the Backup Database previously written to tape by
+using the \fBbackup savedb\fR command.
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file associated with the specified
+port offset, then the \fBbackup restoredb\fR command restores data from the
+backup data file listed for that port offset in the Tape Coordinator's
+\&\fI/usr/afs/backup/tapeconfig\fR file, instead of from tape. For the sake of
+clarity, the following text refers to tapes only, but the Backup System
+handles backup data files in much the same way.)
+.PP
+The most common reason to run this command is to replace a corrupted or
+otherwise damaged Backup Database; use the \fBbackup dbverify\fR command to
+determine the database's status. The command can also be used to restore
+records that were removed from the database when the \fB\-archive\fR argument
+was included on a previous \fBbackup savedb\fR command.
+.PP
+The command completely overwrites the existing Backup Database records for
+volume sets, Tape Coordinators, and the dump hierarchy with the
+corresponding information from the saved version. It does not overwrite
+existing dump records, but instead interleaves the records from the copy
+being restored. If both the existing database (on the Backup Server
+machine's disk) and the copy being restored include a record about the
+same dump, the Backup System retains the one in the existing database.
+.PP
+The Tape Coordinator's default response to this command is to access the
+first tape it needs by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the local
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the backup
+operator to insert the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However,
+if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or if the issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR
+flag, the Tape Coordinator instead expects the tape to be in the device
+already. If it is not, or is the wrong tape, the Tape Coordinator invokes
+the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts the operator. It also invokes the
+\&\f(CW\*(C`MOUNT\*(C'\fR instruction or prompts for any additional tapes needed to
+complete the restore operation; the backup operator must arrange to
+provide them.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If the database is corrupted, do not attempt to restore a saved database
+on top of it. Instead, use the instructions for repairing a corrupted
+database in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR chapter about performing
+backup operations.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator handling the
+tapes for this operation.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the Backup Database being restored from the
+Tape Coordinator with port offset 0:
+.PP
+.Vb 1
+\& % backup restoredb
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dbverify\fR\|(8),
+\&\fIbackup_savedb\fR\|(8),
+\&\fIbutc\fR\|(8)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_SAVEDB 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_SAVEDB 8"
++.TH BACKUP_SAVEDB 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_savedb \- Creates a saved copy of the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup savedb\fR [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-archive\fR\ <\fIdate\ time\fR>+] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup sa\fR [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-a\fR\ <\fIdate\ time\fR>+]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup savedb\fR command creates a backup copy of the entire Backup
+Database and writes it to the tape in the device controlled by the Tape
+Coordinator indicated with the \fB\-portoffset\fR argument. If the database is
+damaged (as reported by the \fBbackup dbverify\fR command), this command
+repairs as much of the corruption as possible as it creates the saved
+copy. The Backup Server creates a dump record for the saved database in
+the Backup Database (but in the disk version of the database only, not in
+the version written to tape).
+.PP
+If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file associated with the specified
+port offset, then the \fBbackup savedb\fR command dumps the database copy to
+the backup data file listed for that port offset in the Tape Coordinator's
+\&\fI/usr/afs/backup/tapeconfig\fR file, instead of to tape. For the sake of
+clarity, the following text refers to tapes only, but the Backup System
+handles backup data files in much the same way.
+.PP
+If the \fB\-archive\fR flag is provided, after writing the saved copy of the
+database the Backup System truncates the copy of the database on disk by
+deleting volume dump records with timestamps prior to the specified date
+and time (it does not delete the dump records created by previous \fBbackup
+savedb\fR commands, however).
+.PP
+If the tape to which the database copy is written has an \s-1AFS\s0 tape name, it
+must be \f(CW\*(C`Ubik_db_dump.1\*(C'\fR or \f(CW\*(C`<NULL>\*(C'\fR. Any permanent name is
+acceptable.
+.PP
+The Tape Coordinator's default response to this command is to access the
+first tape by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the local
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the backup
+operator to insert the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However,
+if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or if the issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR
+flag, the Tape Coordinator instead expects the tape to be in the device
+already. If it is not, the Tape Coordinator invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction or prompts the operator. It also invokes the \f(CW\*(C`MOUNT\*(C'\fR
+instruction or prompts for any additional tapes needed to complete the
+operation; the backup operator must arrange to provide them.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator handling the
+tapes for this operation.
+.IP "\fB\-archive\fR <\fIdate time\fR>+" 4
+.IX Item "-archive <date time>+"
+Specifies a date and time; volume dump records with earlier timestamps are
+deleted from the disk copy of the Backup Database after the Backup System
+dumps the database (a dump's timestamp appears in the \f(CW\*(C`created\*(C'\fR field of
+the output from the \fBbackup dumpinfo\fR command). However, if a dump set
+contains any dump created after the specified date, none of the dump
+records associated with the dump set are deleted. Dump records for
+previous dumps of the database (created with the \fBbackup savedb\fR command)
+are never deleted; use the \fBbackup deletedump\fR command to remove them.
+.Sp
+Provide one of two values:
+.RS 4
+.IP "\(bu" 4
+The string \f(CW\*(C`NOW\*(C'\fR to indicate the current date and time, in which case the
+Backup System deletes all dump records except those for dumps of the
+Backup Database itself.
+.IP "\(bu" 4
+A date value in the format \fImm/dd/yyyy\fR [\fIhh:MM\fR]. The month (\fImm\fR),
+day (\fIdd\fR), and year (\fIyyyy\fR) are required, and valid values for the
+year range from \f(CW1970\fR to \f(CW2037\fR; higher values are not valid because
+the latest possible date in the standard \s-1UNIX\s0 representation is in
+February 2038. The Backup System automatically reduces any later date to
+the maximum value.
+.Sp
+The hour and minutes (\fIhh:MM\fR) are optional, but if provided must be in
+24\-hour format (for example, the value \f(CW\*(C`14:36\*(C'\fR represents 2:36 p.m.). If
+omitted, the time defaults to 59 seconds after midnight (00:00:59
+hours). Similarly, the \fBbackup\fR command interpreter automatically adds 59
+seconds to any time value provided. In both cases, adding 59 seconds
+compensates for how the Backup Database and \fBbackup dumpinfo\fR command
+represent dump creation times in hours and minutes only. That is, the
+Database records a creation timestamp of \f(CW\*(C`20:55\*(C'\fR for any dump created
+between 20:55:00 and 20:55:59. Automatically adding 59 seconds to a time
+thus includes the records for all dumps created during that minute.
+.RE
+.RS 4
+.RE
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example writes a copy of the Backup Database to the tape
+device controlled by the Tape Coordinator with port offset 1:
+.PP
+.Vb 1
+\& % backup savedb \-portoffset 1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dbverify\fR\|(8),
+\&\fIbackup_restoredb\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_SCANTAPE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_SCANTAPE 8"
++.TH BACKUP_SCANTAPE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_scantape \- Extracts dump information from a tape
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup scantape\fR [\fB\-dbadd\fR] [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup sc\fR [\fB\-d\fR] [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-l\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup scantape\fR command extracts information from the dump labels
+and volume headers on the tape in the device controlled by the Tape
+Coordinator indicated by the \fB\-portoffset\fR argument. The Tape Coordinator
+displays the information for each volume in its window as soon as it
+extracts it (rather than waiting until it has scanned the entire tape).
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file associated with the specified
+port offset, then the \fBbackup scantape\fR command extracts dump information
+from the backup data file named in that port offset's entry in the
+\&\fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator machine, rather
+than from a tape. For the sake of clarity, the following text refers to
+tapes only, but the Backup System handles backup data files in much the
+same way.)
+.PP
+If the \fB\-dbadd\fR flag is provided, the backup scantape command creates new
+dump and volume records in the Backup Database for the scanned
+information. However, if it finds that a record already exists in the
+database for the same dump, it terminates the scanning operation.
+.PP
+The scanning operation works only on tapes containing volume data. The
+command fails with an error message if the tape contains a copy of the
+Backup Database (was created with the \fBbackup savedb\fR command, or has the
+\&\s-1AFS\s0 tape name \f(CW\*(C`Ubik_db_dump.1\*(C'\fR).
+.PP
+The Tape Coordinator's default response to this command is to access the
+tape by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or by prompting the backup operator to insert the tape if there is
+no \f(CW\*(C`MOUNT\*(C'\fR instruction. However, if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction
+appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file, or if the issuer of the \fBbutc\fR
+command included the \fB\-noautoquery\fR flag, the Tape Coordinator instead
+expects the tape to be in the device already. If it is not, the Tape
+Coordinator invokes the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts the operator.
+.PP
+To terminate a tape scanning operation in interactive mode, issue the
+\&\fBbackup kill\fR command. In noninteractive mode, the only choice is to use
+a termination signal such as Ctrl-C to halt the Tape Coordinator
+completely.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+A scanning operation does not have to begin with the first tape in a dump
+set, but the Backup System can process tapes only in sequential order
+after the initial tape provided. The Tape Coordinator automatically
+requests any subsequent tapes by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the
+local \fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the
+operator if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction.
+.PP
+The Tape Coordinator's success in scanning a tape that is corrupted or
+damaged depends on the extent of the damage and what type of data is
+corrupted. It can almost always scan the tape successfully up to the point
+of damage. If the damage is minor, the Tape Coordinator can usually skip
+over it and scan the rest of the tape, but more major damage can prevent
+further scanning. Because a scanning operation can start on any tape in a
+dump set, damage on one tape does not prevent scanning of the others in
+the dump set. However, it is possible to scan either the tapes that
+precede the damaged one or the ones that follow it, but not both.
+.PP
+If a tape is relabeled with the backup labeltape command, it is not
+possible to recover data from it for the purposes of rebuilding the Backup
+Database.
+.PP
+If the \fB\-dbadd\fR flag is included on the command, it is best not to
+terminate the tape scanning operation before it completes (for example, by
+issuing the \fBbackup kill\fR command in interactive mode). The Backup System
+writes a new record in the Backup Database for each dump as soon as it
+scans the relevant information on the tape, and so it possibly has already
+written new records. If the operator wants to rerun the scanning
+operation, he or she must locate and remove the records created during the
+terminated operation: the second operation exits automatically if it finds
+that a record that it needs to create already exists.
+.PP
+If the \fB\-dbadd\fR flag is included and the first tape provided is not the
+first tape in the dump set, the following restrictions apply:
+.IP "\(bu" 4
+If the first data on the tape is a continuation of a volume that begins on
+the previous (unscanned) tape in the dump set, the Backup System does not
+add a record for that volume to the Backup Database.
+.IP "\(bu" 4
+The Backup System must read the marker that indicates the start of an
+appended dump to add database records for the volumes in it. If the first
+volume on the tape belongs to an appended dump, but is not immediately
+preceded by the appended-dump marker, the Backup System does not create a
+Backup Database record for it or any subsequent volumes that belong to
+that appended dump.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dbadd\fR" 4
+.IX Item "-dbadd"
+Adds the information extracted from the tape to the Backup Database (but
+only if the database does not already contain an entry with the same dump
+\&\s-1ID\s0 number).
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator handling the
+tapes for this operation.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+For every dump on a tape, the backup scantape command displays in the Tape
+Coordinator window the dump label and the volume header of each volume in
+the dump. If a dump spans more than one tape, the dump label does not
+repeat at the beginning of subsequent tapes.
+.PP
+A dump label contains the following fields, which are the same as in the
+output from the \fBbackup readlabel\fR command:
+.IP "tape name" 4
+.IX Item "tape name"
+The permanent name assigned by using the \fB\-pname\fR argument of the
+\&\fBbackup labeltape\fR command. This name remains on the tape until that
+argument is used again, no matter how many times the tape is recycled or
+otherwise relabeled. If the tape does not have a permanent name, the value
+\&\f(CW\*(C`<NULL>\*(C'\fR appears in this field.
+.IP "\s-1AFS\s0 tape name" 4
+.IX Item "AFS tape name"
+A tape name in one of the following prescribed formats. The Backup System
+automatically writes the appropriate \s-1AFS\s0 tape name to the label as part of
+a \fBbackup dump\fR operation, or the operator can assign it with the
+\&\fB\-name\fR argument to the \fBbackup labeltape\fR command.
+.RS 4
+.IP "\(bu" 4
+\&\fIvolume_set_name\fR.\fIdump_level_name\fR.\fItape_index\fR, if the tape contains
+volume data. The \fIvolume_set_name\fR is the name of the volume set that was
+dumped to create the initial dump in the dump set of which this tape is a
+part; \fIdump_level_name\fR is the last pathname element of the dump level at
+which the initial dump was backed up; and \fItape_index\fR is the numerical
+position of the tape in the dump set.
+.IP "\(bu" 4
+\&\f(CW\*(C`<NULL>\*(C'\fR if the tape has no \s-1AFS\s0 tape name. This is normally the case
+if the \fB\-name\fR argument was not included the last time the \fBbackup
+labeltape\fR command was used on this tape, and no data has been written to
+it since.
+.RE
+.RS 4
+.RE
+.IP "creationTime" 4
+.IX Item "creationTime"
+The date and time at which the Backup System started performing the dump
+operation that created the initial dump.
+.IP "cell" 4
+.IX Item "cell"
+The cell in which the dump set was created. This is the cell whose Backup
+Database contains a record of the dump set.
+.IP "size" 4
+.IX Item "size"
+The tape's capacity (in kilobytes) as recorded on the label, rather than
+the amount of data on the tape. The value is assigned by the \fB\-size\fR
+argument to the \fBbackup labeltape\fR command or derived from the
+\&\fI/usr/afs/backup/tapeconfig\fR file on the Tape Coordinator machine, not
+from a measurement of the tape.
+.IP "dump path" 4
+.IX Item "dump path"
+The dump level of the initial dump in the dump set.
+.IP "dump id" 4
+.IX Item "dump id"
+The dump \s-1ID\s0 number of the initial dump in the dump set, as recorded in the
+Backup Database.
+.IP "useCount" 4
+.IX Item "useCount"
+The number of times a dump has been written to the tape, or it has been
+relabeled.
+.PP
+The volume header contains the following fields:
+.IP "volume name" 4
+.IX Item "volume name"
+The volume name, complete with a \f(CW\*(C`.backup\*(C'\fR or \f(CW\*(C`.readonly\*(C'\fR extension, if
+appropriate.
+.IP "volume \s-1ID\s0" 4
+.IX Item "volume ID"
+The volume's volume \s-1ID\s0.
+.IP "dumpSetName" 4
+.IX Item "dumpSetName"
+The dump to which the volume belongs. The dump name is of the form
+\&\fIvolume_set_name\fR.\fIdump_level_name\fR and matches the name displayed in
+the dump label.
+.IP "dumpID" 4
+.IX Item "dumpID"
+The dump \s-1ID\s0 of the dump named in the \f(CW\*(C`dumpSetName\*(C'\fR field.
+.IP "level" 4
+.IX Item "level"
+The depth in the dump hierarchy of the dump level used in creating the
+dump. A value of \f(CW0\fR indicates a full dump. A value of \f(CW1\fR or greater
+indicates an incremental dump made at the indicated depth in the
+hierarchy. The value reported is for the entire dump, not necessarily for
+the volume itself; for example, it is possible for a dump performed at an
+incremental level to include a full dump of an individual volume if the
+volume was omitted from previous dumps.
+.IP "parentID" 4
+.IX Item "parentID"
+The dump \s-1ID\s0 number of \f(CW\*(C`dumpSetName\*(C'\fR's parent dump. It is \f(CW0\fR if the
+value in the \f(CW\*(C`level\*(C'\fR field is \f(CW0\fR.
+.IP "endTime" 4
+.IX Item "endTime"
+Is always \f(CW0\fR; it is reserved for internal use.
+.IP "cloneDate" 4
+.IX Item "cloneDate"
+The date and time at which the volume was created. For a backup or
+read-only volume, this represents the time at which it was cloned from its
+read/write source. For a read/write volume, it indicates the time at which
+the Backup System locked the volume for purposes of including it in the
+dump named in the \f(CW\*(C`dumpSetName\*(C'\fR field.
+.PP
+The message \f(CW\*(C`Scantape: Finished\*(C'\fR indicates the completion of the output.
+.PP
+In normal circumstances, the Backup System writes a marker to indicate
+that a volume is the last one on a tape, or that the volume continues on
+the next tape. However, if a backup operation terminated abnormally (for
+example, because the operator terminated the Tape Coordinator by issuing
+the Ctrl-C command during the operation), then there is no such
+marker. Some very early versions of the Backup System also did not write
+these markers. If a tape does not conclude with one of the expected
+markers, the Tape Coordinator cannot determine if there is a subsequent
+tape in the dump set and so generates the following message in its window:
+.PP
+.Vb 1
+\& Are there more tapes? (y/n)
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output for the first two volumes on a tape
+in the device with port offset 0:
+.PP
+.Vb 10
+\& % backup scantape
+\& Dump label
+\& \-\-\-\-\-\-\-\-\-\-
+\& tape name = monthly_guest
+\& AFS tape name = guests.monthly.3
+\& creationTime = Mon Feb 1 04:06:40 1999
+\& cell = abc.com
+\& size = 2150000 Kbytes
+\& dump path = /monthly
+\& dump id = 917860000
+\& useCount = 44
+\& \-\- End of dump label \-\-
+\& \-\- volume \-\-
+\& volume name: user.guest10.backup
+\& volume ID 1937573829
+\& dumpSetName: guests.monthly
+\& dumpID 917860000
+\& level 0
+\& parentID 0
+\& endTime 0
+\& clonedate Mon Feb 1 03:03:23 1999
+\& \-\- volume \-\-
+\& volume name: user.guest11.backup
+\& volume ID 1938519386
+\& dumpSetName: guests.monthly
+\& dumpID 917860000
+\& level 0
+\& parentID 0
+\& endTime 0
+\& clonedate Mon Feb 1 03:05:15 1999
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_dumpinfo\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_SETEXP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_SETEXP 8"
++.TH BACKUP_SETEXP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_setexp \- Sets the expiration date for existing dump levels.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup setexp\fR \fB\-dump\fR\ <\fIdump\ level\ name\fR>+
+ [\fB\-expires\fR\ <\fIexpiration\ date\fR>+] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup se\fR \fB\-d\fR\ <\fIdump\ level\ name\fR>+ [\fB\-e\fR\ <\fIexpiration\ date\fR>+]
+ [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup setexp\fR command sets or changes the expiration date
+associated with each specified dump level, which must already exist in the
+dump hierarchy.
+.PP
+Use the \fB\-expires\fR argument to associate an expiration date with each
+dump level. When the Backup System subsequently creates a dump at the dump
+level, it uses the specified value to derive the dump's expiration date,
+which it records on the label of the tape (or backup data file). The
+Backup System refuses to overwrite a tape until after the latest
+expiration date of any dump that the tape contains, unless the \fBbackup
+labeltape\fR command is used to relabel the tape. If a dump level does not
+have an expiration date, the Backup System treats dumps created at the
+level as expired as soon as it creates them.
+.PP
+(Note that the Backup System does not automatically remove a dump's record
+from the Backup Database when the dump reaches its expiration date, but
+only if the tape that contains the dump is recycled or relabeled. To
+remove expired and other obsolete dump records, use the \fBbackup
+deletedump\fR command.)
+.PP
+Define either an absolute or relative expiration date:
+.IP "\(bu" 4
+An absolute expiration date defines the month/day/year (and, optionally,
+hour and minutes) at which a dump expires. If the expiration date predates
+the dump creation time, the Backup System immediately treats the dump as
+expired.
+.IP "\(bu" 4
+A relative date defines the number of years, months, or days (or a
+combination of the three) after the dump's creation that it expires. When
+the Backup System creates a dump at the dump level, it calculates an
+actual expiration date by adding the relative date to the start time of
+the dump operation.
+.PP
+If the command is used to change an existing expiration date associated
+with a dump level, the new date applies only to dumps created after the
+change. Existing dumps retain the expiration date assigned at the time
+they were created.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dump\fR <\fIdump level name\fR>+" 4
+.IX Item "-dump <dump level name>+"
+Specifies the full pathname of each dump level to assign the expiration
+date specified by the \fB\-expires\fR argument.
+.IP "\fB\-expires\fR <\fIexpiration date\fR>+" 4
+.IX Item "-expires <expiration date>+"
+Defines the absolute or relative expiration date to associate with each
+dump level named by the \fB\-dump\fR argument. Absolute expiration dates have
+the following format:
+.Sp
+.Vb 1
+\& [at] {NEVER | <mm>/<dd>/<yyyy> [<hh>:<MM>] }
+.Ve
+.Sp
+where the optional word at is followed either by the string \f(CW\*(C`NEVER\*(C'\fR,
+which indicates that dumps created at the dump level never expire, or by a
+date value with a required portion (<mm> for month, <dd> for day, and
+<yyyy> for year) and an optional portion (<hh> for hours and <\s-1MM\s0> for
+minutes).
+.Sp
+Omit the <hh>:<\s-1MM\s0> portion to use the default of midnight (00:00 hours),
+or provide a value in 24\-hour format (for example, \f(CW\*(C`20:30\*(C'\fR is 8:30 p.m.).
+Valid values for the year range from \f(CW1970\fR to \f(CW2037\fR; higher values are
+not valid because the latest possible date in the standard \s-1UNIX\s0
+representation is in February 2038. The command interpreter automatically
+reduces later dates to the maximum value.
+.Sp
+Relative expiration dates have the following format:
+.Sp
+.Vb 1
+\& [in] [<years>y] [<months>m] [<days>d]
+.Ve
+.Sp
+where the optional word in is followed by at least one of a number of
+years (maximum \f(CW9999\fR) followed by the letter \f(CW\*(C`y\*(C'\fR, a number of months
+(maximum \f(CW12\fR) followed by the letter \f(CW\*(C`m\*(C'\fR, or a number of days (maximum
+\&\f(CW31\fR) followed by the letter \f(CW\*(C`d\*(C'\fR. If providing more than one of the
+three, list them in the indicated order. If the date that results from
+adding the relative expiration value to a dump's creation time is later
+than the latest possible date in the \s-1UNIX\s0 time representation, the Backup
+System automatically reduces it to that date.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example associates an absolute expiration date of 10:00
+p.m. on 31 December 1999 with the dump level \f(CW\*(C`/1998/december\*(C'\fR:
+.PP
+.Vb 1
+\& % backup setexp \-dump /1998/december \-expires at 12/31/1999 22:00
+.Ve
+.PP
+The following example associates a relative expiration date of 7 days with
+the two dump levels \f(CW\*(C`/monthly/week1\*(C'\fR and \f(CW\*(C`/monthly/week2\*(C'\fR:
+.PP
+.Vb 1
+\& % backup setexp \-dump /monthly/week1 /monthly/week \-expires 7d
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_adddump\fR\|(8),
+\&\fIbackup_deldump\fR\|(8),
+\&\fIbackup_listdumps\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_STATUS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_STATUS 8"
++.TH BACKUP_STATUS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_status \- Reports a Tape Coordinator's status
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup status\fR [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup st\fR [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup status\fR command displays which operation, if any, the
+indicated Tape Coordinator is currently executing.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>" 4
+.IX Item "-portoffset <TC port offset>"
+Specifies the port offset number of the Tape Coordinator for which to
+report the status.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The following message indicates that the Tape Coordinator is not currently
+performing an operation:
+.PP
+.Vb 1
+\& Tape coordinator is idle
+.Ve
+.PP
+Otherwise, the output includes a message of the following format for each
+running or pending operation:
+.PP
+.Vb 1
+\& Task <task_ID>: <operation>: <status>
+.Ve
+.PP
+where
+.IP "<task_ID>" 4
+.IX Item "<task_ID>"
+Is a task identification number assigned by the Tape Coordinator. It
+begins with the Tape Coordinator's port offset number.
+.IP "<operation>" 4
+.IX Item "<operation>"
+Identifies the operation the Tape Coordinator is performing, which is
+initiated by the indicated command:
+.RS 4
+.IP "Dump" 4
+.IX Item "Dump"
+The \fBbackup dump\fR command.
+.IP "Restore" 4
+.IX Item "Restore"
+The \fBbackup diskrestore\fR, \fBbackup volrestore\fR, or \fBbackup
+volsetrestore\fR commands.
+.IP "Labeltape" 4
+.IX Item "Labeltape"
+The \fBbackup labeltape\fR command.
+.IP "Scantape" 4
+.IX Item "Scantape"
+The \fBbackup scantape\fR command.
+.IP "SaveDb" 4
+.IX Item "SaveDb"
+The \fBbackup savedb\fR command.
+.IP "RestoreDb" 4
+.IX Item "RestoreDb"
+The \fBbackup restoredb\fR command.
+.RE
+.RS 4
+.RE
+.IP "<status>" 4
+.IX Item "<status>"
+Indicates the job's current status in one of the following messages.
+.RS 4
+.IP "\fInumber\fR Kbytes transferred, volume \fIvolume_name\fR" 4
+.IX Item "number Kbytes transferred, volume volume_name"
+For a running dump operation, indicates the number of kilobytes copied to
+tape or a backup data file so far, and the volume currently being dumped.
+.IP "\fInumber\fR Kbytes, restore.volume" 4
+.IX Item "number Kbytes, restore.volume"
+For a running restore operation, indicates the number of kilobytes copied
+into \s-1AFS\s0 from a tape or a backup data file so far.
+.IP "[abort requested]" 4
+.IX Item "[abort requested]"
+The \fBbackup kill\fR command was issued, but the termination signal has yet
+to reach the Tape Coordinator.
+.IP "[abort sent]" 4
+.IX Item "[abort sent]"
+The operation is canceled by the \fBbackup kill\fR command. Once the Backup
+System removes an operation from the queue or stops it from running, it no
+longer appears at all in the output from the command.
+.IP "[butc contact lost]" 4
+.IX Item "[butc contact lost]"
+The \fBbackup\fR command interpreter cannot reach the Tape Coordinator. The
+message can mean either that the Tape Coordinator handling the operation
+was terminated or failed while the operation was running, or that the
+connection to the Tape Coordinator timed out.
+.IP "[done]" 4
+.IX Item "[done]"
+The Tape Coordinator has finished the operation.
+.IP "[drive wait]" 4
+.IX Item "[drive wait]"
+The operation is waiting for the specified tape drive to become free.
+.IP "[operator wait]" 4
+.IX Item "[operator wait]"
+The Tape Coordinator is waiting for the backup operator to insert a tape
+in the drive.
+.RE
+.RS 4
+.RE
+.PP
+If the Tape Coordinator is communicating with an \s-1XBSA\s0 server (a
+third-party backup utility that implements the Open Group's Backup Service
+\&\s-1API\s0 [\s-1XBSA\s0]), the following message appears last in the output:
+.PP
+.Vb 1
+\& <XBSA_program> Tape coordinator
+.Ve
+.PP
+where <XBSA_program> is the name of the XBSA-compliant program.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows that the Tape Coordinator with port offset 4
+has so far dumped about 1.5 \s-1MB\s0 of data for the current dump operation, and
+is currently dumping the volume named \f(CW\*(C`user.pat.backup\*(C'\fR:
+.PP
+.Vb 2
+\& % backup status \-portoffset 4
+\& Task 4001: Dump: 1520 Kbytes transferred, volume user.pat.backup
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server is running, or must be logged onto a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_VOLINFO 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_VOLINFO 8"
++.TH BACKUP_VOLINFO 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_volinfo \- Displays a volume's dump history from the Backup Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup volinfo\fR \fB\-volume\fR\ <\fIvolume\ name\fR> [\fB\-localauth\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup voli\fR \fB\-v\fR\ <\fIvolume\ name\fR> [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup volinfo\fR command displays a dump history of the specified
+volume, reporting information such as the date on which the volume was
+dumped and the tapes that contain it. Include the \f(CW\*(C`.backup\*(C'\fR extension on
+the volume name if the backup version of the volume was dumped.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-volume\fR <\fIvolume name\fR>" 4
+.IX Item "-volume <volume name>"
+Names the volume for which to display the dump history. Include the
+\&\f(CW\*(C`.backup\*(C'\fR or \f(CW\*(C`.readonly\*(C'\fR extension if the backup or read-only version of
+the volume was dumped.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes a line for each Backup Database dump record that
+mentions the specified volume, order from most to least recent. The output
+for each record appears in a table with six columns:
+.IP "dumpID" 4
+.IX Item "dumpID"
+The dump \s-1ID\s0 of the dump that includes the volume.
+.IP "lvl" 4
+.IX Item "lvl"
+The depth in the dump hierarchy of the dump level at which the volume was
+dumped. A value of \f(CW0\fR indicates a full dump. A value of \f(CW1\fR or greater
+indicates an incremental dump made at the specified depth in the dump
+hierarchy.
+.IP "parentid" 4
+.IX Item "parentid"
+The dump \s-1ID\s0 of the dump's parent dump. A value of \f(CW0\fR indicates a full
+dump, which has no parent; in this case, the value in the \f(CW\*(C`lvl\*(C'\fR column is
+also \f(CW0\fR.
+.IP "creation date" 4
+.IX Item "creation date"
+The date and time at which the Backup System started the dump operation
+that created the dump.
+.IP "clone date" 4
+.IX Item "clone date"
+For a backup or read-only volume, the time at which it was cloned from its
+read/write source. For a read/write volume, the same as the value in the
+\&\f(CW\*(C`creation date\*(C'\fR field.
+.IP "tape name" 4
+.IX Item "tape name"
+The name of the tape containing the dump: either the permanent tape name,
+or an \s-1AFS\s0 tape name in the format
+\&\fIvolume_set_name\fR.\fIdump_level_name\fR.\fItape_index\fR where
+\&\fIvolume_set_name\fR is the name of the volume set associated with the
+initial dump in the dump set of which this tape is a part;
+\&\fIdump_level_name\fR is the name of the dump level at which the initial dump
+was backed up; \fItape_index\fR is the ordinal of the tape in the dump
+set. Either type of name can be followed by a dump \s-1ID\s0 in parentheses; if
+it appears, it is the dump \s-1ID\s0 of the initial dump in the dump set to which
+this appended dump belongs.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows part of the dump history of the Backup volume
+\&\f(CW\*(C`user.smith.backup\*(C'\fR:
+.PP
+.Vb 7
+\& % backup volinfo \-volume user.smith.backup
+\& DumpID lvl parentID creation date clone date tape name
+\& 924600000 1 924427600 04/20/1999 05:20 04/20/1999 05:01 user_incr_2 (924514392)
+\& 924514392 1 924427600 04/19/1999 05:33 04/19/1999 05:08 user_incr_2
+\& 924427600 0 0 04/18/1999 05:26 04/18/1999 04:58 user_full_6
+\& . . . . . . . .
+\& . . . . . . . .
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dumpinfo\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_VOLRESTORE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_VOLRESTORE 8"
++.TH BACKUP_VOLRESTORE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_volrestore \- Restores one or more volumes
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup volrestore\fR \fB\-server\fR\ <\fIdestination\ machine\fR>
+ \fB\-partition\fR\ <\fIdestination\ partition\fR>
+ \fB\-volume\fR\ <\fIvolume(s)\ to\ restore\fR>+
+ [\fB\-extension\fR\ <\fInew\ volume\ name\ extension\fR>]
+ [\fB\-date\fR\ <\fIdate\ from\ which\ to\ restore\fR>+]
+ [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offsets\fR>+] [\fB\-n\fR]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup volr\fR \fB\-s\fR\ <\fIdestination\ machine\fR>
+ \fB\-pa\fR\ <\fIdestination\ partition\fR> \fB\-v\fR\ <\fIvolume(s)\ to\ restore\fR>+
+ [\fB\-e\fR\ <\fInew\ volume\ name\ extension\fR>]
+ [\fB\-d\fR\ <\fIdate\ from\ which\ to\ restore\fR>+] [\fB\-po\fR\ <\fI\s-1TC\s0\ port\ offsets\fR>+]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup volrestore\fR command restores the contents of one or more
+volumes to the site indicated by the \fB\-server\fR and \fB\-partition\fR
+arguments. Use the command either to overwrite the contents of existing
+volumes with the restored data or to create new volumes while retaining
+the existing ones. The specified site does not have to be the current site
+for the volumes.
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file associated with the specified
+port offset, then the \fBbackup volrestore\fR command restores data from the
+backup data file listed for that port offset in the Tape Coordinator's
+\&\fI/usr/afs/backup/tapeconfig\fR file, rather than from tape. For the sake of
+clarity, the following text refers to tapes only, but the Backup System
+handles backup data files in much the same way.)
+.PP
+The command's arguments can be combined as indicated:
+.IP "\(bu" 4
+To preserve a volume's current contents and also create a new volume to
+house the restored version, use the \fB\-extension\fR argument. The Backup
+System creates the new volume on the server and partition named by the
+\&\fB\-server\fR and \fB\-partition\fR arguments, assigns it the same name as the
+current volume with the addition of the specified extension, and creates a
+new Volume Location Database (\s-1VLDB\s0) entry for it. Creating a new volume
+enables the administrator to compare the two versions.
+.IP "\(bu" 4
+To overwrite a volume's existing contents with the restored version, omit
+the \fB\-extension\fR argument, and specify the site as indicated:
+.RS 4
+.IP "\(bu" 4
+To retain the current site, specify it with the \fB\-server\fR and
+\&\fB\-partition\fR arguments.
+.IP "\(bu" 4
+To move the volume to a different site while overwriting it, specify the
+new site with the \fB\-server\fR argument, \fB\-partition\fR argument, or
+both. The Backup System creates a new volume at that site, removes the
+existing volume, and updates the site information in the volume's \s-1VLDB\s0
+entry. The backup version of the volume is not removed automatically from
+the original site, if it exists. Use the \fBvos remove\fR command to remove
+it and the \fBvos backup\fR command to create a backup version at the new
+site.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+To restore a volume that no longer exists in the file system, specify its
+name with the \fB\-volume\fR argument and use the \fB\-server\fR and \fB\-partition\fR
+arguments to place it at the desired site. The Backup System creates a new
+volume and new \s-1VLDB\s0 entry.
+.PP
+In each case, the command sets each volume's creation date to the date and
+time at which it restores it. The creation date appears in the \f(CW\*(C`Creation\*(C'\fR
+field in the output from the \fBvos examine\fR and \fBvos listvol\fR commands.
+.PP
+If restoring all of the volumes that resided on a single partition, it is
+usually more efficient to use the \fBbackup diskrestore\fR command. If
+restoring multiple volumes to many different sites, it can be more
+efficient to use the \fBbackup volsetrestore\fR command.
+.PP
+By default, the backup volrestore command restores the most recent full
+dump and all subsequent incremental dumps for each volume, bringing the
+restored volumes to the most current possible state. To restore the
+volumes to their state at some time in the past, use the \fB\-date\fR
+argument. The Backup System restores the most recent full dump and each
+subsequent incremental dump for which the \fIclone date\fR of the volume
+included in the dump is before the indicated date and time (the clone date
+timestamp appears in the \f(CW\*(C`clone date\*(C'\fR field of the output from the
+\&\fBbackup volinfo\fR command). For backup and read-only volumes, the clone
+date represents the time at which the volume was copied from its
+read/write source; for read/write volumes, it represents the time at which
+the volume was locked for inclusion in the dump. The resemblance of a
+restored volume to its actual state at the indicated time depends on the
+amount of time that elapsed between the volume's clone date in the last
+eligible dump and the specified time.
+.PP
+If the \fB\-volume\fR argument specifies the base (read/write) form of the
+volume name, the Backup System searches the Backup Database for the newest
+dump set that includes a dump of either the read/write or the backup
+version of the volume. It restores the dumps of that version of the
+volume, starting with the most recent full dump. If, in contrast, the
+volume name explicitly includes the \f(CW\*(C`.backup\*(C'\fR or \f(CW\*(C`.readonly\*(C'\fR extension,
+the Backup System restores dumps of the corresponding volume version only.
+.PP
+To generate a list of the tapes the Backup System needs to perform the
+restore operation, without actually performing it, combine the \fB\-n\fR flag
+with the options to be used on the actual command.
+.PP
+If all of the full and incremental dumps of all relevant volumes were not
+written to a type of tape that a single Tape Coordinator can read, use the
+\&\fB\-portoffset\fR argument to list multiple port offset numbers in the order
+in which the tapes are needed (first list the port offset for the full
+dump, second the port offset for the level 1 incremental dump, and so
+on). If restoring multiple volumes, the same ordered list of port offsets
+must apply to all of them. If not, either issue this command separately
+for each volume, or use the \fBvos volsetrestore\fR command after defining
+groups of volumes that were dumped to compatible tape types. For further
+discussion, see the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.PP
+The Tape Coordinator's default response to this command is to access the
+first tape it needs by invoking the \fB\s-1MOUNT\s0\fR instruction in the local
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the backup
+operator to insert the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However,
+if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or if the issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR
+flag, the Tape Coordinator instead expects the tape to be in the device
+already. If it is not, or is the wrong tape, the Tape Coordinator invokes
+the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts the operator. It also invokes the
+\&\f(CW\*(C`MOUNT\*(C'\fR instruction or prompts for any additional tapes needed to
+complete the restore operation; the backup operator must arrange to
+provide them.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fIdestination machine\fR>" 4
+.IX Item "-server <destination machine>"
+Names the file server machine on which to restore each volume. If this
+argument and the \fB\-partition\fR argument indicate a site other than the
+current site for each volume, and the \fB\-extension\fR argument is not also
+provided, the Backup System removes the existing volumes from their
+current sites, places the restored contents at the specified site, and
+changes the site information in the volume's \s-1VLDB\s0 entry.
+.IP "\fB\-partition\fR <\fIdestination partition\fR>" 4
+.IX Item "-partition <destination partition>"
+Names the partition to which to restore each volume. If this argument and
+the \fB\-server\fR argument indicate a site other than the current site for
+each volume, and the \fB\-extension\fR argument is not also provided, the
+Backup System removes the existing volumes from their current sites,
+places the restored contents at the specified site, and changes the site
+information in the volume's \s-1VLDB\s0 entry.
+.IP "\fB\-volume\fR <\fIvolume to restore\fR>+" 4
+.IX Item "-volume <volume to restore>+"
+Names one or more volumes to restore, using the volume name as listed in
+the Backup Database. Provide the base (read/write) name of each volume to
+have the Backup System search the Backup Database for the newest dump set
+that includes a dump of either the read/write or the backup version of the
+volume; it restores the dumps of that version of the volume, starting with
+the most recent full dump. If, in contrast, a volume name explicitly
+includes the \f(CW\*(C`.backup\*(C'\fR or \f(CW\*(C`.readonly\*(C'\fR extension, the Backup System
+restores dumps of the corresponding volume version only.
+.IP "\fB\-extension\fR <\fInew volume name extension\fR>" 4
+.IX Item "-extension <new volume name extension>"
+Creates a new volume to house the restored data, with a name derived by
+appending the specified string to each volume named by the \fB\-volume\fR
+argument. The Backup System creates a new \s-1VLDB\s0 entry for the volume. Any
+string other than \f(CW\*(C`.readonly\*(C'\fR or \f(CW\*(C`.backup\*(C'\fR is acceptable, but the
+combination of the existing volume name and extension cannot exceed 22
+characters in length. To use a period to separate the extension from the
+name, specify it as the first character of the string (as in \f(CW\*(C`.rst\*(C'\fR, for
+example).
+.IP "\fB\-date\fR <\fIdate from which to restore\fR>+" 4
+.IX Item "-date <date from which to restore>+"
+Specifies a date and optionally time; the restored volume includes data
+from dumps performed before the date only. Provide a value in the format
+\&\fImm/dd/yyyy\fR [\fIhh\fR:\fI\s-1MM\s0\fR], where the required \fImm/dd/yyyy\fR portion
+indicates the month (\fImm\fR), day (\fIdd\fR), and year (\fIyyyy\fR), and the
+optional \fIhh:MM\fR portion indicates the hour and minutes in 24\-hour format
+(for example, the value \f(CW\*(C`14:36\*(C'\fR represents 2:36 p.m.). If omitted, the
+time defaults to 59 seconds after midnight (00:00:59 hours).
+.Sp
+Valid values for the year range from \f(CW1970\fR to \f(CW2037\fR; higher values are
+not valid because the latest possible date in the standard \s-1UNIX\s0
+representation is in February 2038. The command interpreter automatically
+reduces any later date to the maximum value.
+.Sp
+If this argument is omitted, the Backup System restores all possible dumps
+including the most recently created.
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offest\fR>+" 4
+.IX Item "-portoffset <TC port offest>+"
+Specifies one or more port offset numbers (up to a maximum of 128), each
+corresponding to a Tape Coordinator to use in the operation. If there is
+more than one value, the Backup System uses the first one when restoring
+the full dump of each volume, the second one when restoring the level 1
+incremental dump of each volume, and so on. It uses the final value in the
+list when restoring dumps at the corresponding depth in the dump hierarchy
+and all dumps at lower levels.
+.Sp
+Provide this argument unless the default value of 0 (zero) is appropriate
+for all dumps. If \f(CW0\fR is just one of the values in the list, provide it
+explicitly in the appropriate order.
+.IP "\fB\-n\fR" 4
+.IX Item "-n"
+Displays the list of tapes that contain the dumps required by the restore
+operation, without actually performing the operation.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the issuer includes the \fB\-n\fR flag with the command, the following
+string appears at the head of the list of the tapes necessary to complete
+the restore operation.
+.PP
+.Vb 1
+\& Tapes needed:
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command restores the volume user.pat to partition \fI/vicepa\fR
+on machine \f(CW\*(C`fs5.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % backup volrestore \-server fs5.abc.com \-partition a \-volume user.pat
+.Ve
+.PP
+The following command restores the volumes \f(CW\*(C`user.smith\*(C'\fR and \f(CW\*(C`user.terry\*(C'\fR
+to partition \fI/vicepb\fR on machine \f(CW\*(C`fs4.abc.com\*(C'\fR, adding a \f(CW\*(C`.rst\*(C'\fR
+extension to each volume name and preserving the existing \f(CW\*(C`user.smith\*(C'\fR
+and \f(CW\*(C`user.terry\*(C'\fR volumes. Only dumps created before 5:00 p.m. on 31
+January 1998 are restored. (The command is shown here on multiple lines
+only for legibility reasons.)
+.PP
+.Vb 3
+\& % backup volrestore \-server fs4.abc.com \-partition b \e
+\& \-volume user.smith user.terry \e
+\& \-extension .rst \-date 1/31/1998 17:00
+.Ve
+.PP
+The following command restores the volume user.pat to partition \fI/vicepb\fR
+on machine \f(CW\*(C`fs4.abc.com\*(C'\fR. The Tape Coordinator with port offset 1 handles
+the tape containing the full dump; the Tape Coordinator with port offset 0
+handles all tapes containing incremental dumps. (The command is shown here
+on two lines only for legibility reasons.)
+.PP
+.Vb 2
+\& % backup volrestore \-server fs5.abc.com \-partition a \e
+\& \-volume user.pat \-portoffset 1 0
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server or Volume Location (\s-1VL\s0) Server is running,
+and on every file server machine that houses an affected volume. If the
+\&\fB\-localauth\fR flag is included, the issuer must instead be logged on to a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_volsetrestore\fR\|(8),
+\&\fIbutc\fR\|(8),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_remove\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BACKUP_VOLSETRESTORE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BACKUP_VOLSETRESTORE 8"
++.TH BACKUP_VOLSETRESTORE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+backup_volsetrestore \- Restores all volumes in a volume set
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbackup volsetrestore\fR [\fB\-name\fR\ <\fIvolume\ set\ name\fR>]
+ [\fB\-file\fR\ <\fIfile\ name\fR>] [\fB\-portoffset\fR\ <\fI\s-1TC\s0\ port\ offset\fR>+]
+ [\fB\-extension\fR\ <\fInew\ volume\ name\ extension\fR>] [\fB\-n\fR]
+ [\fB\-localauth\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBbackup vols\fR [\fB\-na\fR\ <\fIvolume\ set\ name\fR>] [\fB\-f\fR\ <\fIfile\ name\fR>]
+ [\fB\-p\fR\ <\fI\s-1TC\s0\ port\ offset\fR>+] [\fB\-e\fR\ <\fInew\ volume\ name\ extension\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbackup volsetrestore\fR command restores the complete contents of a
+group of read/write volumes to the file system, by restoring data from the
+last full dump and all subsequent incremental dumps of each volume. It is
+most useful for recovering from loss of data on multiple partitions, since
+it can restore each of a defined set of volumes to a different site.
+.PP
+(If the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file associated with the specified
+port offset, then the \fBbackup volsetrestore\fR command restores data from
+the backup data file listed for that port offset in the Tape Coordinator's
+\&\fI/usr/afs/backup/tapeconfig\fR file, instead of from tape. For the sake of
+clarity, the following text refers to tapes only, but the Backup System
+handles backup data files in much the same way.)
+.PP
+If restoring one or more volumes to a single site only, it is usually more
+efficient to use the \fBbackup volrestore\fR command. If restoring all
+volumes that resided on a single partition, it is usually more efficient
+to use the \fBbackup diskrestore\fR command.
+.PP
+Indicate the volumes to restore by providing either the \fB\-name\fR argument
+or the \fB\-file\fR argument:
+.IP "\(bu" 4
+The \fB\-name\fR argument names a volume set. The Backup System restores all
+volumes listed in the Volume Location Database (\s-1VLDB\s0) that match the
+server, partition, and volume name criteria defined in the volume set's
+volume entries, and for which dumps are available. It restores the volumes
+to their current site (machine and partition), and by default overwrites
+the existing volume contents.
+.Sp
+It is not required that the volume set was previously used to back up
+volumes (was used as the \fB\-volumeset\fR option to the \fBbackup dump\fR
+command). It can be defined especially to match the volumes that need to
+be restored with this command, and that is usually the better
+choice. Indeed, a \fItemporary\fR volume set, created by including the
+\&\fB\-temporary\fR flag to the \fBbackup addvolset\fR command, can be especially
+useful in this context. A temporary volume set is not added to the Backup
+Database and exists only during the current interactive backup session,
+which is suitable if the volume set is needed only to complete the single
+restore operation initialized by this command.
+.Sp
+The reason that a specially defined volume set is probably better is that
+volume sets previously defined for use in dump operations usually match
+the backup version of volumes, whereas for a restore operation it is best
+to define volume entries that match the base (read/write) name. In that
+case, the Backup System searches the Backup Database for the newest dump
+set that includes either the read/write or the backup version of the
+volume. If, in contrast, a volume entry explicitly matches the volume's
+backup or read-only version, the Backup System restores dumps of that
+volume version only.
+.IP "\(bu" 4
+The \fB\-file\fR argument names a file that lists specific volumes and the
+site to which to restore each. The volume name must match the name used in
+Backup Database dump records rather than in the \s-1VLDB\s0, if they differ,
+because the Backup System does not look up volumes in the \s-1VLDB\s0. The
+specified site can be different than the volume's current one; in that
+case, the Backup System removes the current version of the volume and
+updates the volume's location information in the \s-1VLDB\s0.
+.PP
+If all of the full and incremental dumps of all relevant volumes were not
+written to a type of tape that a single Tape Coordinator can read, use the
+\&\fB\-portoffset\fR argument to list multiple port offset numbers in the order
+in which the tapes are needed (first list the port offset for the full
+dump, second the port offset for the level 1 incremental dump, and so
+on). This implies that the full dumps of all relevant volumes must have
+been written to a type of tape that the first Tape Coordinator can read,
+the level 1 incremental dumps to a type of tape the second Tape
+Coordinator can read, and so on. If dumps are on multiple incompatible
+tape types, use the \fBbackup volrestore\fR command to restore individual
+volumes, or use this command after defining new volume sets that group
+together volumes that were dumped to compatible tape types. For further
+discussion, see the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.PP
+By default, the Backup System overwrites the contents of an existing
+volume with the restored data. To create a new volume to house the
+restored version instead, use the \fB\-extension\fR argument. The Backup
+System derives the new volume's name by adding the specified extension to
+the read/write base name, and creates a new \s-1VLDB\s0 entry. The command does
+not affect the existing volume in any way. However, if a volume with the
+specified extension also already exists, the command overwrites it.
+.PP
+The \fB\-n\fR flag produces a list of the volumes to be restored if the \fB\-n\fR
+flag were not included, without actually restoring any volumes. See
+\&\s-1OUTPUT\s0 for a detailed description of the output, and suggestions on how
+to combine it most effectively with the \fB\-file\fR and \fB\-name\fR arguments.
+.PP
+The execution time for a \fBbackup volsetrestore\fR command depends on the
+number of volumes to be restored and the amount of data in them, but it
+can take hours to restore a large number of volumes. One way to reduce the
+time is to run multiple instances of the command simultaneously, either
+using the \fB\-name\fR argument to specify disjoint volume sets for each
+command, or the \fB\-file\fR argument to name files that list different
+volumes. This is possible if there are multiple available Tape
+Coordinators that can read the required tapes. Depending on how the
+volumes to be restored were dumped to tape, specifying disjoint volume
+sets can also reduce the number of tape changes required.
+.PP
+The Tape Coordinator's default response to this command is to access the
+first tape it needs by invoking the \f(CW\*(C`MOUNT\*(C'\fR instruction in the local
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file, or by prompting the backup
+operator to insert the tape if there is no \f(CW\*(C`MOUNT\*(C'\fR instruction. However,
+if the \f(CW\*(C`AUTOQUERY NO\*(C'\fR instruction appears in the \fI\s-1CFG_\s0\fIdevice_name\fI\fR
+file, or if the issuer of the \fBbutc\fR command included the \fB\-noautoquery\fR
+flag, the Tape Coordinator instead expects the tape to be in the device
+already. If it is not, or is the wrong tape, the Tape Coordinator invokes
+the \f(CW\*(C`MOUNT\*(C'\fR instruction or prompts the operator. It also invokes the
+\&\f(CW\*(C`MOUNT\*(C'\fR instruction or prompts for any additional tapes needed to
+complete the restore operation; the backup operator must arrange to
+provide them.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIvolume set name\fR>" 4
+.IX Item "-name <volume set name>"
+Names a volume set to restore. The Backup System restores all of the
+volumes listed in the \s-1VLDB\s0 that match the volume set's volume
+entries. Provide this argument or the \fB\-file\fR argument, but not both.
+.IP "\fB\-file\fR <\fIfile name\fR>" 4
+.IX Item "-file <file name>"
+Specifies the full pathname of a file that lists one or more volumes and
+the site (file server machine and partition) to which to restore each.
+Use either this argument or the \fB\-name\fR argument, but not both.
+.Sp
+Each volume's entry must appear on its own (unbroken) line in the file,
+and have the following format:
+.Sp
+.Vb 1
+\& <machine> <partition> <volume> [<comments> ...]
+.Ve
+.Sp
+where
+.RS 4
+.IP "<machine>" 4
+.IX Item "<machine>"
+Names the file server machine to which to restore the volume.
+.IP "<partition>" 4
+.IX Item "<partition>"
+Names the partition to which to restore the volume.
+.IP "<volume>" 4
+.IX Item "<volume>"
+Names the volume to restore. It is generally best to specify the base
+(read/write) name of each volume. In this case, the Backup System searches
+the Backup Database for the newest dump set that includes a dump of either
+the read/write or the backup version of the volume. It restores the dumps
+of that version of the volume, starting with the most recent full
+dump. If, in contrast, the name explicitly includes the \f(CW\*(C`.backup\*(C'\fR or
+\&\f(CW\*(C`.readonly\*(C'\fR extension, the Backup System restores dumps of that volume
+version only.
+.IP "<comments> ..." 4
+.IX Item "<comments> ..."
+Is any other text. The Backup System ignores any text on each line that
+appears after the volume name, so this field can be used for notes helpful
+to the backup operator or other administrator.
+.RE
+.RS 4
+.Sp
+Do not use wildcards (for example, \f(CW\*(C`.*\*(C'\fR) in the <machine>, <partition>,
+or <volume> fields. It is acceptable for multiple lines in the file to
+name the same volume, but the Backup System processes only the first of
+them.
+.RE
+.IP "\fB\-extension\fR <\fInew volume name extension\fR>" 4
+.IX Item "-extension <new volume name extension>"
+Creates a new volume for each volume specified by the \fB\-name\fR or \fB\-file\fR
+argument, to house the restored data from that volume. The Backup System
+derives the new volume's name by appending the specified string to the
+read/write base name, and creates a new \s-1VLDB\s0 volume entry. It preserves
+the contents of each existing volume. Any string other than \f(CW\*(C`.readonly\*(C'\fR
+or \f(CW\*(C`.backup\*(C'\fR is acceptable, but the combination of the base name and
+extension cannot exceed 22 characters in length. To use a period to
+separate the extension from the name, specify it as the first character of
+the string (as in \f(CW\*(C`.rst\*(C'\fR, for example).
+.IP "\fB\-portoffset\fR <\fI\s-1TC\s0 port offset\fR>+" 4
+.IX Item "-portoffset <TC port offset>+"
+Specifies one or more port offset numbers (up to a maximum of 128), each
+corresponding to a Tape Coordinator to use in the operation. If there is
+more than one value, the Backup System uses the first one when restoring
+the full dump of each volume, the second one when restoring the level 1
+incremental dump of each volume, and so on. It uses the final value in the
+list when restoring dumps at the corresponding depth in the dump hierarchy
+and all dumps at lower levels.
+.Sp
+Provide this argument unless the default value of 0 (zero) is appropriate
+for all dumps. If \f(CW0\fR is just one of the values in the list, provide it
+explicitly in the appropriate order.
+.IP "\fB\-n\fR" 4
+.IX Item "-n"
+Displays a list of the volumes to be restored if the flag were not
+included, without actually restoring them. \s-1OUTPUT\s0 details the format of
+the output. When combined with the \fB\-name\fR argument, its output is easily
+edited for use as input to the \fB\-file\fR argument on a subsequent \fBbackup
+volsetrestore\fR command.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbackup\fR command interpreter presents
+it to the Backup Server, Volume Server and \s-1VL\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument. For
+more details, see \fIbackup\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbackup\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the \fB\-n\fR flag is not provided, the command displays a unique task \s-1ID\s0
+number for the operation, in two places:
+.IP "\(bu" 4
+In the shell window, directly following the command line.
+.IP "\(bu" 4
+In the Tape Coordinator window, if the butc process was started at debug
+level 1.
+.PP
+The task \s-1ID\s0 number is not the same as the job \s-1ID\s0 number displayed by the
+\&\fBbackup jobs\fR command when the \fBbackup volsetrestore\fR command is issued
+in interactive mode. The Backup System does not assign either type of \s-1ID\s0
+number until the restoration process actually begins.
+.PP
+When the \fB\-n\fR flag is included, no task \s-1ID\s0 or job \s-1ID\s0 numbers are reported
+because none are assigned. Instead, the output begins with a count of the
+number of volumes to be restored, followed by a line for each dump of a
+volume. For each volume, the line representing the most recent full dump
+appears first, and lines for any subsequent incremental dumps follow,
+ordered by dump level. The lines for a given volume do not necessarily
+appear all together, however.
+.PP
+The format of each line is as follows (the output is shown here on two
+lines only for legibility reasons):
+.PP
+.Vb 2
+\& <machine> <partition> <volume_dumped> # as <volume_restored>; \e
+\& <tape_name> (<tape_ID>); pos <position_number>; <date>
+.Ve
+.PP
+where
+.IP "<machine>" 4
+.IX Item "<machine>"
+Names the file server machine that currently houses the volume, as listed
+in the \s-1VLDB\s0.
+.IP "<partition>" 4
+.IX Item "<partition>"
+Names the partition that currently houses the volume, as listed in the
+\&\s-1VLDB\s0.
+.IP "<volume_dumped>" 4
+.IX Item "<volume_dumped>"
+Specifies the version (read/write or backup) of the volume that was
+dumped, as listed in the Backup Database.
+.IP "<volume_restored>" 4
+.IX Item "<volume_restored>"
+Specifies the name under which to restore the volume. The Backup System
+only restores data to read/write volumes. If the \fB\-extension\fR argument is
+included, then the specified extension appears on the name in this field
+(for example, \f(CW\*(C`user.pat.rst\*(C'\fR).
+.IP "<tape_name>" 4
+.IX Item "<tape_name>"
+Names the tape containing the dump of the volume, from the Backup
+Database. If the tape has a permanent name, it appears here; otherwise, it
+is the \s-1AFS\s0 tape name.
+.IP "<tape_ID>" 4
+.IX Item "<tape_ID>"
+The tape \s-1ID\s0 of the tape containing the dump of the volume, from the Backup
+Database.
+.IP "<position_number>" 4
+.IX Item "<position_number>"
+Specifies the dump's position on the tape (for example, \f(CW31\fR indicates
+that 30 volume dumps precede the current one on the tape). If the dump was
+written to a backup data file, this number is the ordinal of the 16
+KB-offset at which the volume's data begins.
+.IP "<date>" 4
+.IX Item "<date>"
+The date and time when the volume was dumped.
+.PP
+One way to generate a file for use as input to the \fB\-file\fR argument is to
+combine the \fB\-name\fR and \fB\-n\fR options, directing the output to a
+file. The \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR section on using the Backup
+System to restore data explains how to edit the file as necessary before
+using it as input to the \fB\-file\fR argument.
+.PP
+The output of this command includes only volumes for which the Backup
+Database includes at least one dump record. The command interpreter
+generates a message on the standard error stream about volumes that do not
+have dump records but either are listed in the file named by the \fB\-file\fR
+argument, or appear in the \s-1VLDB\s0 as a match to a volume entry in the volume
+set named by the \fB\-name\fR argument.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command restores all volumes included in entries in the
+volume set named \f(CW\*(C`data.restore\*(C'\fR, which was created expressly to restore
+data to a pair of file server machines on which all data was corrupted due
+to a software error. All volumes are restored to the sites recorded in
+their entries in the \s-1VLDB\s0.
+.PP
+.Vb 4
+\& % backup volsetrestore \-name data.restore
+\& Starting restore
+\& backup: task ID of restore operation: 112
+\& backup: Finished doing restore
+.Ve
+.PP
+The following command restores all volumes that have entries in the file
+named \fI/tmp/restore\fR:
+.PP
+.Vb 4
+\& % backup volsetrestore \-file /tmp/restore
+\& Starting restore
+\& backup: task ID of restore operation: 113
+\& backup: Finished doing restore
+.Ve
+.PP
+The \fI/tmp/restore\fR file has the following contents:
+.PP
+.Vb 6
+\& fs1.abc.com b user.pat
+\& fs1.abc.com b user.terry
+\& fs1.abc.com b user.smith
+\& fs2.abc.com c user.jones
+\& . . .
+\& . . .
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server or Volume Location (\s-1VL\s0) Server is running,
+and on every file server machine that houses an affected volume. If the
+\&\fB\-localauth\fR flag is included, the issuer must instead be logged on to a
+server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbutc\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbackup_addvolentry\fR\|(8),
+\&\fIbackup_addvolset\fR\|(8),
+\&\fIbackup_diskrestore\fR\|(8),
+\&\fIbackup_dump\fR\|(8),
+\&\fIbackup_volrestore\fR\|(8),
+\&\fIbutc\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS 8"
++.TH BOS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos \- Introduction to the bos command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBbos\fR command suite are the administrative interface
+to the Basic OverSeer (\s-1BOS\s0) Server, which runs on every file server
+machine to monitor the other server processes on it. If a process fails,
+the \s-1BOS\s0 Server can restart it automatically, taking into account
+interdependencies between it and other processes. The \s-1BOS\s0 Server frees
+system administrators from constantly monitoring the status of server
+machines and processes.
+.PP
+There are several categories of commands in the \fBbos\fR command suite:
+.IP "\(bu" 4
+Commands to administer server process binary files: \fBbos getdate\fR, \fBbos
+install\fR, \fBbos prune\fR, and \fBbos uninstall\fR.
+.IP "\(bu" 4
+Commands to maintain system configuration files: \fBbos addhost\fR, \fBbos
+addkey\fR, \fBbos adduser\fR, \fBbos listhosts\fR, \fBbos listkeys\fR, \fBbos
+listusers\fR, \fBbos removehost\fR, \fBbos removekey\fR, \fBbos removeuser\fR, and
+\&\fBbos setcellname\fR.
+.IP "\(bu" 4
+Commands to start and stop processes: \fBbos create\fR, \fBbos delete\fR, \fBbos
+restart\fR, \fBbos shutdown\fR, \fBbos start\fR, \fBbos startup\fR, and \fBbos stop\fR.
+.IP "\(bu" 4
+Commands to set and verify server process and server machine status: \fBbos
+getlog\fR, \fBbos getrestart\fR, \fBbos setauth\fR, \fBbos setrestart\fR, and \fBbos
+status\fR.
+.IP "\(bu" 4
+A command to restore file system consistency: \fBbos salvage\fR.
+.IP "\(bu" 4
+Commands to obtain help: \fBbos apropos\fR and \fBbos help\fR.
+.PP
+The \s-1BOS\s0 Server and the \fBbos\fR commands use and maintain the following
+configuration and log files:
+.IP "\(bu" 4
+The \fI/usr/afs/etc/CellServDB\fR file lists the local cell's database server
+machines. These machines run the Authentication, Backup, Protection and
+Volume Location (\s-1VL\s0) Server processes, which maintain databases of
+administrative information. The database server processes consult the file
+to learn about their peers, whereas the other server processes consult it
+to learn where to access database information as needed. To administer the
+\&\fICellServDB\fR file, use the following commands: \fBbos addhost\fR, \fBbos
+listhosts\fR, \fBbos removehost\fR, and \fBbos setcellname\fR.
+.IP "\(bu" 4
+The \fI/usr/afs/etc/KeyFile\fR file lists the server encryption keys that the
+server processes use to decrypt tickets presented by client processes and
+one another. To administer the \fIKeyFile\fR file, use the following
+commands: \fBbos addkey\fR, \fBbos listkeys\fR, and \fBbos removekey\fR.
+.IP "\(bu" 4
+The \fI/usr/afs/etc/ThisCell\fR file defines the cell to which the server
+machine belongs for the purposes of server-to-server communication.
+Administer it with the \fBbos setcellname\fR command. There is also a
+\&\fI/usr/vice/etc/ThisCell\fR file that defines the machine's cell membership
+with respect to the \s-1AFS\s0 command suites and Cache Manager access to \s-1AFS\s0
+data.
+.IP "\(bu" 4
+The \fI/usr/afs/etc/UserList\fR file lists the user name of each
+administrator authorized to issue privileged \fBbos\fR and \fBvos\fR
+commands. To administer the \fIUserList\fR file, use the following commands:
+\&\fBbos adduser\fR, \fBbos listusers\fR, and \fBbos removeuser\fR.
+.IP "\(bu" 4
+The \fI/usr/afs/local/BosConfig\fR file defines which \s-1AFS\s0 server processes
+run on the server machine, and whether the \s-1BOS\s0 Server restarts them
+automatically if they fail. It also defines when all processes restart
+automatically (by default once per week), and when the \s-1BOS\s0 Server restarts
+processes that have new binary files (by default once per day). To
+administer the \fIBosConfig\fR file, use the following commands: \fBbos
+create\fR, \fBbos delete\fR, \fBbos getrestart\fR, \fBbos setrestart\fR, \fBbos
+start\fR, and \fBbos stop\fR.
+.IP "\(bu" 4
+The \fI/usr/afs/log/BosLog\fR file records important operations the \s-1BOS\s0
+Server performs and error conditions it encounters.
+.PP
+For more details, see the reference page for each file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following arguments and flags are available on many commands in the
+\&\fBbos\fR suite. The reference page for each command also lists them, but
+they are described here in greater detail.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. It is acceptable to abbreviate
+the cell name to the shortest form that distinguishes it from the other
+entries in the \fI/usr/vice/etc/CellServDB\fR file on the local machine. If
+the \fB\-cell\fR argument is omitted, the command interpreter determines the
+name of the local cell by reading the following in order:
+.RS 4
+.IP "\(bu" 4
+The value of the \s-1AFSCELL\s0 environment variable.
+.IP "\(bu" 4
+The local \fI/usr/vice/etc/ThisCell\fR file.
+.RE
+.RS 4
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell.
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using the server encryption key with the
+highest key version number in the local \fI/usr/afs/etc/KeyFile\fR file. The
+\&\fBbos\fR command interpreter presents the ticket, which never expires, to
+the \s-1BOS\s0 Server during mutual authentication.
+.Sp
+Use this flag only when issuing a command on a server machine; client
+machines do not usually have a \fI/usr/afs/etc/KeyFile\fR file. The issuer
+of a command that includes this flag must be logged on to the server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR. The flag is useful for commands
+invoked by an unattended application program, such as a process controlled
+by the \s-1UNIX\s0 \fBcron\fR utility or by a cron entry in the machine's
+\&\fI/usr/afs/local/BosConfig\fR file. It is also useful if an administrator is
+unable to authenticate to \s-1AFS\s0 but is logged in as the local superuser
+\&\f(CW\*(C`root\*(C'\fR.
+.Sp
+Do not combine the \fB\-cell\fR and \fB\-localauth\fR options. A command on which
+the \fB\-localauth\fR flag is included always runs in the local cell (as
+defined in the server machine's local \fI/usr/afs/etc/ThisCell\fR file),
+whereas a command on which the \fB\-cell\fR argument is included runs in the
+specified foreign cell. Also, do not combine the \fB\-localauth\fR and
+\&\fB\-noauth\fR flags.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Establishes an unauthenticated connection to the \s-1BOS\s0 Server, in which the
+\&\s-1BOS\s0 Server treats the issuer as the unprivileged user \f(CW\*(C`anonymous\*(C'\fR. It is
+useful only when authorization checking is disabled on the server machine
+(during the installation of a file server machine or when the \fBbos
+setauth\fR command has been used during other unusual circumstances). In
+normal circumstances, the \s-1BOS\s0 Server allows only privileged users to issue
+commands that change the status of a server or configuration file, and
+refuses to perform such an action even if the \fB\-noauth\fR flag is
+provided. Do not combine the \fB\-noauth\fR and \fB\-localauth\fR flags.
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the \s-1AFS\s0 server machine on which to run the command. Identify
+the machine by its \s-1IP\s0 address in dotted decimal format, its
+fully-qualified host name (for example, \f(CW\*(C`fs1.abc.com\*(C'\fR), or by an
+abbreviated form of its host name that distinguishes it from other
+machines. Successful use of an abbreviated form depends on the
+availability of a name service (such as the Domain Name Service or a local
+host table) at the time the command is issued.
+.Sp
+For the commands that alter the administrative files shared by all server
+machines in the cell (the \fBbos addhost\fR, \fBbos addkey\fR, \fBbos adduser\fR,
+\&\fBbos removehost\fR, \fBbos removekey\fR, and \fBbos removeuser\fR commands), the
+appropriate machine depends on whether the cell uses the United States or
+international version of \s-1AFS:\s0
+.RS 4
+.IP "\(bu" 4
+If the cell (as recommended) uses the Update Server to distribute the
+contents of the \fI/usr/afs/etc\fR directory, provide the name of the system
+control machine. After issuing the command, allow up to five minutes for
+the Update Server to distribute the changed file to the other \s-1AFS\s0 server
+machines in the cell. If the specified machine is not the system control
+machine but is running an \fBupclient\fR process that refers to the system
+control machine, then the change will be overwritten when the process next
+brings over the relevant file from the system control machine.
+.IP "\(bu" 4
+Otherwise, repeatedly issue the command, naming each of the cell's server
+machines in turn. To avoid possible inconsistency problems, finish issuing
+the commands within a fairly short time.
+.RE
+.RS 4
+.RE
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To issue any bos command that changes a configuration file or alters
+process status, the issuer must be listed in the \fI/usr/afs/etc/UserList\fR
+file on the server machine named by the \fB\-server\fR
+argument. Alternatively, if the \fB\-localauth\fR flag is included the issuer
+must be logged on as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+To issue a bos command that only displays information (other than the
+\&\fBbos listkeys\fR command), no privilege is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fICellServDB\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIThisCell\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos_addhost\fR\|(8),
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_adduser\fR\|(8),
+\&\fIbos_apropos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_delete\fR\|(8),
+\&\fIbos_exec\fR\|(8),
+\&\fIbos_getdate\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbos_getrestart\fR\|(8),
+\&\fIbos_help\fR\|(8),
+\&\fIbos_install\fR\|(8),
+\&\fIbos_listhosts\fR\|(8),
+\&\fIbos_listkeys\fR\|(8),
+\&\fIbos_listusers\fR\|(8),
+\&\fIbos_prune\fR\|(8),
+\&\fIbos_removehost\fR\|(8),
+\&\fIbos_removekey\fR\|(8),
+\&\fIbos_removeuser\fR\|(8),
+\&\fIbos_restart\fR\|(8),
+\&\fIbos_salvage\fR\|(8),
+\&\fIbos_setauth\fR\|(8),
+\&\fIbos_setcellname\fR\|(8),
+\&\fIbos_setrestart\fR\|(8),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIbos_start\fR\|(8),
+\&\fIbos_startup\fR\|(8),
+\&\fIbos_status\fR\|(8),
+\&\fIbos_stop\fR\|(8),
+\&\fIbos_uninstall\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_ADDHOST 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_ADDHOST 8"
++.TH BOS_ADDHOST 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_addhost \- Adds a database server machine to the CellServDB file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos addhost\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-host\fR\ <\fIhost\ name\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos addh\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-ho\fR\ <\fIhost\ name\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-he\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos addhost\fR command adds an entry for each database server machine
+specified with the \fB\-host\fR argument to the \fI/usr/afs/etc/CellServDB\fR
+file on the machine named by the \fB\-server\fR argument.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+After executing this command (and waiting for the Update Server to
+propagate the changes, if it is used), restart the database server
+processes on all database server machines to force election of a quorum
+that includes the new set of machines listed in the
+\&\fI/usr/afs/etc/CellServDB\fR file. The \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR explains
+in more detail how to add and remove database server machines.
+.PP
+It is best to maintain a one-to-one mapping between hostnames and \s-1IP\s0
+addresses on a multihomed database server machine (this is actually the
+conventional configuration for any \s-1AFS\s0 machine). The \s-1BOS\s0 Server uses the
+\&\fIgethostbyname()\fR routine to obtain the \s-1IP\s0 address associated with the
+hostname specified by the \fB\-host\fR argument. If there is more than one
+address, the \s-1BOS\s0 Server records in the \fICellServDB\fR entry the one that
+appears first in the list of addresses returned by the routine. The
+routine possibly returns addresses in a different order on different
+machines, which can create inconsistency.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Identifies the server machine on which to change the
+\&\fI/usr/afs/etc/CellServDB\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
+control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
+the command for each file server machine. For further discussion, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-host\fR <\fIhost name\fR>+" 4
+.IX Item "-host <host name>+"
+Specifies the fully-qualified host name (such as \f(CW\*(C`db1.abc.com\*(C'\fR) of each
+database server machine to register in the \fICellServDB\fR file.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this
+argument with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command adds the database server machines \f(CW\*(C`db2.abc.com\*(C'\fR and
+\&\f(CW\*(C`db3.abc.com\*(C'\fR to the \fI/usr/afs/etc/CellServDB\fR file on the machine
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR (the system control machine).
+.PP
+.Vb 1
+\& % bos addhost \-server fs1.abc.com \-host db2.abc.com db3.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_listhosts\fR\|(8),
+\&\fIbos_removehost\fR\|(8)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_ADDKEY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_ADDKEY 8"
++.TH BOS_ADDKEY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_addkey \- Adds a new server encryption key to the KeyFile file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos addkey\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-key\fR\ <\fIkey\fR>]
+ \fB\-kvno\fR\ <\fIkey\ version\ number\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos addk\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-ke\fR\ <\fIkey\fR>]
+ \fB\-kv\fR\ <\fIkey\ version\ number\fR> [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos addkey\fR command constructs a server encryption key from the text
+string provided, assigns it the key version number specified with the
+\&\fB\-kvno\fR argument, and adds it to the \fI/usr/afs/etc/KeyFile\fR file on the
+machine specified with the \fB\-server\fR argument. Be sure to use the \fBkas
+setpassword\fR or \fBkas setkey\fR command to add the same key to the \f(CW\*(C`afs\*(C'\fR
+entry in the Authentication Database.
+.PP
+Do not use the \fB\-key\fR argument, which echoes the password string visibly
+on the screen. If the argument is omitted, the \s-1BOS\s0 Server prompts for the
+string and does not echo it visibly:
+.PP
+.Vb 2
+\& Input key:
+\& Retype input key:
+.Ve
+.PP
+The \s-1BOS\s0 Server prohibits reuse of any key version number already listed in
+the \fI/usr/afs/etc/KeyFile\fR file. This ensures that users who still have
+tickets sealed with the current key are not prevented from communicating
+with a server process because the current key is overwritten with a new
+key. Use the \fBbos listkeys\fR command to display the key version numbers in
+the \fI/usr/afs/etc/KeyFile\fR file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to change the
+\&\fI/usr/afs/etc/KeyFile\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
+control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
+the command for each file server machine. For further discussion, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-key\fR <\fIkey\fR>" 4
+.IX Item "-key <key>"
+Specifies a character string just like a password; the \s-1BOS\s0 Server calls a
+\&\s-1DES\s0 conversion function to encode it into a form appropriate for use as an
+encryption key. Omit this argument to have the \s-1BOS\s0 Server prompt for the
+string instead.
+.IP "\fB\-kvno\fR <\fIkey version number\fR>" 4
+.IX Item "-kvno <key version number>"
+Defines the new key's key version number. It must be an integer in the
+range from \f(CW0\fR (zero) through \f(CW255\fR. For the sake of simplicity, use
+the number one higher than the current highest key version number; use the
+\&\fBbos listkeys\fR command to display key version numbers.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If the strings typed at the \f(CW\*(C`Input key\*(C'\fR and \f(CW\*(C`Retype input key\*(C'\fR prompts
+do not match, the following message appears, and the command exits without
+adding a new key:
+.PP
+.Vb 1
+\& Input key mismatch
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command adds a new server encryption key with key version
+number 14 to the \fBKeyFile\fR file kept on the machine \f(CW\*(C`fs1.abc.com\*(C'\fR (the
+system control machine). The issuer omits the \fB\-key\fR argument, as
+recommended, and provides the password at the prompts.
+.PP
+.Vb 3
+\& % bos addkey \-server fs1.abc.com \-kvno 14
+\& Input key:
+\& Retype input key:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_listkeys\fR\|(8),
+\&\fIbos_removekey\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_ADDUSER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_ADDUSER 8"
++.TH BOS_ADDUSER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_adduser \- Adds a privileged user to the UserList file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos adduser\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-user\fR\ <\fIuser\ names\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos addu\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-u\fR\ <\fIuser\ names\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The bos adduser command adds each user name specified with the \fB\-user\fR
+argument to the \fI/usr/afs/etc/UserList\fR file on the machine named by the
+\&\fB\-server\fR argument. It is the issuer's responsibility to verify that an
+entry for the user exists in the Authentication and Protection Databases.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to change the
+\&\fI/usr/afs/etc/UserList\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
+control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
+the command for each file server machine. For further discussion, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-user\fR <\fIuser names\fR>+" 4
+.IX Item "-user <user names>+"
+Specifies each user name to insert into the \fI/usr/afs/etc/UserList\fR file.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command adds the user names \f(CW\*(C`pat\*(C'\fR and \f(CW\*(C`smith\*(C'\fR to the
+\&\fI/usr/afs/etc/UserList\fR file on the machine \f(CW\*(C`fs1.abc.com\*(C'\fR (the system
+control machine).
+.PP
+.Vb 1
+\& % bos adduser \-server fs1.abc.com \-user pat smith
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_listusers\fR\|(8),
+\&\fIbos_removeuser\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_APROPOS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_APROPOS 8"
++.TH BOS_APROPOS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBbos ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos apropos\fR command displays the first line of the online help
+entry for any \fBbos\fR command that has in its name or short description the
+string specified by the \fB\-topic\fR argument.
+.PP
+To display the syntax for a command, use the \fBbos help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes (\f(CW""\fR)
+or other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBbos\fR command where the string specified with the \fB\-topic\fR argument is
+part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists all \fBbos\fR commands that include the word
+\&\f(CW\*(C`restart\*(C'\fR in their names or short descriptions:
+.PP
+.Vb 4
+\& % bos apropos restart
+\& getrestart: get restart times
+\& restart: restart all processes
+\& setrestart: set restart times
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos\fR\|(8),
+\&\fIbos_help\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_CREATE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_CREATE 8"
++.TH BOS_CREATE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_create \- Defines a new process in the BosConfig file and starts it
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos create\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-instance\fR\ <\fIserver\ process\ name\fR> \fB\-type\fR\ <\fIserver\ type\fR>
+ \fB\-cmd\fR\ <\fIcommand\ lines\fR>+ [\fB\-notifier\fR\ <\fInotifier\ program\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos c\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-i\fR\ <\fIserver\ process\ name\fR>
+ \fB\-t\fR\ <\fIserver\ type\fR> \fB\-cm\fR\ <\fIcommand\ lines\fR>+
+ [\fB\-not\fR\ <\fInotifier\ program\fR>] [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-noa\fR]
+ [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos create\fR command creates a server process entry in the
+\&\fI/usr/afs/local/BosConfig\fR file on the server machine named by the
+\&\fB\-server\fR argument, sets the process's status to \f(CW\*(C`Run\*(C'\fR in the
+\&\fIBosConfig\fR file and in memory, and starts the process.
+.PP
+A server process's entry in the \fIBosConfig\fR file defines its name, its
+type, the command that initializes it, and optionally, the name of a
+notifier program that runs when the process terminates.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to define and start the new
+process. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIserver process name\fR>" 4
+.IX Item "-instance <server process name>"
+Names the process to define and start. Any name is acceptable, but for the
+sake of simplicity it is best to use the last element of the process's
+binary file pathname, and to use the same name on every server
+machine. The conventional names, as used in all \s-1AFS\s0 documentation, are:
+.RS 4
+.IP "buserver" 4
+.IX Item "buserver"
+The Backup Server process.
+.IP "fs" 4
+.IX Item "fs"
+The process that combines the File Server, Volume Server, and Salvager
+processes (\fBfileserver\fR, \fBvolserver\fR, and \fBsalvager\fR).
+.IP "kaserver" 4
+.IX Item "kaserver"
+The Authentication Server process.
+.IP "ptserver" 4
+.IX Item "ptserver"
+The Protection Server process.
+.IP "runntp" 4
+.IX Item "runntp"
+The controller process for the Network Time Protocol Daemon.
+.IP "upclientbin" 4
+.IX Item "upclientbin"
+The client portion of the Update Server process that retrieves binary
+files from the \fI/usr/afs/bin\fR directory of the binary distribution
+machine for this machine's CPU/operating system type. (The name of the
+binary is \fBupclient\fR, but the \f(CW\*(C`bin\*(C'\fR suffix distinguishes this process
+from \f(CW\*(C`upclientetc\*(C'\fR.)
+.IP "upclientetc" 4
+.IX Item "upclientetc"
+The client portion of the Update Server process that retrieves
+configuration files from the \fI/usr/afs/etc\fR directory of the system
+control machine. (The name of the binary is \fBupclient\fR, but the \f(CW\*(C`etc\*(C'\fR
+suffix distinguishes this process from \f(CW\*(C`upclientbin\*(C'\fR.)
+.IP "upserver" 4
+.IX Item "upserver"
+The server portion of the Update Server process.
+.IP "vlserver" 4
+.IX Item "vlserver"
+The Volume Location (\s-1VL\s0) Server process.
+.RE
+.RS 4
+.RE
+.IP "\fB\-type\fR <\fIserver type\fR>" 4
+.IX Item "-type <server type>"
+Specifies the process's type. The acceptable values are:
+.RS 4
+.IP "cron" 4
+.IX Item "cron"
+Use this value for cron-type processes that the \s-1BOS\s0 Server starts only at
+a defined daily or weekly time, rather than whenever it detects that the
+process has terminated. \s-1AFS\s0 does not define any such processes by default,
+but makes this value available for administrator use. Define the time for
+command execution as part of the \fB\-cmd\fR argument to the \fBbos create\fR
+command.
+.IP "fs" 4
+.IX Item "fs"
+Use this value only for the fs process, which combines the File Server,
+Volume Server and Salvager processes. If one of the component processes
+terminates, the \s-1BOS\s0 Server shuts down and restarts the processes in the
+appropriate order.
+.IP "simple" 4
+.IX Item "simple"
+Use this value for all processes listed as acceptable values to the
+\&\fB\-instance\fR argument, except for the \fBfs\fR process. There are no
+interdependencies between simple processes, so the \s-1BOS\s0 Server can stop and
+start them independently as necessary.
+.RE
+.RS 4
+.RE
+.IP "\fB\-cmd\fR <\fIcommand lines\fR>+" 4
+.IX Item "-cmd <command lines>+"
+Specifies each command the \s-1BOS\s0 Server runs to start the process. Specify
+no more than six commands (which can include the command's options, in
+which case the entire string is surrounded by double quotes); any
+additional commands are ignored.
+.Sp
+For a simple process, provide the complete pathname of the process's
+binary file on the local disk (for example, \fI/usr/afs/bin/ptserver\fR for
+the Protection Server). If including any of the initialization command's
+options, surround the entire command in double quotes (\f(CW""\fR). The
+\&\fBupclient\fR process has a required argument, and the commands for all
+other processes take optional arguments.
+.Sp
+For the fs process, provide the complete pathname of the local disk binary
+file for each of the component processes: \fBfileserver\fR, \fBvolserver\fR, and
+\&\fBsalvager\fR, in that order. The standard binary directory is
+\&\fI/usr/afs/bin\fR. If including any of an initialization command's options,
+surround the entire command in double quotes (\f(CW""\fR).
+.Sp
+For a cron process, provide two parameters:
+.RS 4
+.IP "\(bu" 4
+The complete local disk pathname of either an executable file or a command
+from one of the \s-1AFS\s0 suites (complete with all of the necessary
+arguments). Surround this parameter with double quotes (\f(CW""\fR) if it
+contains spaces.
+.IP "\(bu" 4
+A specification of when the \s-1BOS\s0 Server executes the file or command
+indicated by the first parameter. There are three acceptable values:
+.RS 4
+.IP "\(bu" 4
+The string \f(CW\*(C`now\*(C'\fR, which directs the \s-1BOS\s0 Server to execute the file or
+command immediately and only once. It is usually simpler to issue the
+command directly or issue the \fBbos exec\fR command.
+.IP "\(bu" 4
+A time of day. The \s-1BOS\s0 Server executes the file or command daily at the
+indicated time. Separate the hours and minutes with a colon (\fIhh:MM\fR),
+and use either 24\-hour format, or a value in the range from \f(CW\*(C`1:00\*(C'\fR
+through \f(CW\*(C`12:59\*(C'\fR with the addition of \f(CW\*(C`am\*(C'\fR or \f(CW\*(C`pm\*(C'\fR. For example, both
+\&\f(CW\*(C`14:30\*(C'\fR and \f(CW"2:30 pm"\fR indicate 2:30 in the afternoon. Surround this
+parameter with double quotes (\f(CW""\fR) if it contains a space.
+.IP "\(bu" 4
+A day of the week and time of day, separated by a space and surrounded
+with double quotes (\f(CW""\fR). The \s-1BOS\s0 Server executes the file or command
+weekly at the indicated day and time. For the day, provide either the
+whole name or the first three letters, all in lowercase letters (\f(CW\*(C`sunday\*(C'\fR
+or \f(CW\*(C`sun\*(C'\fR, \f(CW\*(C`thursday\*(C'\fR or \f(CW\*(C`thu\*(C'\fR, and so on). For the time, use the same
+format as when specifying the time alone.
+.RE
+.RS 4
+.RE
+.RE
+.RS 4
+.RE
+.IP "\fB\-notifier\fR <\fInotifier program\fR>" 4
+.IX Item "-notifier <notifier program>"
+Specifies the complete pathname on the local disk of a program that the
+\&\s-1BOS\s0 Server invokes when the process terminates. The \s-1AFS\s0 distribution does
+not include any notifier programs, but this argument is available for
+administrator use. See \s-1NOTES\s0.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command defines and starts the simple process
+\&\f(CW\*(C`kaserver\*(C'\fR on the machine \f(CW\*(C`fs3.abc.com\*(C'\fR:
+.PP
+.Vb 2
+\& % bos create \-server fs3.abc.com \-instance kaserver \-type simple \e
+\& \-cmd /usr/afs/bin/kaserver
+.Ve
+.PP
+The following command defines and starts the simple process \f(CW\*(C`upclientbin\*(C'\fR
+on the machine \f(CW\*(C`fs4.abc.com\*(C'\fR. It references \f(CW\*(C`fs1.abc.com\*(C'\fR as the source
+for updates to binary files, checking for changes to the \fI/usr/afs/bin\fR
+directory every 120 seconds.
+.PP
+.Vb 3
+\& % bos create \-server fs4.abc.com \-instance upclientbin \-type simple \e
+\& \-cmd "/usr/afs/bin/upclient fs1.abc.com \-clear \-t 120 \e
+\& /usr/afs/bin"
+.Ve
+.PP
+The following command creates the fs process fs on the machine
+\&\f(CW\*(C`fs4.abc.com\*(C'\fR. Type the command on a single line.
+.PP
+.Vb 3
+\& % bos create \-server fs4.abc.com \-instance fs \-type fs \e
+\& \-cmd /usr/afs/bin/fileserver /usr/afs/bin/volserver \e
+\& /usr/afs/bin/salvager
+.Ve
+.PP
+The following command creates a cron process called \f(CW\*(C`userbackup\*(C'\fR on the
+machine \f(CW\*(C`fs5.abc.com\*(C'\fR, so that the \s-1BOS\s0 Server issues the indicated \fBvos
+backupsys\fR command each day at 3:00 a.m. (the command creates a backup
+version of every volume in the file system whose name begins with
+\&\f(CW\*(C`user\*(C'\fR). Note that the issuer provides the complete pathname to the
+\&\fBvos\fR command, includes the \fB\-localauth\fR flag on it, and types the
+entire \fBbos create\fR command on one line.
+.PP
+.Vb 2
+\& % bos create \-server fs5.abc.com \-instance userbackup \-type cron \e
+\& \-cmd "/usr/afs/bin/vos backupsys \-prefix user \-localauth" 03:00
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "NOTES"
+.IX Header "NOTES"
+If the \fB\-notifier\fR argument is included when this command is used to
+define and start a process, the \s-1BOS\s0 Server invokes the indicated
+\&\fInotifier program\fR when the process exits. The intended use of a notifier
+program is to inform administrators when a process exits unexpectedly, but
+it can be used to perform any appropriate actions. The following
+paragraphs describe the bnode and bnode_proc structures in which the
+\&\s-1BOS\s0 Server records information about the exiting process.
+.PP
+The \s-1BOS\s0 Server constructs and sends on the standard output stream one
+bnode and one bnode_proc structure for each exiting process associated
+with the notifier program. It brackets each structure with appropriate
+\&\f(CW\*(C`BEGIN\*(C'\fR and \f(CW\*(C`END\*(C'\fR statements (\f(CW\*(C`BEGIN bnode\*(C'\fR and \f(CW\*(C`END bnode\*(C'\fR, \f(CW\*(C`BEGIN
+bnode_proc\*(C'\fR and \f(CW\*(C`END bnode_proc\*(C'\fR), which immediately follow the preceding
+newline character with no intervening spaces or other characters. If the
+notifier program does not need information from a structure, it can scan
+ahead in the input stream for the \f(CW\*(C`END\*(C'\fR statement.
+.PP
+In general, each field in a structure is a string of \s-1ASCII\s0 text terminated
+by the newline character. The format of the information within a structure
+possibly varies slightly depending on the type of process associated with
+the notifier program.
+.PP
+The C code for the bnode and bnode_proc structures follows. Note that the
+structures sent by the \s-1BOS\s0 Server do not necessarily include all of the
+fields described here, because some are used only for internal record
+keeping. The notifier process must robustly handle the absence of expected
+fields, as well as the presence of unexpected fields, on the standard
+input stream.
+.PP
+For proper performance, the notifier program must continue processing the
+input stream until it detects the end-of-file (\s-1EOF\s0). The \s-1BOS\s0 Server closes
+the standard input file descriptor to the notifier process when it has
+completed delivery of the data, and it is the responsibility of the
+notifier process to terminate properly.
+.PP
+struct bnode contents:
+.PP
+.Vb 10
+\& struct bnode {
+\& struct bnode *next; /* next pointer in top\-level\*(Aqs list */
+\& char *name; /* instance name */
+\& long nextTimeout; /* next time this guy should be awakened */
+\& long period; /* period between calls */
+\& long rsTime; /* time we started counting restarts */
+\& long rsCount; /* count of restarts since rsTime */
+\& struct bnode_type *type; /* type object */
+\& struct bnode_ops *ops; /* functions implementing bnode class */
+\& long procStartTime; /* last time a process was started */
+\& long procStarts; /* number of process starts */
+\& long lastAnyExit; /* last time a process exited for any reason */
+\& long lastErrorExit; /* last time a process exited unexpectedly */
+\& long errorCode; /* last exit return code */
+\& long errorSignal; /* last proc terminating signal */
+\& char *lastErrorName; /* name of proc that failed last */
+\& short refCount; /* reference count */
+\& short flags; /* random flags */
+\& char goal; /* 1=running or 0=not running */
+\& char fileGoal; /* same, but to be stored in file */
+\&};
+.Ve
+.PP
+Format of struct bnode explosion:
+.PP
+.Vb 11
+\& printf("name: %s\en",tp\->name);
+\& printf("rsTime: %ld\en", tp\->rsTime);
+\& printf("rsCount: %ld\en", tp\->rsCount);
+\& printf("procStartTime: %ld\en", tp\->procStartTime);
+\& printf("procStarts: %ld\en", tp\->procStarts);
+\& printf("lastAnyExit: %ld\en", tp\->lastAnyExit);
+\& printf("lastErrorExit: %ld\en", tp\->lastErrorExit);
+\& printf("errorCode: %ld\en", tp\->errorCode);
+\& printf("errorSignal: %ld\en", tp\->errorSignal);
+\& printf("lastErrorName: %s\en", tp\->lastErrorName);
+\& printf("goal: %d\en", tp\->goal);
+.Ve
+.PP
+struct bnode_proc contents:
+.PP
+.Vb 10
+\& struct bnode_proc {
+\& struct bnode_proc *next; /* next guy in top\-level\*(Aqs list */
+\& struct bnode *bnode; /* bnode creating this process */
+\& char *comLine; /* command line used to start this process */
+\& char *coreName; /* optional core file component name */
+\& long pid; /* pid if created */
+\& long lastExit; /* last termination code */
+\& long lastSignal; /* last signal that killed this guy */
+\& long flags; /* flags giving process state */
+\&};
+.Ve
+.PP
+Format of struct bnode_proc explosion:
+.PP
+.Vb 5
+\& printf("comLine: %s\en", tp\->comLine);
+\& printf("coreName: %s\en", tp\->coreName);
+\& printf("pid: %ld\en", tp\->pid);
+\& printf("lastExit: %ld\en", tp\->lastExit);
+\& printf("lastSignal: %ld\en", tp\->lastSignal);
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbuserver\fR\|(8),
+\&\fIfileserver\fR\|(8),
+\&\fIkaserver\fR\|(8),
+\&\fIptserver\fR\|(8),
+\&\fIsalvager\fR\|(8),
+\&\fIupclient\fR\|(8),
+\&\fIupserver\fR\|(8),
+\&\fIvlserver\fR\|(8),
+\&\fIvolserver\fR\|(8),
+\&\fIvos_backupsys\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_DELETE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_DELETE 8"
++.TH BOS_DELETE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_delete \- Deletes a server process from the BosConfig file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos delete\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-instance\fR\ <\fIserver\ process\ name\fR>+ [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos d\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-i\fR\ <\fIserver\ process\ name\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos delete\fR command removes the \fI/usr/afs/local/BosConfig\fR entry
+for each process indicated by the \fB\-instance\fR argument, on the server
+machine named by the \fB\-server\fR argument.
+.PP
+Before issuing this command, issue the bos stop command to stop the
+process and set its status flag in the \fIBosConfig\fR file to \f(CW\*(C`NotRun\*(C'\fR. The
+\&\fBbos delete\fR command fails with an error message if a process's status
+flag is \f(CW\*(C`Run\*(C'\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to delete the server process entry
+from the \fI/usr/afs/local/BosConfig\fR file. Identify the machine
+by \s-1IP\s0 address or its host name (either fully-qualified or abbreviated
+unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIserver process name\fR>+" 4
+.IX Item "-instance <server process name>+"
+Names each process to delete. Use the name assigned with the \fB\-instance\fR
+argument to the \fBbos create\fR command; process names appear in the output
+of the \fBbos status\fR command.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the \fBbuserver\fR, \fBkaserver\fR, \fBptserver\fR,
+and \fBvlserver\fR entries from the \fIBosConfig\fR file on \f(CW\*(C`db3.abc.com\*(C'\fR, a
+database server machine being decommissioned.
+.PP
+.Vb 2
+\& % bos delete \-server db3.abc.com \e
+\& \-instance buserver kaserver ptserver vlserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_EXEC 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_EXEC 8"
++.TH BOS_EXEC 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_exec \- Executes a command on a remote server machine
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos exec\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-cmd\fR\ <\fIcommand\ to\ execute\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos e\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-cm\fR\ <\fIcommand\ to\ execute\fR>
+ [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos exec\fR command executes the indicated command on the file server
+machine named by the \fB\-server\fR argument. Its intended use is to reboot
+the machine, using the \fI/sbin/reboot\fR command or equivalent.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to execute the command. Identify
+the machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-cmd\fR <\fIcommand to execute\fR>" 4
+.IX Item "-cmd <command to execute>"
+Specifies the complete local disk pathname of the command to execute (for
+example, \fI/sbin/reboot\fR). Surround this argument with double quotes
+(\f(CW""\fR) if the command contains one or more spaces.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command reboots the machine \f(CW\*(C`fs2.abc.com\*(C'\fR. The issuer has
+previously issued the \fBbos shutdown\fR command to shutdown all processes
+cleanly.
+.PP
+.Vb 1
+\& % bos exec \-server fs2.abc.com \-cmd /sbin/shutdown \-r now
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_GETDATE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_GETDATE 8"
++.TH BOS_GETDATE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_getdate \- Displays the time stamps on an AFS binary file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos getdate\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-file\fR\ <\fIfiles\ to\ check\fR>+
+ [\fB\-dir\fR\ <\fIdestination\ dir\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos getd\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-f\fR\ <\fIfiles\ to\ check\fR>+
+ [\fB\-d\fR\ <\fIdestination\ dir\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos getdate\fR command displays the time stamps on the current
+version,\f(CW\*(C` .BAK\*(C'\fR version (if any) and \f(CW\*(C`.OLD\*(C'\fR version (if any) of each
+binary file named by the \fB\-file\fR argument. (The \s-1BOS\s0 Server automatically
+creates \f(CW\*(C`.BAK\*(C'\fR and \f(CW\*(C`.OLD\*(C'\fR versions when new binaries are installed with
+the \fBbos install\fR command.) The files must reside in the \fI/usr/afs/bin\fR
+directory on the server machine named by the \fB\-server\fR argument unless
+the \fB\-dir\fR argument indicates an alternate directory.
+.PP
+To revert to the \f(CW\*(C`.BAK\*(C'\fR version of a binary, use the \fBbos uninstall\fR
+command. To remove obsolete binary files from the \fI/usr/afs/bin\fR
+directory, use the \fBbos prune\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine from which to list binary files. Identify
+the machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.Sp
+All server machines of the same \s-1AFS\s0 system type show the same timestamps
+if the binaries were installed properly on the binary distribution machine
+for this machine's system type, and if all other machines of that type are
+running the appropriate \f(CW\*(C`upclientbin\*(C'\fR process.
+.IP "\fB\-file\fR <\fIfiles to check\fR>+" 4
+.IX Item "-file <files to check>+"
+Names each binary file to list.
+.IP "\fB\-dir\fR <\fIdestination dir\fR>" 4
+.IX Item "-dir <destination dir>"
+Specifies the complete pathname of the local disk directory containing
+each file named by the \fB\-file\fR argument. It is necessary only if the
+files are not in the \fI/usr/afs/bin\fR directory.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+For each file specified with the \-file argument, the output displays the
+time stamp on the current (unmarked), \f(CW\*(C`.BAK\*(C'\fR, and \f(CW\*(C`.OLD\*(C'\fR version. The
+output explicitly reports that a version does not exist, rather than
+simply omitting it.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command examines the time stamps on the files with basename
+\&\f(CW\*(C`kaserver\*(C'\fR on the machine \f(CW\*(C`fs2.abc.com\*(C'\fR:
+.PP
+.Vb 3
+\& % bos getdate \-server fs2.abc.com \-file kaserver
+\& File /usr/afs/bin/kaserver dated Mon Jan 4 10:00:36 1999.
+\& .BAK file dated Wed Dec 9 18:55:04 1998, no .OLD file.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_install\fR\|(8),
+\&\fIbos_prune\fR\|(8),
+\&\fIbos_uninstall\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_GETLOG 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_GETLOG 8"
++.TH BOS_GETLOG 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_getlog \- Prints a server process's log file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos getlog\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-file\fR\ <\fIlog\ file\ to\ examine\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos getl\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-f\fR\ <\fIlog\ file\ to\ examine\fR>
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos getlog\fR command displays on the standard output stream the
+specified log file from the machine named by the \fB\-server\fR argument. The
+\&\s-1BOS\s0 Server fetches the log file from the \fI/usr/afs/logs\fR directory unless
+an alternate pathname is provided as part of the \fB\-file\fR argument.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Log files can grow quite large, especially for the database server
+processes. To keep them to a manageable size, periodically either use the
+\&\s-1UNIX\s0 \fBrm\fR command to truncate each log file, or use the \fBbos restart\fR
+command to restart each process.
+.PP
+It can take up to five minutes after the file is removed or process
+restarted for the space occupied by a log file to become available.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine from which to retrieve the log file.
+Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-file\fR <\fIlog file to examine\fR>" 4
+.IX Item "-file <log file to examine>"
+Names the log file to display. If a filename only is provided, the \s-1BOS\s0
+Server fetches the log file from the \fI/usr/afs/logs\fR directory; the
+standard values are:
+.RS 4
+.IP "\fIAuthLog\fR" 4
+.IX Item "AuthLog"
+The Authentication Server (\fBkaserver\fR) log file.
+.IP "\fIBackupLog\fR" 4
+.IX Item "BackupLog"
+The Backup Server (\fBbuserver\fR) log file.
+.IP "\fIBosLog\fR" 4
+.IX Item "BosLog"
+The \s-1BOS\s0 Server (\fBbosserver\fR) log file.
+.IP "\fIFileLog\fR" 4
+.IX Item "FileLog"
+The File Server (\fBfileserver\fR) log file.
+.IP "\fISalvageLog\fR" 4
+.IX Item "SalvageLog"
+The Salvager (\fBsalvager\fR) log file.
+.IP "\fIVLLog\fR" 4
+.IX Item "VLLog"
+The Volume Location (\s-1VL\s0) Server (\fBvlserver\fR) log file.
+.IP "\fIVolserLog\fR" 4
+.IX Item "VolserLog"
+The Volume Server (\fBvolserver\fR) log file.
+.RE
+.RS 4
+.Sp
+If a pathname and filename are provided, the log file is retrieved from
+the indicated directory. Partial pathnames are interpreted relative to the
+\&\fI/usr/afs/logs\fR directory.
+.RE
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output is preceded by the line
+.PP
+.Vb 1
+\& Fetching log file \*(Aq<filename>\*(Aq...
+.Ve
+.PP
+The remainder of the output depends on the particular log file.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the FileLog file from the machine
+\&\f(CW\*(C`fs3.abc.com\*(C'\fR:
+.PP
+.Vb 9
+\& % bos getlog \-server fs3.abc.com \-file FileLog
+\& Fetching log file \*(AqFileLog\*(Aq...
+\& Sun Nov 8 04:00:34 1998 File server starting
+\& Sun Nov 8 04:00:39 1998 Partition /vicepa: attached 21 volumes;
+\& 0 volumes not attached
+\& Sun Nov 8 04:00:40 1998 File Server started Sun Nov 8 04:00:40
+\& 1998
+\& Mon Nov 9 21:45:06 1998 CB: RCallBack (zero fid probe in host.c)
+\& failed for host 28cf37c0.22811
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_GETRESTART 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_GETRESTART 8"
++.TH BOS_GETRESTART 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_getrestart \- Displays the automatic restart times for server processes
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos getrestart\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos getr\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The bos getrestart command displays two restart times from the
+\&\fI/usr/afs/local/BosConfig\fR file on the server machine named by the
+\&\fB\-server\fR argument:
+.IP "\(bu" 4
+The \fIgeneral restart\fR time at which the \s-1BOS\s0 Server process automatically
+restarts itself and all processes marked with status \f(CW\*(C`Run\*(C'\fR in the
+\&\fIBosConfig\fR file. The default is Sunday at 4:00 a.m.
+.IP "\(bu" 4
+The \fIbinary restart\fR time at which the \s-1BOS\s0 Server automatically restarts
+any process for which the time stamp on the binary file in the
+\&\fI/usr/afs/bin\fR directory is later than the last restart time for the
+process. The default is 5:00 a.m. Use the \fBbos getdate\fR command to list a
+binary file's timestamp, and the \fB\-long\fR flag to the \fBbos status\fR
+command to display a process's most recent restart time.
+.PP
+Use the \fBbos setrestart\fR command to set the restart times.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine for which to display the restart
+times. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output consists of two lines:
+.PP
+.Vb 2
+\& Server <machine_name> restarts at <time>
+\& Server <machine_name> restarts for new binaries at <time>
+.Ve
+.PP
+Possible values for <time> include:
+.IP "\(bu" 4
+\&\f(CW\*(C`never\*(C'\fR, indicating that the \s-1BOS\s0 Server never performs that type of
+restart.
+.IP "\(bu" 4
+\&\f(CW\*(C`now\*(C'\fR, indicating that the \s-1BOS\s0 Server performs that type of restart only
+each time it restarts.
+.IP "\(bu" 4
+A specified day and time, indicating that the \s-1BOS\s0 Server performs that
+type of restart once per week. Example: \f(CW\*(C`sun 4:00 am\*(C'\fR.
+.IP "\(bu" 4
+A specified time, indicating that the \s-1BOS\s0 Server performs that type of
+restart once per day. Examples: \f(CW\*(C`11:00 pm\*(C'\fR, \f(CW\*(C`3:00 am\*(C'\fR.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the restart times for the machine
+\&\f(CW\*(C`db2.abc.com\*(C'\fR:
+.PP
+.Vb 3
+\& % bos getrestart db2.abc.com
+\& Server db2.abc.com restarts at sun 4:00 am
+\& Server db2.abc.com restarts for new binaries at 2:15 am
+.Ve
+.PP
+In the following example, the issuer abbreviates the machine name
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR to \f(CW\*(C`fs1\*(C'\fR, relying on the cell's name server to resolve the
+name. The output echoes the abbreviated form.
+.PP
+.Vb 3
+\& % bos getrestart fs1
+\& Server fs1 restarts at sat 5:00 am
+\& Server fs1 restarts for new binaries at 11:30 pm
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_getdate\fR\|(8),
+\&\fIbos_setrestart\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_HELP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_HELP 8"
++.TH BOS_HELP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_help \- Displays help for bos commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBbos h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBbos\fR command.
+.PP
+To list every bos command whose name or short description includes a
+specified keyword, use the \fBbos apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBbos\fR part of the command name, providing only the
+operation code (for example, specify \fBstatus\fR, not \fBbos status\fR). If
+this argument is omitted, the output briefly describes every \fBbos\fR
+command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each bos command consists of the following two
+or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBbos status\fR
+command:
+.PP
+.Vb 5
+\& % bos help status
+\& bos status: show server instance status
+\& Usage: bos status \-server <machine name> [\-instance <server
+\& process name>+] [\-long] [\-cell <cell name>] [\-noauth]
+\& [\-localauth] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos\fR\|(8),
+\&\fIbos_apropos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_INSTALL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_INSTALL 8"
++.TH BOS_INSTALL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_install \- Installs a new version of a binary file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos install\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-file\fR\ <\fIfiles\ to\ install\fR>+
+ [\fB\-dir\fR\ <\fIdestination\ dir\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos i\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-f\fR\ <\fIfiles\ to\ install\fR>+
+ [\fB\-d\fR\ <\fIdestination\ dir\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos install\fR command copies each binary file specified with the
+\&\fB\-file\fR argument to the local disk of the server machine named by the
+\&\fB\-server\fR argument, which is normally the binary distribution machine for
+its CPU/operating system type. The destination directory is
+\&\fI/usr/afs/bin\fR unless the \fB\-dir\fR argument indicates an alternate
+directory. The source file's \s-1UNIX\s0 mode bits are preserved in the transfer.
+.PP
+If there is already a file of the same name in the destination directory,
+the \s-1BOS\s0 Server automatically saves it by adding a \f(CW\*(C`.BAK\*(C'\fR extension. If
+there is a current \f(CW\*(C`.BAK\*(C'\fR version at least seven days old, it replaces
+the current \f(CW\*(C`.OLD\*(C'\fR version. If there is no current \f(CW\*(C`.OLD\*(C'\fR version, the
+current \f(CW\*(C`.BAK\*(C'\fR version becomes the \f(CW\*(C`.OLD\*(C'\fR version automatically. The
+\&\fBbos getdate\fR command displays the timestamps on the current versions of
+the file.
+.PP
+To start using the new binary immediately, issue the bos restart
+command. Otherwise, the \s-1BOS\s0 Server automatically restarts the process at
+the time defined in the \fI/usr/afs/local/BosConfig\fR file; use the \fBbos
+getrestart\fR command to display the time and the \fBbos setrestart\fR time to
+set it.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the binary distribution machine on which to install the new
+binaries. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.Sp
+If the machine is not a binary distribution machine and is running an
+\&\f(CW\*(C`upclientbin\*(C'\fR process, then the files are overwritten the next time the
+\&\f(CW\*(C`upclientbin\*(C'\fR process fetches the corresponding file from the
+distribution machine (by default within five minutes).
+.IP "\fB\-file\fR <\fIfiles to install\fR>+" 4
+.IX Item "-file <files to install>+"
+Specifies the complete pathname of each binary file to copy into the
+destination directory. Each source directory can be on the local disk or
+in \s-1AFS\s0, in which case the issuer of the \fBbos install\fR command must have
+the necessary \s-1AFS\s0 access rights and the local machine must run the Cache
+Manager. For the \s-1BOS\s0 Server to create \f(CW\*(C`.BAK\*(C'\fR and \f(CW\*(C`.OLD\*(C'\fR versions, the
+last element in the pathname (the filename) must match the name of a file
+in the destination directory. \fIbos_create\fR\|(8) lists the standard binary
+file names.
+.IP "\fB\-dir\fR <\fIdestination dir\fR>" 4
+.IX Item "-dir <destination dir>"
+Provides the complete pathname of the local disk directory in which to
+install binary files. It is necessary only if the destination directory
+is not \fI/usr/afs/bin\fR.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command copies the file
+\&\fI/afs/abc.com/rs_aix42/usr/afs/bin/vlserver\fR to the file
+\&\fI/usr/afs/bin/vlserver\fR on the machine \f(CW\*(C`fs3.abc.com\*(C'\fR, which is the
+binary distribution machine for server machines running \s-1AIX\s0 4.2 in the
+\&\f(CW\*(C`abc.com\*(C'\fR cell. The current version of the \fI/usr/afs/bin/vlserver\fR file
+is moved to \fI/usr/afs/bin/vlserver.BAK\fR.
+.PP
+.Vb 2
+\& % bos install \-server fs3.abc.com \e
+\& \-file /afs/abc.com/rs_aix42/usr/afs/bin/vlserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_getdate\fR\|(8),
+\&\fIbos_getrestart\fR\|(8),
+\&\fIbos_restart\fR\|(8),
+\&\fIbos_setrestart\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_LISTHOSTS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_LISTHOSTS 8"
++.TH BOS_LISTHOSTS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_listhosts \- Displays the contents of the CellServDB file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos listhosts\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos listh\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\-h]
+.PP
+\&\fBbos getcell\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos getc\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\-h]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos listhosts\fR command formats and displays the list of a cell's
+database server machines from the \fI/usr/afs/etc/CellServDB\fR file on the
+server machine named by the \fB\-server\fR argument.
+.PP
+To alter the list of machines, use the \fBbos addhost\fR and \fBbos
+removehost\fR commands.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine from which to display the
+\&\fI/usr/afs/etc/CellServDB\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+For consistent performance in the cell, the output must be the same on
+every server machine. The \fBbos addhost\fR reference page explains how to
+keep the machines synchronized.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of the output names the cell to which the server machine
+belongs. Each of the following lines names a database server machine for
+that cell.
+.PP
+The \f(CW\*(C`Host\*(C'\fR number assigned to each database server machine is for
+server-internal use only and is not the same as, nor necessarily related
+to, the machine's \s-1IP\s0 address. The \s-1BOS\s0 Server assigned it as part of
+performing the \fBbos addhost\fR command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the database server machines listed in the
+\&\fI/usr/afs/etc/CellServDB\fR file on the machine \f(CW\*(C`fs7.abc.com\*(C'\fR.
+.PP
+.Vb 5
+\& % bos listhosts fs7.abc.com
+\& Cell name is abc.com
+\& Host 1 is db1.abc.com
+\& Host 2 is db2.abc.com
+\& Host 3 is db3.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_addhost\fR\|(8),
+\&\fIbos_removehost\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_LISTKEYS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_LISTKEYS 8"
++.TH BOS_LISTKEYS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_listkeys \- Displays the server encryption keys from the KeyFile file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos listkeys\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-showkey\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos listk\fR \fB\-se\fR\ <\fImachine\ name\fR> [\fB\-sh\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos listkeys\fR command formats and displays the list of server
+encryption keys from the \fI/usr/afs/etc/KeyFile\fR file on the server
+machine named by the \fB\-server\fR argument.
+.PP
+To edit the list of keys, use the \fBbos addkey\fR and \fBbos removekey\fR
+commands.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Displaying actual keys on the standard output stream (by including the
+\&\fB\-showkey\fR flag) is a security exposure. Displaying a checksum is
+sufficient for most purposes.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine from which to display the KeyFile
+file. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.Sp
+For consistent performance in the cell, the output must be the same on
+every server machine. The \fBbos addkey\fR reference page explains how to
+keep the machines synchronized.
+.IP "\fB\-showkey\fR" 4
+.IX Item "-showkey"
+Displays the octal digits that constitute each key.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes one line for each server encryption key listed in the
+\&\fIKeyFile\fR file, identified by its key version number.
+.PP
+If the \fB\-showkey\fR flag is included, the output displays the actual string
+of eight octal numbers that constitute the key. Each octal number is a
+backslash and three decimal digits.
+.PP
+If the \fB\-showkey\fR flag is not included, the output represents each key as
+a checksum, which is a decimal number derived by encrypting a constant
+with the key.
+.PP
+Following the list of keys or checksums, the string \f(CW\*(C`Keys last changed\*(C'\fR
+indicates when a key was last added to the \fIKeyFile\fR file. The words
+\&\f(CW\*(C`All done\*(C'\fR indicate the end of the output.
+.PP
+For mutual authentication to work properly, the output from the command
+\&\f(CW\*(C`kas examine afs\*(C'\fR must match the key or checksum with the same key
+version number in the output from this command.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the checksums for the keys stored in the
+\&\fIKeyFile\fR file on the machine \f(CW\*(C`fs3.abc.com\*(C'\fR.
+.PP
+.Vb 7
+\& % bos listkeys fs3.abc.com
+\& key 1 has cksum 972037177
+\& key 3 has cksum 2825175022
+\& key 4 has cksum 260617746
+\& key 6 has cksum 4178774593
+\& Keys last changed on Mon Apr 12 11:24:46 1999.
+\& All done.
+.Ve
+.PP
+The following example shows the actual keys from the \fIKeyFile\fR file on
+the machine \f(CW\*(C`fs6.abc.com\*(C'\fR.
+.PP
+.Vb 6
+\& % bos listkeys fs6.abc.com \-showkey
+\& key 0 is \*(Aq\e040\e205\e211\e241\e345\e002\e023\e211\*(Aq
+\& key 1 is \*(Aq\e343\e315\e307\e227\e255\e320\e135\e244\*(Aq
+\& key 2 is \*(Aq\e310\e310\e255\e253\e326\e236\e261\e211\*(Aq
+\& Keys last changed on Wed Mar 31 11:24:46 1999.
+\& All done.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_removekey\fR\|(8),
+\&\fIbos_setauth\fR\|(8),
+\&\fIkas_examine\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_LISTUSERS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_LISTUSERS 8"
++.TH BOS_LISTUSERS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_listusers \- Lists the privileged users from the UserList file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos listusers\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos listu\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos listusers\fR command lists the user names from the
+\&\fI/usr/afs/etc/UserList\fR file on the file server machine named by the
+\&\fB\-server\fR argument. The users are authorized to issue privileged \fBbos\fR
+and \fBvos\fR commands.
+.PP
+To edit the list of users, use the \fBbos adduser\fR and \fBbos removeuser\fR
+commands.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine from which to display the UserList
+file. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.Sp
+For consistent performance in the cell, the output must be the same on
+every server machine. The \fBbos adduser\fR reference page explains how to
+keep the machines synchronized.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output lists the user name of each user entitled to issue privileged
+\&\fBbos\fR and \fBvos\fR commands.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example lists the users from UserList file on the machine
+\&\f(CW\*(C`fs4.abc.com\*(C'\fR.
+.PP
+.Vb 2
+\& % bos listusers fs4.abc.com
+\& SUsers are: pat smith jones terry
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_adduser\fR\|(8),
+\&\fIbos_removeuser\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_PRUNE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_PRUNE 8"
++.TH BOS_PRUNE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_prune \- Removes obsolete files from /usr/afs/bin and /usr/afs/logs
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos prune\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-bak\fR] [\fB\-old\fR] [\fB\-core\fR]
+ [\fB\-all\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR]
+ [\fB\-help\fR]
+.PP
+\&\fBbos p\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-b\fR] [\fB\-o\fR] [\fB\-co\fR] [\fB\-a\fR]
+ [\fB\-ce\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos prune\fR command removes files from the local disk of the server
+machine named by the \fB\-server\fR argument, as specified by one or more of
+the following flags provided on the command line:
+.IP "\(bu" 4
+The \fB\-bak\fR flag removes all files from the \fI/usr/afs/bin\fR directory that
+have a \f(CW\*(C`.BAK\*(C'\fR extension.
+.IP "\(bu" 4
+The \fB\-old\fR flag removes all files from the \fI/usr/afs/bin\fR directory that
+have a \f(CW\*(C`.OLD\*(C'\fR extension.
+.IP "\(bu" 4
+The \fB\-core\fR flag removes all files from the \fI/usr/afs/logs\fR directory
+that have a \f(CW\*(C`core.\*(C'\fR prefix.
+.IP "\(bu" 4
+The \fB\-all\fR flag removes all three types of files at once.
+.PP
+(If none of these flags are included, the command appears to succeed, but
+removes no files at all.)
+.PP
+To display the timestamp on the current, \f(CW\*(C`.BAK\*(C'\fR, and \f(CW\*(C`.OLD\*(C'\fR versions of
+one or more files, use the \fBbos getdate\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine from which to remove files. Identify the
+machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-bak\fR" 4
+.IX Item "-bak"
+Removes all files from the \fI/usr/afs/bin\fR directory that have a \f(CW\*(C`.BAK\*(C'\fR
+extension. Do not combine this flag and the \fB\-all\fR flag.
+.IP "\fB\-old\fR" 4
+.IX Item "-old"
+Removes all files from the \fI/usr/afs/bin\fR directory that have a \f(CW\*(C`.OLD\*(C'\fR
+extension. Do not combine this flag and the \fB\-all\fR flag.
+.IP "\fB\-core\fR" 4
+.IX Item "-core"
+Removes all files from the \fI/usr/afs/logs\fR directory that have a \f(CW\*(C`core.\*(C'\fR
+prefix. Do not combine this flag and the \fB\-all\fR flag.
+.IP "\fB\-all\fR" 4
+.IX Item "-all"
+Combines the effect of the \fB\-bak\fR, \fB\-old\fR, and \fB\-core\fR flags. Do not
+combine this flag with any of those three.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example removes all files from the \fI/usr/afs/bin\fR directory
+on the machine \f(CW\*(C`fs3.abc.com\*(C'\fR that have a \f(CW\*(C`.BAK\*(C'\fR or \f(CW\*(C`.OLD\*(C'\fR extension.
+.PP
+.Vb 1
+\& % bos prune \-server fs3.abc.com \-bak \-old
+.Ve
+.PP
+The following example removes all files from the \fI/usr/afs/bin\fR directory
+on the machine \f(CW\*(C`db2.abc.com\*(C'\fR that have a \f(CW\*(C`.BAK\*(C'\fR or \f(CW\*(C`.OLD\*(C'\fR extension,
+and all files from the \fI/usr/afs/logs\fR directory that have a \f(CW\*(C`core.\*(C'\fR
+prefix.
+.PP
+.Vb 1
+\& % bos prune \-server db2.abc.com \-all
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_getdate\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_REMOVEHOST 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_REMOVEHOST 8"
++.TH BOS_REMOVEHOST 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_removehost \- Removes a database server machine from the CellServDB file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos removehost\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-host\fR\ <\fIhost\ name\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos removeh\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-ho\fR\ <\fIhost\ name\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-he\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos removehost\fR command removes the entry for each database server
+machine specified with the \fB\-host\fR argument from the
+\&\fI/usr/afs/etc/CellServDB\fR file on the server machine named by the
+\&\fB\-server\fR argument.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+After executing this command (and waiting for the Update Server to
+propagate the changes, if it is used), restart the database server
+processes on all database server machines to force election of a quorum
+that includes the new set of machines listed in the
+\&\fI/usr/afs/etc/CellServDB\fR file. The \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR explains
+in more detail how to add and remove database server machines.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to change the
+\&\fI/usr/afs/etc/CellServDB\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
+control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
+the command for each file server machine. For further discussion, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-host\fR <\fIhost name\fR>+" 4
+.IX Item "-host <host name>+"
+Specifies the fully-qualified host name (such as \f(CW\*(C`fs2.abc.com\*(C'\fR) of each
+database server machine to remove from the \fBCellServDB\fR file.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the former database server machine
+\&\f(CW\*(C`db2.abc.com\*(C'\fR from the \fICellServDB\fR file on the system control machine
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % bos removehost \-server fs1.abc.com \-host db2.abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_addhost\fR\|(8),
+\&\fIbos_listhosts\fR\|(8)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_REMOVEKEY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_REMOVEKEY 8"
++.TH BOS_REMOVEKEY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_removekey \- Removes a server encryption key from the KeyFile file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos removekey\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-kvno\fR\ <\fIkey\ version\ number\fR>+ [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos removek\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-k\fR\ <\fIkey\ version\ number\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos removekey\fR command removes each specified encryption key from
+the \fI/usr/afs/etc/KeyFile\fR file on the machine named by the \fB\-server\fR
+argument. Use the \fB\-kvno\fR argument to identify each key by its key
+version number; use the \fBbos listkeys\fR command to display the key version
+numbers.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Before removing a obsolete key, verify that the cell's maximum ticket
+lifetime has passed since the current key was defined using the \fBkas
+setpassword\fR and \fBbos addkey\fR commands. This ensures that no clients
+still possess tickets encrypted with the obsolete key.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to change the
+\&\fI/usr/afs/etc/KeyFile\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
+control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
+the command for each file server machine. For further discussion, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-kvno\fR <\fIkey version number\fR>+" 4
+.IX Item "-kvno <key version number>+"
+Specifies the key version number of each key to remove.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes the keys with key version numbers 5 and 6
+from the \fIKeyFile\fR file on the system control machine \f(CW\*(C`fs1.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % bos removekey \-server fs1.abc.com \-kvno 5 6
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_listkeys\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_REMOVEUSER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_REMOVEUSER 8"
++.TH BOS_REMOVEUSER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_removeuser \- Removes a privileged user from the UserList file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos removeuser\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-user\fR\ <\fIuser\ names\fR>+
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos removeu\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-u\fR\ <\fIuser\ names\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos removeuser\fR command removes each user name specified with the
+\&\fB\-user\fR argument from the \fI/usr/afs/etc/UserList\fR file on the machine
+named by the \fB\-server\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to change the
+\&\fI/usr/afs/etc/UserList\fR file. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+In cells that use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory, it is conventional to specify only the system
+control machine as a value for the \fB\-server\fR argument. Otherwise, repeat
+the command for each file server machine. For further discussion, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-user\fR <\fIuser names\fR>+" 4
+.IX Item "-user <user names>+"
+Specifies each user name to remove.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example removes the users \f(CW\*(C`pat\*(C'\fR and \f(CW\*(C`jones\*(C'\fR from the
+\&\fIUserList\fR file on the system control machine \f(CW\*(C`fs1.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % bos removeuser \-server fs1.abc.com \-user pat jones
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_listkeys\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_RESTART 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_RESTART 8"
++.TH BOS_RESTART 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_restart \- Restarts a server process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos restart\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-instance\fR\ <\fIinstances\fR>+]
+ [\fB\-bosserver\fR] [\fB\-all\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR]
+ [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos res\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-i\fR\ <\fIinstances\fR>+] [\fB\-b\fR]
+ [\fB\-a\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos restart\fR command stops and immediately restarts server processes
+on the server machine named by the \fB\-server\fR argument. Indicate which
+process or processes to restart by providing one of the following
+arguments:
+.IP "\(bu" 4
+The \fB\-instance\fR argument names each \s-1AFS\s0 server process to stop and
+restart immediately, regardless of its status flag in the
+\&\fI/usr/afs/local/BosConfig\fR file. Do not include \fBbosserver\fR in the list
+of processes; use the \fB\-bosserver\fR flag instead.
+.IP "\(bu" 4
+The \fB\-bosserver\fR flag stops all \s-1AFS\s0 server processes running on the
+machine, including the \s-1BOS\s0 Server. A new \s-1BOS\s0 Server starts immediately,
+and it starts a new instance of each process that is marked with the
+\&\f(CW\*(C`Run\*(C'\fR status flag in the \fIBosConfig\fR file.
+.IP "\(bu" 4
+The \fB\-all\fR flag stops all \s-1AFS\s0 server processes running on the machine,
+except the \s-1BOS\s0 Server, and immediately restarts the processes that are
+marked with the \f(CW\*(C`Run\*(C'\fR status flag in the \fIBosConfig\fR file.
+.PP
+This command does not change a process's status flag in the \fIBosConfig\fR
+file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to restart each process. Identify
+the machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIinstances\fR>+" 4
+.IX Item "-instance <instances>+"
+Names each process to stop and then restart immediately regardless of its
+status flag setting. Use the process name assigned with the \fB\-instance\fR
+argument to the \fBbos create\fR command. The output from the \fBbos status\fR
+command lists the names. Provide this flag or one of the \fB\-bosserver\fR or
+\&\fB\-all\fR options, but do not combine them.
+.IP "\fB\-bosserver\fR" 4
+.IX Item "-bosserver"
+Stops all \s-1AFS\s0 server processes running on the machine, including the \s-1BOS\s0
+Server. A new \s-1BOS\s0 Server instance immediately starts, and starts all
+processes marked with the \f(CW\*(C`Run\*(C'\fR status flag in the \fIBosConfig\fR
+file. Provide this flag or one of the \fB\-instance\fR or \fB\-all\fR options, but
+do not combine them.
+.IP "\fB\-all\fR" 4
+.IX Item "-all"
+Stops all \s-1AFS\s0 server processes running on the machine other than the \s-1BOS\s0
+Server, and immediately restarts the processes marked with the \fBRun\fR
+status flag in the \fIBosConfig\fR file. Provide this flag or one of the
+\&\fB\-instance\fR or \fB\-bosserver\fR options, but do not combine them.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command stops and restarts all processes running on the
+machine \f(CW\*(C`fs3.abc.com\*(C'\fR, including the \s-1BOS\s0 Server.
+.PP
+.Vb 1
+\& % bos restart \-server fs3.abc.com \-bosserver
+.Ve
+.PP
+The following command stops and restarts all processes running on the
+machine \f(CW\*(C`fs5.abc.com\*(C'\fR, excluding the \s-1BOS\s0 Server.
+.PP
+.Vb 1
+\& % bos restart \-server fs5.abc.com \-all
+.Ve
+.PP
+The following command stops and restarts the Protection Server and Volume
+Location (\s-1VL\s0) Server processes on the machine \f(CW\*(C`db3.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % bos restart \-server db3.abc.com \-instance ptserver vlserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_SALVAGE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_SALVAGE 8"
++.TH BOS_SALVAGE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_salvage \- Restores internal consistency to a file system or volume
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos salvage\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ [\fB\-partition\fR\ <\fIsalvage\ partition\fR>]
+ [\fB\-volume\fR\ <\fIsalvage\ volume\ number\ or\ volume\ name\fR>]
+ [\fB\-file\fR\ <\fIsalvage\ log\ output\ file\fR>] [\fB\-all\fR] [\fB\-showlog\fR]
+ [\fB\-parallel\fR\ <\fI#\ of\ max\ parallel\ partition\ salvaging\fR>]
+ [\fB\-tmpdir\fR\ <\fIdirectory\ to\ place\ tmp\ files\fR>]
+ [\fB\-orphans\fR\ (ignore\ |\ remove\ |\ attach)] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos sa\fR \fB\-se\fR\ <\fImachine\ name\fR> [\fB\-part\fR\ <\fIsalvage\ partition\fR>]
+ [\fB\-v\fR\ <\fIsalvage\ volume\ number\ or\ volume\ name\fR>]
+ [\fB\-f\fR\ <\fIsalvage\ log\ output\ file\fR>] [\fB\-a\fR] [\fB\-sh\fR]
+ [<\-para> <\fI# of max parallel partition salvaging\fR>]
+ [\fB\-t\fR\ <\fIdirectory\ to\ place\ tmp\ files\fR>]
+ [\fB\-o\fR\ (ignore\ |\ remove\ |\ attach)] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR]
+ [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos salvage\fR command salvages (restores internal consistency to) one
+or more volumes on the file server machine named by the \fB\-server\fR
+argument. When processing one or more partitions, the command restores
+consistency to corrupted read/write volumes where possible. For read-only
+or backup volumes, it inspects only the volume header:
+.IP "\(bu" 4
+If the volume header is corrupted, the Salvager removes the volume
+completely and records the removal in its log file,
+\&\fI/usr/afs/logs/SalvageLog\fR. Issue the \fBvos release\fR or \fBvos backup\fR
+command to create the read-only or backup volume again.
+.IP "\(bu" 4
+If the volume header is intact, the Salvager skips the volume (does not
+check for corruption in the contents). However, if the File Server notices
+corruption as it initializes, it sometimes refuses to attach the volume or
+bring it online. In this case, it is simplest to remove the volume by
+issuing the \fBvos remove\fR or \fBvos zap\fR command. Then issue the \fBvos
+release\fR or \fBvos backup\fR command to create it again.
+.PP
+Use the indicated arguments to salvage a specific number of volumes:
+.IP "\(bu" 4
+To process all volumes on a file server machine, provide the \fB\-server\fR
+argument and the \fB\-all\fR flag. No volumes on the machine are accessible to
+Cache Managers during the salvage operation, because the \s-1BOS\s0 Server stops
+the File Server and Volume Server processes while the Salvager runs. The
+\&\s-1BOS\s0 Server automatically restarts them when the operation completes.
+.IP "\(bu" 4
+To process all volumes on one partition, provide the \fB\-server\fR and
+\&\fB\-partition\fR arguments. As for a salvage of the entire machine, no
+volumes on the machine are accessible to Cache Managers during the salvage
+operation. The \s-1BOS\s0 Server automatically restarts the File Server and
+Volume Server when the operation completes.
+.IP "\(bu" 4
+To salvage only one read/write volume, combine the \fB\-server\fR,
+\&\fB\-partition\fR, and \fB\-volume\fR arguments. Only that volume is inaccessible
+to Cache Managers, because the \s-1BOS\s0 Server does not shutdown the File
+Server and Volume Server processes during the salvage of a single
+volume. Do not name a read-only or backup volume with the \fB\-volume\fR
+argument. Instead, remove the volume, using the \fBvos remove\fR or \fBvos
+zap\fR command. Then create a new copy of the volume with the \fBvos release\fR
+or \fBvos backup\fR command.
+.PP
+During the salvage of an entire machine or partition, the \fBbos status\fR
+command reports the \f(CW\*(C`fs\*(C'\fR process's auxiliary status as \f(CW\*(C`Salvaging file
+system\*(C'\fR.
+.PP
+The Salvager always writes a trace to the \fI/usr/afs/logs/SalvageLog\fR file
+on the file server machine where it runs. To record the trace in another
+file as well (either in \s-1AFS\s0 or on the local disk of the machine where the
+\&\fBbos salvage\fR command is issued), name the file with the \fB\-file\fR
+argument. To display the trace on the standard output stream as it is
+written to the \fI/usr/afs/logs/SalvageLog\fR file, include the \fB\-showlog\fR
+flag.
+.PP
+By default, multiple Salvager subprocesses run in parallel: one for each
+partition up to four, and four subprocesses for four or more
+partitions. To increase or decrease the number of subprocesses running in
+parallel, provide a positive integer value for the \fB\-parallel\fR argument.
+.PP
+If there is more than one server partition on a physical disk, the
+Salvager by default salvages them serially to avoid the inefficiency of
+constantly moving the disk head from one partition to another. However,
+this strategy is often not ideal if the partitions are configured as
+logical volumes that span multiple disks. To force the Salvager to salvage
+logical volumes in parallel, provide the string \f(CW\*(C`all\*(C'\fR as the value for
+the \fB\-parallel\fR argument. Provide a positive integer to specify the
+number of subprocesses to run in parallel (for example, \f(CW\*(C`\-parallel 5all\*(C'\fR
+for five subprocesses), or omit the integer to run up to four
+subprocesses, depending on the number of logical volumes being salvaged.
+.PP
+The Salvager creates temporary files as it runs, by default writing them
+to the partition it is salvaging. The number of files can be quite large,
+and if the partition is too full to accommodate them, the Salvager
+terminates without completing the salvage operation (it always removes the
+temporary files before exiting). Other Salvager subprocesses running at
+the same time continue until they finish salvaging all other partitions
+where there is enough disk space for temporary files. To complete the
+interrupted salvage, reissue the command against the appropriate
+partitions, adding the \fB\-tmpdir\fR argument to redirect the temporary files
+to a local disk directory that has enough space.
+.PP
+The \fB\-orphans\fR argument controls how the Salvager handles orphaned files
+and directories that it finds on server partitions it is salvaging. An
+\&\fIorphaned\fR element is completely inaccessible because it is not
+referenced by the vnode of any directory that can act as its parent (is
+higher in the filespace). Orphaned objects occupy space on the server
+partition, but do not count against the volume's quota.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Running this command can result in data loss if the Salvager process can
+repair corruption only by removing the offending data. Consult the \fI\s-1IBM\s0
+\&\s-1AFS\s0 Administration Guide\fR for more information.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the file server machine on which to salvage volumes. Identify
+the machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-partition\fR <\fIsalvage partition\fR>" 4
+.IX Item "-partition <salvage partition>"
+Specifies a single partition on which to salvage all volumes. Provide the
+complete partition name (for example \fI/vicepa\fR) or one of the following
+abbreviated forms:
+.Sp
+.Vb 2
+\& /vicepa = vicepa = a = 0
+\& /vicepb = vicepb = b = 1
+.Ve
+.Sp
+After \fI/vicepz\fR (for which the index is 25) comes
+.Sp
+.Vb 2
+\& /vicepaa = vicepaa = aa = 26
+\& /vicepab = vicepab = ab = 27
+.Ve
+.Sp
+and so on through
+.Sp
+.Vb 1
+\& /vicepiv = vicepiv = iv = 255
+.Ve
+.IP "\fB\-volume\fR <\fIsalvage volume id or name\fR>" 4
+.IX Item "-volume <salvage volume id or name>"
+Specifies the name or volume \s-1ID\s0 number of a read/write volume to
+salvage. The \fB\-partition\fR argument must be provided along with this one.
+.IP "\fB\-file\fR <\fIsalvage log output file\fR>" 4
+.IX Item "-file <salvage log output file>"
+Specifies the complete pathname of a file into which to write a trace of
+the salvage operation, in addition to the \fI/usr/afs/logs/SalvageLog\fR file
+on the server machine. If the file pathname is local, the trace is written
+to the specified file on the local disk of the machine where the \fBbos
+salvage\fR command is issued. If the \fB\-volume\fR argument is included, the
+file can be in \s-1AFS\s0, though not in the volume being salvaged. Do not
+combine this argument with the \fB\-showlog\fR flag.
+.IP "\fB\-all\fR" 4
+.IX Item "-all"
+Salvages all volumes on all of the partitions on the machine named by the
+\&\fB\-server\fR argument.
+.IP "\fB\-showlog\fR" 4
+.IX Item "-showlog"
+Displays the trace of the salvage operation on the standard output stream,
+as well as writing it to the \fI/usr/afs/logs/SalvageLog\fR file. Do not
+combine this flag with the \fB\-file\fR argument.
+.IP "\fB\-parallel\fR <\fI# of max parallel partition salvaging\fR>" 4
+.IX Item "-parallel <# of max parallel partition salvaging>"
+Specifies the maximum number of Salvager subprocesses to run in
+parallel. Provide one of three values:
+.RS 4
+.IP "\(bu" 4
+An integer from the range \f(CW1\fR to \f(CW32\fR. A value of \f(CW1\fR means that a
+single Salvager process salvages the partitions sequentially.
+.IP "\(bu" 4
+The string \f(CW\*(C`all\*(C'\fR to run up to four Salvager subprocesses in parallel on
+partitions formatted as logical volumes that span multiple physical
+disks. Use this value only with such logical volumes.
+.IP "\(bu" 4
+The string all followed immediately (with no intervening space) by an
+integer from the range \f(CW1\fR to \f(CW32\fR, to run the specified number of
+Salvager subprocesses in parallel on partitions formatted as logical
+volumes. Use this value only with such logical volumes.
+.RE
+.RS 4
+.Sp
+The \s-1BOS\s0 Server never starts more Salvager subprocesses than there are
+partitions, and always starts only one process to salvage a single
+volume. If this argument is omitted, up to four Salvager subprocesses run
+in parallel.
+.RE
+.IP "\fB\-tmpdir\fR <\fIdirectory to place tmp files\fR>" 4
+.IX Item "-tmpdir <directory to place tmp files>"
+Specifies the full pathname of a local disk directory to which the
+Salvager process writes temporary files as it runs. If this argument is
+omitted, or specifies an ineligible or nonexistent directory, the Salvager
+process writes the files to the partition it is currently salvaging.
+.IP "\fB\-orphans\fR (ignore | remove | attach)" 4
+.IX Item "-orphans (ignore | remove | attach)"
+Controls how the Salvager handles orphaned files and directories. Choose
+one of the following three values:
+.RS 4
+.IP "ignore" 4
+.IX Item "ignore"
+Leaves the orphaned objects on the disk, but prints a message to the
+\&\fI/usr/afs/logs/SalvageLog\fR file reporting how many orphans were found and
+the approximate number of kilobytes they are consuming. This is the
+default if the \fB\-orphans\fR argument is omitted.
+.IP "remove" 4
+.IX Item "remove"
+Removes the orphaned objects, and prints a message to the
+\&\fI/usr/afs/logs/SalvageLog\fR file reporting how many orphans were removed
+and the approximate number of kilobytes they were consuming.
+.IP "attach" 4
+.IX Item "attach"
+Attaches the orphaned objects by creating a reference to them in the vnode
+of the volume's root directory. Since each object's actual name is now
+lost, the Salvager assigns each one a name of the following form:
+.RS 4
+.IP "\(bu" 4
+\&\f(CW\*(C`_\|_ORPHANFILE_\|_.\f(CIindex\f(CW\*(C'\fR for files.
+.IP "\(bu" 4
+\&\f(CW\*(C`_\|_ORPHANDIR_\|_.\f(CIindex\f(CW\*(C'\fR for directories.
+.RE
+.RS 4
+.Sp
+where \fIindex\fR is a two-digit number that uniquely identifies each
+object. The orphans are charged against the volume's quota and appear in
+the output of the \fBls\fR command issued against the volume's root
+directory.
+.RE
+.RE
+.RS 4
+.RE
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command salvages all volumes on the \fI/vicepd\fR partition of
+the machine \f(CW\*(C`db3.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % bos salvage \-server db3.abc.com \-partition /vicepd
+.Ve
+.PP
+The following command salvages the volume with volume \s-1ID\s0 number 536870988
+on partition \fI/vicepb\fR of the machine \f(CW\*(C`fs2.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % bos salvage \-server fs2.abc.com \-partition /vicepb \-volume 536870988
+.Ve
+.PP
+The following command salvages all volumes on the machine
+\&\f(CW\*(C`fs4.abc.com\*(C'\fR. Six Salvager processes run in parallel rather than the
+default four.
+.PP
+.Vb 1
+\& % bos salvage \-server fs4.abc.com \-all \-parallel 6
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fISalvageLog\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIsalvager\fR\|(8),
+\&\fIvos_backup\fR\|(1),
+\&\fIvos_release\fR\|(1),
+\&\fIvos_remove\fR\|(1),
+\&\fIvos_zap\fR\|(1)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_SETAUTH 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_SETAUTH 8"
++.TH BOS_SETAUTH 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_setauth \- Sets authorization checking requirements for all server processes
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos setauth\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-authrequired\fR\ (on\ |\ off)
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos seta\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-a\fR\ (on\ |\ off)
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos setauth\fR command enables or disables authorization checking on
+the server machine named by the \fB\-server\fR argument. When authorization
+checking is enabled (the normal case), the \s-1AFS\s0 server processes running on
+the machine verify that the issuer of a command meets its privilege
+requirements. When authorization checking is disabled, server processes
+perform any action for anyone, including the unprivileged user
+\&\f(CW\*(C`anonymous\*(C'\fR; this security exposure precludes disabling of authorization
+checking except during installation or emergencies.
+.PP
+To indicate to the server processes that authorization checking is
+disabled, the \s-1BOS\s0 Server creates the zero-length file
+\&\fI/usr/afs/local/NoAuth\fR on its local disk. All \s-1AFS\s0 server processes
+constantly monitor for the \fINoAuth\fR file's presence and do not check for
+authorization when it is present. The \s-1BOS\s0 Server removes the file when
+this command is used to reenable authorization checking.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not create the \fINoAuth\fR file directly, except when directed by
+instructions for dealing with emergencies (doing so requires being logged
+in as the local superuser \f(CW\*(C`root\*(C'\fR). Use this command instead.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to enable or disable authorization
+checking. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-authrequired\fR (on | off)" 4
+.IX Item "-authrequired (on | off)"
+Enables authorization checking if the value is \f(CW\*(C`on\*(C'\fR, or disables it if
+the value is \f(CW\*(C`off\*(C'\fR.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example disables authorization checking on the machine
+\&\f(CW\*(C`fs7.abc.com\*(C'\fR:
+.PP
+.Vb 1
+\& % bos setauth \-server fs7.abc.com \-authrequired off
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fINoAuth\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_restart\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_SETCELLNAME 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_SETCELLNAME 8"
++.TH BOS_SETCELLNAME 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_setcellname \- Sets the cell's name in ThisCell and CellServDB
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos setcellname\fR \fB\-server\fR\ <\fImachine\ name\fR> \fB\-name\fR\ <\fIcell\ name\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos setc\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-n\fR\ <\fIcell\ name\fR>
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\-h]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos setcellname\fR command establishes the cell's name and makes the
+server machine named by the \fB\-server\fR argument a member of it, by
+recording the value of the \fB\-name\fR argument in two files which it creates
+on the local disk:
+.IP "\(bu" 4
+\&\fI/usr/afs/etc/ThisCell\fR
+.IP "\(bu" 4
+\&\fI/usr/afs/etc/CellServDB\fR. The cell name appears on the first line in the
+file, preceded by the required \f(CW\*(C`>\*(C'\fR symbol. The machine name
+specified with the \fB\-server\fR argument appears on the second line along
+with its \s-1IP\s0 address as obtained from the cell's naming service. The
+machine is thus designated as the cell's first database server machine.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Issue this command only when the installing the cell's first \s-1AFS\s0 server
+machine. The \fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR explains how to copy over the
+\&\fIThisCell\fR and \fICellServDB\fR files from this or another appropriate
+machine during installation of additional server machines.
+.PP
+Be sure to choose a satisfactory cell name when issuing this command,
+because changing a cell's name is very complicated; for one thing, it
+requires changing every password in the Authentication Database. Consult
+the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR for advice on choosing a cell name.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to set the cell name in the
+\&\fIThisCell\fR and \fICellServDB\fR file. It is always the first machine
+installed in a cell. Identify the machine by \s-1IP\s0 address or its host name
+(either fully-qualified or abbreviated unambiguously). For details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-name\fR <\fIcell name\fR>" 4
+.IX Item "-name <cell name>"
+Defines the cell name, using standard Internet domain name format (the
+actual domain name is usually appropriate). Examples are \f(CW\*(C`abc.com\*(C'\fR for
+the \s-1ABC\s0 Corporation and \f(CW\*(C`stateu.edu\*(C'\fR for the State University. It must
+match the value of the \fB\-cell\fR argument, if that is provided.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command defines the cell name \f(CW\*(C`abc.com\*(C'\fR in the \fIThisCell\fR
+and \fICellServDB\fR files on the machine \f(CW\*(C`fs1.abc.com\*(C'\fR as it is installed
+as the cell's first server machine.
+.PP
+.Vb 1
+\& % bos setcellname \-server fs1.abc.com \-name abc.com
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Authorization checking is normally turned off during installation, which
+is the only recommended time to use this command; in this case no
+privilege is required. If authorization checking is turned on, the issuer
+must be listed in the \fI/usr/afs/etc/UserList\fR file on the machine named
+by the \fB\-server\fR argument, or must be logged in as the local superuser
+\&\f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIThisCell\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8)
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Quick Beginnings\fR
+.PP
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_SETRESTART 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_SETRESTART 8"
++.TH BOS_SETRESTART 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_setrestart \- Sets when the BOS Server restarts processes
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos setrestart\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-time\fR\ <\fItime\ to\ restart\ server\fR> [\fB\-general\fR] [\fB\-newbinary\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos setr\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-t\fR\ <\fItime\ to\ restart\ server\fR>
+ [\fB\-g\fR] [\fB\-ne\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-no\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos setrestart\fR command records in the \fI/usr/afs/local/BosConfig\fR
+file the times at which the \s-1BOS\s0 Server running on the server machine named
+by the \fB\-server\fR argument performs two types of restarts:
+.IP "\(bu" 4
+A \fIgeneral restart\fR. By default, once per week the \s-1BOS\s0 Server restarts
+itself and then any \s-1AFS\s0 process marked with the \f(CW\*(C`Run\*(C'\fR status flag in the
+\&\fIBosConfig\fR file (equivalent in effect to issuing the \fBbos restart\fR
+command with the \fB\-bosserver\fR flag). The default setting is 4:00
+a.m. each Sunday morning.
+.IP "\(bu" 4
+A \fIbinary restart\fR. By default, once per day the \s-1BOS\s0 Server restarts any
+currently running process for which the timestamp on the binary file in
+the \fI/usr/afs/bin\fR directory is later than the time the process last
+started or restarted. The default is 5:00 a.m. each day.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Restarting a process makes it unavailable for a period of time. The \fBfs\fR
+process has potentially the longest outage, depending on how many volumes
+the file server machine houses (the File Server and Volume Server reattach
+each volume when they restart). The default settings are designed to
+coincide with periods of low usage, so that the restarts disturb the
+smallest possible number of users.
+.PP
+If the setting specified with the \fB\-time\fR argument is within one hour of
+the current time, the \s-1BOS\s0 Server does not restart any processes until the
+next applicable opportunity (the next day for binary restarts, or the next
+week for general restarts).
+.PP
+The command changes only one type of restart setting at a time; issue the
+command twice to change both settings.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to set a new restart time. Identify
+the machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-time\fR <\fItime to restart server\fR>" 4
+.IX Item "-time <time to restart server>"
+Specifies the restart time. By convention the general restart is defined
+as weekly (specifies both a day and a time), and the binary restart is
+defined as daily (specifies only a time). However, it is acceptable to
+define a daily general restart or weekly binary restart.
+.Sp
+There are four acceptable values for either type of restart setting:
+.RS 4
+.IP "\(bu" 4
+The string \f(CW\*(C`never\*(C'\fR, which directs the \s-1BOS\s0 Server never to perform the
+indicated type of restart.
+.IP "\(bu" 4
+The string \f(CW\*(C`now\*(C'\fR, which directs the \s-1BOS\s0 Server to perform the restart
+immediately and never again.
+.IP "\(bu" 4
+A time of day (the conventional type of value for the binary restart
+time). Separate the hours and minutes with a colon (\fIhh:MM\fR), an use
+either 24\-hour format, or a value in the range from \f(CW\*(C`1:00\*(C'\fR through
+\&\f(CW\*(C`12:59\*(C'\fR with the addition of \f(CW\*(C`am\*(C'\fR or \f(CW\*(C`pm\*(C'\fR. For example, both \f(CW\*(C`14:30\*(C'\fR
+and \f(CW"2:30 pm"\fR indicate 2:30 in the afternoon. Surround this parameter
+with double quotes (\f(CW""\fR) if it contains a space.
+.IP "\(bu" 4
+A day of the week and time of day, separated by a space and surrounded
+with double quotes (\f(CW""\fR). This is the conventional type of value for the
+general restart. For the day, provide either the whole name or the first
+three letters, all in lowercase letters (\f(CW\*(C`sunday\*(C'\fR or \f(CW\*(C`sun\*(C'\fR, \f(CW\*(C`thursday\*(C'\fR
+or \f(CW\*(C`thu\*(C'\fR, and so on). For the time, use the same format as when
+specifying the time alone.
+.RE
+.RS 4
+.Sp
+If desired, precede a time or day and time definition with the string
+\&\f(CW\*(C`every\*(C'\fR or \f(CW\*(C`at\*(C'\fR. These words do not change the meaning, but possibly
+make the output of the \fBbos getrestart\fR command easier to understand.
+.RE
+.IP "\fB\-general\fR" 4
+.IX Item "-general"
+Sets the general restart time.
+.IP "\fB\-newbinary\fR" 4
+.IX Item "-newbinary"
+Sets the binary restart time.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command sets the general restart time on the machine
+\&\f(CW\*(C`fs4.abc.com\*(C'\fR to Saturday at 3:30 am.
+.PP
+.Vb 1
+\& % bos setrestart \-server fs4.abc.com \-time "sat 3:30" \-general
+.Ve
+.PP
+The following command sets the binary restart time on the machine
+\&\f(CW\*(C`fs6.abc.com\*(C'\fR to 11:45 pm.
+.PP
+.Vb 1
+\& % bos setrestart \-server fs6.abc.com \-time 23:45 \-newbinary
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_getrestart\fR\|(8),
+\&\fIbos_restart\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_SHUTDOWN 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_SHUTDOWN 8"
++.TH BOS_SHUTDOWN 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_shutdown \- Stops a process without changing its status flag
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos shutdown\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ [\fB\-instance\fR\ <\fIinstances\fR>+] [\fB\-wait\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos sh\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-i\fR\ <\fIinstances\fR>+] [\fB\-w\fR]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos shutdown\fR command stops, on the server machine named by the
+\&\fB\-server\fR argument, either
+.IP "\(bu" 4
+All of the currently running \s-1AFS\s0 server processes, except the \s-1BOS\s0 Server.
+.IP "\(bu" 4
+Only the processes specified by the \fB\-instance\fR argument.
+.PP
+This command does not change a process's status flag in the
+\&\fI/usr/afs/local/BosConfig\fR file, but only in the \s-1BOS\s0 Server's memory. To
+stop a process and change its \fIBosConfig\fR status flag, use the \fBbos
+stop\fR command instead.
+.PP
+Once stopped with this command, a process does not run again until an
+administrator starts it by using the \fBbos start\fR, \fBbos startup\fR, or
+\&\fBbos restart\fR command, or until the \s-1BOS\s0 Server restarts (assuming that
+the process's \fIBosConfig\fR status flag is \f(CW\*(C`Run\*(C'\fR).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to stop processes. Identify the
+machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIinstances\fR>+" 4
+.IX Item "-instance <instances>+"
+Names each process to stop. Use the process name assigned with the
+\&\fB\-instance\fR argument to the \fBbos create\fR command. The output from the
+\&\fBbos status\fR command lists the names. Omit this argument to stop all
+processes other than the \s-1BOS\s0 Server.
+.IP "\fB\-wait\fR" 4
+.IX Item "-wait"
+Delays the return of the command shell prompt until all processes actually
+stop. If this argument is omitted, the prompt returns almost immediately
+even if all processes are not stopped.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command stops all processes other than the \s-1BOS\s0 Server on the
+machine \f(CW\*(C`fs3.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % bos shutdown fs3.abc.com
+.Ve
+.PP
+The following command stops the \f(CW\*(C`upserver\*(C'\fR process (server portion of the
+Update Server) on the machine \f(CW\*(C`fs5.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % bos shutdown \-server fs5.abc.com \-instance upserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_restart\fR\|(8),
+\&\fIbos_start\fR\|(8),
+\&\fIbos_startup\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_START 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_START 8"
++.TH BOS_START 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_start \- Starts a process after setting its status flag
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos start\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-instance\fR\ <\fIserver\ process\ name\fR>+ [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos start\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-i\fR\ <\fIserver\ process\ name\fR>+
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos start\fR command sets the status flag for each process specified
+by the \fB\-instance\fR argument to \f(CW\*(C`Run\*(C'\fR in the \fI/usr/afs/local/BosConfig\fR
+file and in the \s-1BOS\s0 Server's memory on the server machine named by the
+\&\fB\-server\fR argument, then starts it. If the process is already running,
+the command's only effect is to guarantee that the status flag is \f(CW\*(C`Run\*(C'\fR;
+it does not restart the process.
+.PP
+To start a process without changing its status flag in the \fIBosConfig\fR
+file, use the \fBbos startup\fR command instead.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to start processes. Identify the
+machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIserver process name\fR>+" 4
+.IX Item "-instance <server process name>+"
+Names each process to start. Use the process name assigned with the
+\&\fB\-instance\fR argument to the \fBbos create\fR command. The output from the
+\&\fBbos status\fR command lists the names.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command changes the status flag for the \f(CW\*(C`upclientbin\*(C'\fR and
+\&\f(CW\*(C`upclientetc\*(C'\fR processes to \f(CW\*(C`Run\*(C'\fR in the \fIBosConfig\fR file on the machine
+\&\f(CW\*(C`fs6.abc.com\*(C'\fR and starts them running.
+.PP
+.Vb 1
+\& % bos start \-server fs6.abc.com \-instance upclientbin upclientetc
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_startup\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_STARTUP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_STARTUP 8"
++.TH BOS_STARTUP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_startup \- Starts a process without changing its status flag
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos startup\fR \fB\-server\fR\ <\fImachine\ name\fR> [\fB\-instance\fR\ <\fIinstances\fR>+]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos startu\fR \fB\-s\fR\ <\fImachine\ name\fR> [\fB\-i\fR\ <\fIinstances\fR>+]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos startup\fR command starts, on the server machine named by the
+\&\fB\-server\fR argument, either:
+.IP "\(bu" 4
+All \s-1AFS\s0 server processes not currently running but marked with the \f(CW\*(C`Run\*(C'\fR
+status flag in the \fI/usr/afs/local/BosConfig\fR file.
+.IP "\(bu" 4
+Each process specified by \fB\-instance\fR argument, even if its status flag
+in the \fBBosConfig\fR file is \f(CW\*(C`NotRun\*(C'\fR.
+.PP
+To start a process and set its \fIBosConfig\fR status flag to \f(CW\*(C`Run\*(C'\fR, use the
+\&\fBbos start\fR command instead.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to start processes. Identify the
+machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIinstances\fR>+" 4
+.IX Item "-instance <instances>+"
+Names each process to start. Use the process name assigned with the
+\&\fB\-instance\fR argument to the \fBbos create\fR command. The output from the
+\&\fBbos status\fR command lists the names.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command starts all processes marked with status flag \f(CW\*(C`Run\*(C'\fR
+in the \fIBosConfig\fR file on the machine \f(CW\*(C`fs3.abc.com\*(C'\fR that are not
+currently running.
+.PP
+.Vb 1
+\& % bos startup fs3.abc.com
+.Ve
+.PP
+The following command starts the \fBbuserver\fR, \fBkaserver\fR, \fBptserver\fR,
+and \fBvlserver\fR processes running on the machine \f(CW\*(C`db2.abc.com\*(C'\fR, even if
+their status flags in the \fIBosConfig\fR file are \f(CW\*(C`NotRun\*(C'\fR.
+.PP
+.Vb 2
+\& % bos startup \-server db2.abc.com \e
+\& \-instance buserver kaserver ptserver vlserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_start\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_STATUS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_STATUS 8"
++.TH BOS_STATUS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_status \- Displays the status of server processes
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos\ status\ \-server\fR\ <\fImachine\ name\fR> [\-instance <\fIserver process name\fR>+]
+[\fB\-long\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos\ stat\ \-s\fR\ <\fImachine\ name\fR> [\-i <\fIserver process name\fR>+]
+[\fB\-lon\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-loc\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The bos status command reports the status of processes on the
+server machine named by the \fB\-server\fR argument, either
+.IP "\(bu" 4
+All of the \s-1AFS\s0 server processes listed in the
+\&\fI/usr/afs/local/BosConfig\fR file
+.IP "\(bu" 4
+Only these processes named by the \-instance argument
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine for which to report server process
+status. Identify the machine by \s-1IP\s0 address or its host name (either
+fully-qualified or abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\-instance" 4
+.IX Item "-instance"
+Names each process for which to report status. Use the process name
+assigned with the \fB\-instance\fR argument to the \fBbos\fR
+command. The output from the \fBbos status\fR command lists the
+names.
+.IP "\-long" 4
+.IX Item "-long"
+Produces more detailed status information.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this
+argument with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the
+issuer. Do not combine this flag with the \fB\-localauth\fR
+flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command
+interpreter presents the ticket to the \s-1BOS\s0 Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR or
+\&\fB\-noauth\fR options. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options
+are ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output for a process includes at least one line, which reports one of
+the following as the process's current status:
+.IP "\(bu" 4
+\&\f(CW\*(C`currently running normally\*(C'\fR. The process's status
+flag in the \fBBosConfig\fR file is \f(CW\*(C`Run\*(C'\fR. For
+\&\fBcron\fR entries, this message indicates only that the command is
+scheduled to run, not necessarily that it was executing when the \fBbos
+status\fR command was issued.
+.IP "\(bu" 4
+\&\f(CW\*(C`disabled\*(C'\fR. The process is not running, and its
+\&\fBBosConfig\fR status flag is \f(CW\*(C`NotRun\*(C'\fR.
+.IP "\(bu" 4
+\&\f(CW\*(C`temporarily disabled\*(C'\fR. The process is not running
+although its status flag in the \fBBosConfig\fR file is
+\&\f(CW\*(C`Run\*(C'\fR. Either an administrator used the \fBbos
+shutdown\fR command to stop it, or the
+.IP "\(bu" 4
+\&\s-1BOS\s0 Server stopped trying to restart it after numerous failed
+attempts. In the second case, the auxiliary message is \f(CW\*(C`stopped for
+too many errors\*(C'\fR.
+.IP "\(bu" 4
+\&\f(CW\*(C`temporarily enabled\*(C'\fR. The process is running although its
+status flag in the \fBBosConfig\fR file is \f(CW\*(C`NotRun\*(C'\fR. An
+administrator has used the \fBbos startup\fR command to start it.
+.PP
+If one of the following special circumstances applies to the process, the
+indicated message appears in its entry:
+.IP "\(bu" 4
+\&\f(CW\*(C`has core file\*(C'\fR. The process failed and created a core
+file in the \fI/usr/afs/logs\fR directory. If the \s-1BOS\s0 Server was
+able to restart the process after the failure, the primary status is
+\&\f(CW\*(C`currently running normally\*(C'\fR.
+.IP "\(bu" 4
+\&\f(CW\*(C`stopped for too many errors\*(C'\fR. The reason for the primary
+status \f(CW\*(C`temporarily disabled\*(C'\fR is that the \s-1BOS\s0 Server's attempts
+to restart the process all failed.
+.PP
+The entry for the fs process always includes a second line to
+report the process's \f(CW\*(C`Auxiliary status\*(C'\fR, which is one of the
+following:
+.IP "\(bu" 4
+\&\f(CW\*(C`file server running\*(C'\fR. The File Server and Volume Server
+components of the File Server process are running normally.
+.IP "\(bu" 4
+\&\f(CW\*(C`salvaging file system\*(C'\fR. The Salvager is running, so the
+File Server and Volume Server are temporarily disabled. The \s-1BOS\s0 Server
+restarts them as soon as the Salvager is finished.
+.PP
+The entry for a cron process includes an \f(CW\*(C`Auxiliary
+status\*(C'\fR that reports when the command will next execute.
+.PP
+If the \-long flag is used, each entry includes the following
+additional information:
+.IP "\(bu" 4
+The process's type (\f(CW\*(C`simple\*(C'\fR, \f(CW\*(C`fs\*(C'\fR, or
+\&\f(CW\*(C`cron\*(C'\fR).
+.IP "\(bu" 4
+The day and time the process last started or restarted.
+.IP "\(bu" 4
+The number of \f(CW\*(C`proc starts\*(C'\fR, which is how many times the \s-1BOS\s0
+Server has started or restarted the process since it started itself.
+.IP "\(bu" 4
+The \f(CW\*(C`Last exit\*(C'\fR time when the process (or one of the component
+processes in the \fBfs\fR process) last terminated. This line does
+not appear if the process has not terminated since the \s-1BOS\s0 Server
+started.
+.IP "\(bu" 4
+The \f(CW\*(C`Last error exit\*(C'\fR time when the process (or one of the
+component processes in the \fBfs\fR process) last failed due to an
+error. A further explanation such as \f(CW\*(C`due to shutdown request\*(C'\fR
+sometimes appears. This line does not appear if the process has not
+failed since the \s-1BOS\s0 Server started.
+.IP "\(bu" 4
+Each command that the \s-1BOS\s0 Server invokes to start the process, as
+specified by the \fB\-cmd\fR argument to the \fBbos create\fR
+command.
+.IP "\(bu" 4
+The pathname of the notifier program that the \s-1BOS\s0 Server invokes when the
+process terminates (if any), as specified by the \fB\-notifier\fR argument
+to the \fBbos create\fR command.
+.PP
+If the \-long flag is provided and the \s-1BOS\s0 Server discovers that
+the mode bits on files and subdirectories in the local \fI/usr/afs\fR
+directory differ from the expected values, it prints the following warning
+message:
+.PP
+.Vb 1
+\& Bosserver reports inappropriate access on server directories
+.Ve
+.PP
+The following chart summarizes the expected mode bit settings. A
+question mark indicates that the \s-1BOS\s0 Server does not check that bit.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command displays the status of processes on the
+machine \fBfs3.abc.com\fR:
+.PP
+.Vb 9
+\& % bos status fs3.abc.com
+\& Instance buserver, currently running normally.
+\& Instance kaserver, currently running normally.
+\& Instance ptserver, currently running normally.
+\& Instance vlserver, currently running normally.
+\& Instance fs, has core file, currently running normally.
+\& Auxiliary status is: file server running.
+\& Instance upserver, currently running normally.
+\& Instance runntp, currently running normally.
+.Ve
+.PP
+The following example command displays a detailed status report for the
+\&\fBfs\fR and \fBptserver\fR processes on the machine
+\&\fBfs1.abc.com\fR.
+.PP
+.Vb 10
+\& % bos status \-server fs1.abc.com \-instance fs ptserver \-long
+\& Instance fs, (type is fs), currently running normally.
+\& Auxiliary status is: file server running.
+\& Process last started at Wed Jan 7 5:34:49 1998 (3 proc starts)
+\& Last exit at Wed Jan 7 5:34:49 1998
+\& Last error exit at Wed Jan 7 5:34:49 1998, due to shutdown
+\& request
+\& Command 1 is \*(Aq/usr/afs/bin/fileserver\*(Aq
+\& Command 2 is \*(Aq/usr/afs/bin/volserver\*(Aq
+\& Command 3 is \*(Aq/usr/afs/bin/salvager\*(Aq
+\& Instance ptserver, (type is simple) currently running normally.
+\& Process last started at Tue Jan 6 8:29:19 1998 (1 proc starts)
+\& Command 1 is \*(Aq/usr/afs/bin/ptserver\*(Aq
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIbos_startup\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_STOP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_STOP 8"
++.TH BOS_STOP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_stop \- Stops a process after changing its status flag
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos stop\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-instance\fR\ <\fIserver\ process\ name\fR>+ [\fB\-wait\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos sto\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-i\fR\ <\fIserver\ process\ name\fR>+
+ [\fB\-w\fR] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos stop\fR command sets the status flag for each process specified
+with the \fB\-instance\fR argument to \f(CW\*(C`NotRun\*(C'\fR in the
+\&\fI/usr/afs/local/BosConfig\fR file on the server machine named by the
+\&\fB\-server\fR argument, then stops it.
+.PP
+To stop a process without changing its \fIBosConfig\fR status flag, use the
+\&\fBbos shutdown\fR command instead.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the server machine on which to stop processes. Identify the
+machine by \s-1IP\s0 address or its host name (either fully-qualified or
+abbreviated unambiguously). For details, see \fIbos\fR\|(8).
+.IP "\fB\-instance\fR <\fIserver process name\fR>+" 4
+.IX Item "-instance <server process name>+"
+Names each process to stop. Use the process name assigned with the
+\&\fB\-instance\fR argument to the \fBbos create\fR command. The output from the
+\&\fBbos status\fR command lists the names.
+.IP "\fB\-wait\fR" 4
+.IX Item "-wait"
+Delays the return of the command shell prompt until all processes actually
+stop. If this argument is omitted, the prompt returns almost immediately
+even if all processes are not stopped.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command stops the \fBupserver\fR and \fBrunntp\fR
+processes on the machine \f(CW\*(C`fs7.abc.com\*(C'\fR.
+.PP
+.Vb 1
+\& % bos stop \-server fs7.abc.com \-instance upserver runntp
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIbos_status\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_UNINSTALL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_UNINSTALL 8"
++.TH BOS_UNINSTALL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_uninstall \- Reverts to the former version of a process's binary file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos uninstall\fR \fB\-server\fR\ <\fImachine\ name\fR>
+ \fB\-file\fR\ <\fIfiles\ to\ uninstall\fR>+ [\fB\-dir\fR\ <\fIdestination\ dir\fR>]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noauth\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbos u\fR \fB\-s\fR\ <\fImachine\ name\fR> \fB\-f\fR\ <\fIfiles\ to\ uninstall\fR>+
+ [\fB\-d\fR\ <\fIdestination\ dir\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos uninstall\fR command replaces each binary file specified by the
+\&\fB\-file\fR argument with its \f(CW\*(C`.BAK\*(C'\fR version on the server machine named by
+the \fB\-server\fR argument, which is normally the binary distribution machine
+for its CPU/operating system type. It also changes the extension on the
+current \f(CW\*(C`.OLD\*(C'\fR version (if any) to \f(CW\*(C`.BAK\*(C'\fR. Each binary file must reside
+in the local \fI/usr/afs/bin\fR directory unless the \fB\-dir\fR argument names
+an alternate directory.
+.PP
+To start using the reverted binary immediately, issue the \fBbos restart\fR
+command. Otherwise, the \s-1BOS\s0 Server automatically restarts the process at
+the time defined in the \fI/usr/afs/local/BosConfig\fR file; use the \fBbos
+getrestart\fR command to display the time and the \fBbos setrestart\fR time to
+set it.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-server\fR <\fImachine name\fR>" 4
+.IX Item "-server <machine name>"
+Indicates the binary distribution machine on which to revert to the
+\&\f(CW\*(C`.BAK\*(C'\fR version of binaries. Identify the machine by \s-1IP\s0 address or its
+host name (either fully-qualified or abbreviated unambiguously). For
+details, see \fIbos\fR\|(8).
+.Sp
+If the machine is not a binary distribution machine and is running an
+\&\f(CW\*(C`upclientbin\*(C'\fR process, then the files are overwritten the next time the
+\&\f(CW\*(C`upclientbin\*(C'\fR process fetches the corresponding file from the
+distribution machine (by default within five minutes).
+.IP "\fB\-file\fR <\fIfiles to uninstall\fR>+" 4
+.IX Item "-file <files to uninstall>+"
+Names each binary file to replace with its \f(CW\*(C`.BAK\*(C'\fR version.
+.IP "\fB\-dir\fR <\fIdestinatino dir\fR>" 4
+.IX Item "-dir <destinatino dir>"
+Provides the complete pathname of the local disk directory containing each
+file named by the \fB\-file\fR argument. It is necessary only if the binaries
+are not in the \fI/usr/afs/bin\fR directory.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see \fIbos\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using a key from the local
+\&\fI/usr/afs/etc/KeyFile\fR file. The \fBbos\fR command interpreter presents the
+ticket to the \s-1BOS\s0 Server during mutual authentication. Do not combine this
+flag with the \fB\-cell\fR or \fB\-noauth\fR options. For more details, see
+\&\fIbos\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command overwrites the \fI/usr/afs/bin/kaserver\fR file
+on the machine \f(CW\*(C`fs4.abc.com\*(C'\fR with its \f(CW\*(C`.BAK\*(C'\fR version, and the current
+\&\f(CW\*(C`.BAK\*(C'\fR version by the \f(CW\*(C`.OLD\*(C'\fR version.
+.PP
+.Vb 1
+\& % bos uninstall \-server fs4.abc.com \-file kaserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine named by the \fB\-server\fR argument, or must be logged onto a server
+machine as the local superuser \f(CW\*(C`root\*(C'\fR if the \fB\-localauth\fR flag is
+included.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIKeyFile\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_getrestart\fR\|(8),
+\&\fIbos_restart\fR\|(8),
+\&\fIbos_setrestart\fR\|(8),
+\&\fIupclient\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BOS_UTIL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOS_UTIL 8"
++.TH BOS_UTIL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bos_util \- Manipulate the AFS server Keyfile
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbos_util\fR add <\fIkvno\fR>
+.PP
+\&\fBbos_util\fR adddes <\fIkvno\fR>
+.PP
+\&\fBbos_util\fR delete <\fIkvno\fR>
+.PP
+\&\fBbos_util\fR list
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbos_util\fR command manipulates the \s-1AFS\s0 server \fBKeyfile\fR. It can take
+a password from standard input, convert it to a key, and add it to the
+\&\fIKeyFile\fR; list the keys in the \fIKeyFile\fR; or remove a key from thet
+\&\fIKeyFile\fR. It is very similar in function to \fBasetkey\fR, but \fBasetkey\fR
+works with keytab files wheras \fBbos_util\fR works with passwords directly.
+.PP
+\&\fBbos_util\fR expects one of the following subcommands:
+.IP "add <\fIkvno\fR>" 4
+.IX Item "add <kvno>"
+Add a key with key version <\fIkvno\fR> to the \fIKeyFile\fR using a password
+from standard input. This command uses the normal \s-1AFS\s0 password salt
+algorithm to generate the key (equivalent to the des\-cbc\-crc:afs3 enctype
+in Kerberos v5). This command is basically equivalent to \fBbos addkey\fR.
+.IP "adddes <\fIkvno\fR>" 4
+.IX Item "adddes <kvno>"
+Add a key with key version <\fIkvno\fR> to the \fBKeyFile\fR using a password
+from standard input. This command does not salt the password when
+generating the key (equivalent to the des\-cbc\-crc:v4 enctype in Kerberos
+v5).
+.Sp
+Since this command applies no salt to the password, it can be used as a
+last resort for generating a \s-1DES\s0 key with a salt algorithm that other
+utilities don't know how to use by giving this command the pre-salted
+password. This can be useful when, for example, using Microsoft Active
+Directory as the Kerberos \s-1KDC\s0, since Active Directory uses a different
+salt algorithm for service principals than most Unix Kerberos
+implementations. The best approach, however, is to find a way to generate
+a keytab and then use \fBasetkey\fR.
+.IP "delete <\fIkvno\fR>" 4
+.IX Item "delete <kvno>"
+Delete the key with the specified key version from the \fIKeyFile\fR. This
+command is equivalent to \fBasetkey delete\fR or \fBbos removekey\fR.
+.IP "list" 4
+.IX Item "list"
+List the keys in the \fIKeyFile\fR. This command is equivalent to \fBasetkey
+list\fR or \fBbos listkeys\fR.
+.PP
+The \fBbos_util\fR command does not use the normal \s-1AFS\s0 option parsing library
+and its subcommands cannot be abbreviated.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\fBbos_util\fR is intended for use with a Kerberos v4 environment and
+therefore is mostly obsolete. Normally, rather than using this command,
+you will want to use \fBktutil\fR to create a keytab (perhaps with its
+\&\fBadd_entry\fR command) and then use \fBasetkey\fR as normal. \fBbos_util\fR only
+supports the \s-1AFS\s0 password salt algorithm and no password salt algorithm
+and therefore may not produce the same key from a given password as
+Kerberos v5 utilities unless one is careful to use that same salt
+algorithm when creating the key in the \s-1KDC\s0.
+.PP
+Creating an \s-1AFS\s0 key with a known password and then using \fBbos_util\fR or
+\&\fBbos addkey\fR to add that key to the \fIKeyFile\fR is not recommended.
+Human-created passwords are usually not as strong as a random key
+generated using a good entropy source, such as with the \fB\-randkey\fR option
+to the \s-1MIT\s0 Kerberos v5 \fBkadmin ktadd\fR command or the equivalent in other
+Kerberos v5 implementations. The security of \s-1AFS\s0 depends on the strength
+of the \s-1AFS\s0 service key; it should therefore be as random as possible.
+.PP
+It is imperative that the key version number (kvno) given matches the kvno
+on the Kerberos server. If it doesn't, users won't be able to
+authenticate. The key generated by \fBbos_util\fR must also match the
+internal representation on the Kerberos server including the salt.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+\&\fBbos_util\fR takes no options.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged onto a file server machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIasetkey\fR\|(8),
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_listkeys\fR\|(8),
+\&\fIbos_removekey\fR\|(8),
+\&\fIkadmin\fR\|(8),
+\&\fIktutil\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH BOSSERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BOSSERVER 8"
++.TH BOSSERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+bosserver \- Initializes the BOS Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbosserver\fR [\fB\-noauth\fR] [\fB\-log\fR] [\fB\-enable_peer_stats\fR]
+ [\fB\-enable_process_stats\fR] [\fB\-allow\-dotted\-principals\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The bosserver command initializes the Basic OverSeer (\s-1BOS\s0) Server
+(\fBbosserver\fR process). In the conventional configuration, the binary file
+is located in the \fI/usr/afs/bin\fR directory on a file server machine.
+.PP
+The \s-1BOS\s0 Server must run on every file server machine and helps to automate
+file server administration by performing the following tasks:
+.IP "\(bu" 4
+Monitors the other \s-1AFS\s0 server processes on the local machine, to make sure
+they are running correctly.
+.IP "\(bu" 4
+Automatically restarts failed processes, without contacting a human
+operator. When restarting multiple server processes simultaneously, the
+\&\s-1BOS\s0 Server takes interdependencies into account and initiates restarts in
+the correct order.
+.IP "\(bu" 4
+Processes commands from the bos suite that administrators issue to verify
+the status of server processes, install and start new processes, stop
+processes either temporarily or permanently, and restart halted processes.
+.IP "\(bu" 4
+Manages system configuration information: the files that list the cell's
+server encryption keys, database server machines, and users privileged to
+issue commands from the \fBbos\fR and \fBvos\fR suites.
+.PP
+The \s-1BOS\s0 Server logs a default set of important events in the file
+\&\fI/usr/afs/logs/BosLog\fR. To record the name of any user who performs a
+privileged \fBbos\fR command (one that requires being listed in the
+\&\fI/usr/afs/etc/UserList\fR file), add the \fB\-log\fR flag. To display the
+contents of the \fBBosLog\fR file, use the \fBbos getlog\fR command.
+.PP
+The first time that the \s-1BOS\s0 Server initializes on a server machine, it
+creates several files and subdirectories in the local \fI/usr/afs\fR
+directory, and sets their mode bits to protect them from unauthorized
+access. Each time it restarts, it checks that the mode bits still comply
+with the settings listed in the following chart. A question mark indicates
+that the \s-1BOS\s0 Server initially turns off the bit (sets it to the hyphen),
+but does not check it at restart.
+.PP
+If the mode bits do not comply, the \s-1BOS\s0 Server writes the following
+warning to the \fIBosLog\fR file:
+.PP
+.Vb 1
+\& Bosserver reports inappropriate access on server directories
+.Ve
+.PP
+However, the \s-1BOS\s0 Server does not reset the mode bits, so the administrator
+can set them to alternate values if desired (with the understanding that
+the warning message then appears at startup).
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer, which is
+useful only when authorization checking is disabled on the server machine
+(for instance, during the installation of a file server machine.)
+.IP "\fB\-log\fR" 4
+.IX Item "-log"
+Records in the \fI/usr/afs/logs/BosLog\fR file the names of all users who
+successfully issue a privileged \fBbos\fR command (one that requires being
+listed in the \fI/usr/afs/etc/UserList\fR file).
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-allow\-dotted\-principals\fR" 4
+.IX Item "-allow-dotted-principals"
+By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos
+principals with a dot in the first component of their name. This is to avoid
+the confusion where principals user/admin and user.admin are both mapped to the
+user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions
+between principal names may disable this check by starting the server
+with this option.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command initializes the \s-1BOS\s0 Server and logs the names of
+users who issue privileged \fBbos\fR commands.
+.PP
+.Vb 1
+\& % bosserver \-log &
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer most be logged onto a file server machine as the local
+superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIBosLog\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_exec\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbos_getrestart\fR\|(8),
+\&\fIbos_restart\fR\|(8),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIbos_start\fR\|(8),
+\&\fIbos_startup\fR\|(8),
+\&\fIbos_status\fR\|(8),
+\&\fIbos_stop\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BUSERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BUSERVER 8"
++.TH BUSERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+buserver \- Initializes the Backup Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbuserver\fR [\fB\-database\fR\ <\fIdatabase\ directory\fR>]
+ [\fB\-cellservdb\fR\ <\fIcell\ configuration\ directory\fR>] [\fB\-resetdb\fR]
+ [\fB\-noauth\fR] [\fB\-smallht\fR] [\-servers <\fIlist of ubik database servers\fR>+]
+ [\fB\-enable_peer_stats\fR] [\-enable_process_stats] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbuserver\fR command initializes the Backup Server, which runs on
+database server machines and maintains the Backup Database. In the
+conventional configuration, the binary file is located in the
+\&\fI/usr/afs/bin\fR directory on a file server machine.
+.PP
+The \fBbuserver\fR command is not normally issued at the command shell
+prompt, but rather placed into a database server machine's
+\&\fI/usr/afs/local/BosConfig\fR file with the \fBbos create\fR command. If it is
+ever issued at the command shell prompt, the issuer must be logged onto a
+file server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+As it initializes, the Backup Server process creates the two files that
+constitute the Backup Database, \fIbdb.DB0\fR and \fIbdb.DBSYS1\fR, in the
+\&\fI/usr/afs/db\fR directory if they do not already exist. The Backup Database
+houses information about volume sets and entries, the dump hierarchy, Tape
+Coordinators, and previously performed dump sets. Use the commands in the
+\&\fBbackup\fR suite to administer the database.
+.PP
+The Backup Server records a trace of its activity in the
+\&\fI/usr/afs/logs/BackupLog\fR file. Use the \fBbos getlog\fR command to display
+the contents of the file.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fBbuserver\fR process reserves port 7021 for its use. Unexpected
+behavior can occur if another process tries to reserve this port while the
+\&\fBbuserver\fR process is running.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-database\fR <\fIdatabase directory\fR>" 4
+.IX Item "-database <database directory>"
+Specifies the pathname of an alternate directory for the Backup Database
+files, ending in a final slash (\f(CW\*(C`/\*(C'\fR). If this argument is not provided,
+the default is the \fI/usr/afs/db\fR directory.
+.IP "\fB\-cellservdb\fR <\fIcell configuration directory\fR>" 4
+.IX Item "-cellservdb <cell configuration directory>"
+Specifies the pathname of the directory from which the Backup Server reads
+in an alternate version of the \fICellServDB\fR file. This argument is
+mandatory for correct functioning when the Backup Server is running on a
+subset of the cell's database server machines that is not a majority of
+the machines listed in the standard \fI/usr/afs/etc/CellServDB\fR file (which
+the Backup Server consults if this argument is not provided). It is not
+appropriate in any other circumstances.
+.IP "\fB\-resetdb\fR" 4
+.IX Item "-resetdb"
+Removes all of the information in the Backup Database files in the
+\&\fI/usr/afs/db\fR directory, leaving zero-length versions of them. The
+backup operator must recreate the configuration entries in the database
+(for volume sets, the dump hierarchy and so on) before performing backup
+operations.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Establishes an unauthenticated connection between the issuer and the
+Backup Server, in which the Backup Server treats the issuer as the
+unprivileged user \f(CW\*(C`anonymous\*(C'\fR. It is useful only when authorization
+checking is disabled on the database server machine. In normal
+circumstances, the Backup Server allows only authorized (privileged) users
+to issue commands that affect or contact the Backup Database, and refuses
+to perform such an action even if the \fB\-noauth\fR flag is used.
+.IP "\fB\-smallht\fR" 4
+.IX Item "-smallht"
+Directs the Backup Server to use smaller internal hash tables for the
+Backup Database, which reduces memory requirements but can make data
+access take longer.
+.IP "\fB\-servers\fR <\fIlist of ubik database servers\fR>+" 4
+.IX Item "-servers <list of ubik database servers>+"
+Specifies the database server machines on which to start the Backup
+Server. Use this argument if running the Backup Server on a subset of the
+database server machines that is not a majority of the machines listed in
+the \fI/usr/afs/etc/CellServDB\fR file.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example \fBbos create\fR command creates a \f(CW\*(C`buserver\*(C'\fR process
+on the file server machine \f(CW\*(C`fs3.abc.com\*(C'\fR. It appears here on two lines
+only for legibility.
+.PP
+.Vb 2
+\& % bos create \-server fs3.abc.com \-instance buserver \e
+\& \-type simple \-cmd /usr/afs/bin/buserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBackupLog\fR\|(5),
+\&\fIBosConfig\fR\|(5),
+\&\fICellServDB\fR\|(5),
+\&\fIbdb.DB0\fR\|(5),
+\&\fIbackup\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH BUTC 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "BUTC 8"
++.TH BUTC 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+butc \- Initializes the Tape Coordinator process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBbutc\fR [\fB\-port\fR\ <\fIport\ offset\fR>] [\fB\-debuglevel\fR\ (0\ |\ 1\ |\ 2)]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-noautoquery\fR] [\fB\-localauth\fR] [\fB\-help\fR]
+.PP
+\&\fBbutc\fR [\fB\-p\fR\ <\fIport\ offset\fR>] [\fB\-d\fR\ (0\ |\ 1\ |\ 2)]
+ [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-n\fR] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBbutc\fR command initializes a Tape Coordinator process on a Tape
+Coordinator machine, enabling an operator to direct Backup System requests
+to the associated tape device or backup data file. (The Tape Coordinator
+controls a backup data file if the \f(CW\*(C`FILE YES\*(C'\fR instruction appears in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file that corresponds to the Tape
+Coordinator's entry in the \fI/usr/afs/backup/tapeconfig\fR file. For the
+sake of simplicity, the following discusses tape devices only.)
+.PP
+It is conventional to start and run the Tape Coordinator in the
+foreground. In this case, it runs on its own connection, which is
+unavailable for any other use and must remain open the entire time the
+Tape Coordinator is to accept backup requests and while it is executing
+them. (When using a window manager, the connection corresponds to a
+separate command shell window.) The Tape Coordinator can run in the
+background if the \fI\s-1CFG_\s0\fIdevice_name\fI\fR file is configured to eliminate
+any need for the Tape Coordinator to prompt the operator. In both the
+foreground and background, the Tape Coordinator writes operation traces
+and other output to the standard output stream on the connection over
+which it was started. Use the \fB\-debuglevel\fR argument to control the
+amount of information that appears. The Tape Coordinator also writes
+traces and error messages to two files in the local \fI/usr/afs/backup\fR
+directory:
+.IP "\(bu" 4
+The \fI\s-1TE_\s0\fIdevice_name\fI\fR file records problems that the Tape Coordinator
+encounters as it executes backup operations.
+.IP "\(bu" 4
+The \fI\s-1TL_\s0\fIdevice_name\fI\fR file records a trace of operations as well as the
+same errors written to the \fI\s-1TE_\s0\fIdevice_name\fI\fR file.
+.PP
+The Tape Coordinator creates the files automatically as it initializes. If
+there are existing files, the Tape Coordinator renames them with a \f(CW\*(C`.old\*(C'\fR
+extension, overwriting the existing \f(CW\*(C`.old\*(C'\fR files if they exist. It
+derives the \fIdevice_name\fR part of the file names by stripping off the
+device name's \fI/dev/\fR prefix and replacing any other slashes with
+underscores. For example, the files are called \fITE_rmt_4m\fR and
+\&\fITL_rmt_4m\fR for a device called \fI/dev/rmt/4m\fR.
+.PP
+By default, at the beginning of each operation the Tape Coordinator
+prompts for the operator to insert the first tape into the drive and press
+Return. To suppress this prompt, include the \fB\-noautoquery\fR flag on the
+command line or the instruction \f(CW\*(C`AUTOQUERY NO\*(C'\fR in the
+\&\fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file. When the prompt is suppressed,
+the first required tape must be in the drive before a \fBbackup\fR command is
+issued. For subsequent tapes, the Tape Coordinator uses its normal tape
+acquisition routine: if the \fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file
+includes a \f(CW\*(C`MOUNT\*(C'\fR instruction, the Tape Coordinator invokes the
+indicated command; otherwise, it prompts the operator for the next tape.
+.PP
+To stop the Tape Coordinator process, enter an interrupt signal such as
+Ctrl-C over the dedicated connection (in the command shell window).
+.PP
+To cancel a backup operation that involves a tape before it begins
+(assuming the initial tape prompt has not been suppressed), enter the
+letter \f(CW\*(C`a\*(C'\fR (for \f(CW\*(C`abort\*(C'\fR) and press Return at the Tape Coordinator's
+prompt for the first tape.
+.PP
+Tape Coordinator operation depends on the correct configuration of certain
+files, as described in the following list:
+.IP "\(bu" 4
+The local \fI/usr/afs/backup/tapeconfig\fR file must include an entry for the
+Tape Coordinator that specifies its device name and port offset number,
+among other information; for details, \fItapeconfig\fR\|(5).
+.IP "\(bu" 4
+The port offset number recorded in the Tape Coordinator's entry in the
+Backup Database must match the one in the \fItapeconfig\fR file. Create the
+Backup Database entry by using the \fBbackup addhost\fR command.
+.IP "\(bu" 4
+The optional \fI/usr/afs/backup/CFG_\fIdevice_name\fI\fR file can contain
+instructions for mounting and unmounting tapes automatically (when using a
+tape stacker or jukebox, for instance) or automating other aspects of the
+backup process. The \fIdevice_name\fR part of the name is derived as
+described previously for the \fI\s-1TE_\s0\fIdevice_name\fI\fR and \fI\s-1TL_\s0\fIdevice_name\fI\fR
+files.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+If the Tape Coordinator machine is an \s-1AIX\s0 machine, use the \s-1SMIT\s0 utility to
+set the device's block size to 0 (zero), indicating variable block
+size. Otherwise, tape devices attached to machines running other operating
+systems sometimes cannot read tapes written on \s-1AIX\s0 machines. For
+instructions, see the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR chapter about
+configuring the Backup System.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-port\fR <\fIport offset\fR>" 4
+.IX Item "-port <port offset>"
+Specifies the port offset number of the Tape Coordinator to initialize.
+.IP "\fB\-debuglevel\fR" 4
+.IX Item "-debuglevel"
+Controls the amount and type of messages the Tape Coordinator displays on
+the standard output stream. Provide one of three acceptable values:
+.RS 4
+.IP "\(bu" 4
+\&\f(CW0\fR to display the minimum level of detail required to describe Tape
+Coordinator operations, including prompts for tapes, messages that
+indicate the beginning and end of operations, and error messages. This is
+the default value.
+.IP "\(bu" 4
+\&\f(CW1\fR to display the names of the volumes being dumped or restored as well
+as the information displayed at level \f(CW0\fR.
+.IP "\(bu" 4
+\&\f(CW2\fR to display all messages also being written to the
+\&\fI\s-1TL_\s0\fIdevice_name\fI\fR log file.
+.RE
+.RS 4
+.RE
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which the Tape Coordinator operates (the cell to which
+the file server machines that house affected volumes belong). If this
+argument is omitted, the Tape Coordinator runs in the local cell as
+defined in the local \fI/usr/vice/etc/ThisCell\fR file. Do not combine this
+flag with the \fB\-localauth\fR argument.
+.IP "\fB\-noautoquery\fR" 4
+.IX Item "-noautoquery"
+Suppresses the Tape Coordinator's prompt for insertion of the first tape
+needed for an operation. The operator must insert the tape into the drive
+before issuing the \fBbackup\fR command that initializes the operation.
+.IP "\fB\-localauth\fR" 4
+.IX Item "-localauth"
+Constructs a server ticket using the server encryption key with the
+highest key version number in the local \fI/usr/afs/etc/KeyFile\fR. The
+\&\fBbutc\fR command interpreter presents the ticket, which never expires, to
+the Volume Server and Volume Location Server to use in mutual
+authentication.
+.Sp
+Do not combine this argument with the \fB\-cell\fR flag, and use it only when
+logged on to a server machine as the local superuser \f(CW\*(C`root\*(C'\fR; client
+machines do not have \fI/usr/afs/etc/KeyFile\fR file.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command starts the Tape Coordinator with port offset \f(CW7\fR at
+debug level \f(CW1\fR, meaning the Tape Coordinator reports the names of
+volumes it is dumping or restoring.
+.PP
+.Vb 1
+\& % butc \-port 7 \-debuglevel 1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on every
+machine where the Backup Server or Volume Location (\s-1VL\s0) Server is running,
+and on every file server machine that houses a volume to be backed up. If
+the \fB\-localauth\fR flag is included, the issuer must instead be logged on
+to the Tape Coordinator machine as the local superuser \f(CW\*(C`root\*(C'\fR. In
+addition, the issuer must be able to read and write to the log and
+configuration files in the local \fI/usr/afs/backup\fR directory.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIKeyFile\fR\|(5),
+\&\fIThisCell\fR\|(5),
+\&\fIUserList\fR\|(5),
+\&\fIbutc\fR\|(5),
+\&\fIbutc_logs\fR\|(5),
+\&\fItapeconfig\fR\|(5),
+\&\fIbackup_addhost\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FILESERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FILESERVER 8"
++.TH FILESERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fileserver \- Initializes the File Server component of the fs process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfileserver\fR [\fB\-auditlog\fR\ <\fIpath\ to\ log\ file\fR>]
+ [\fB\-d\fR\ <\fIdebug\ level\fR>]
+ [\fB\-p\fR\ <\fInumber\ of\ processes\fR>]
+ [\fB\-spare\fR\ <\fInumber\ of\ spare\ blocks\fR>]
+ [\fB\-pctspare\fR\ <\fIpercentage\ spare\fR>] [\fB\-b\fR\ <\fIbuffers\fR>]
+ [\fB\-l\fR\ <\fIlarge\ vnodes\fR>] [\fB\-s\fR\ <\fIsmall\ vnodes\fR>]
+ [\fB\-vc\fR\ <\fIvolume\ cachesize\fR>] [\fB\-w\fR\ <\fIcall\ back\ wait\ interval\fR>]
+ [\fB\-cb\fR\ <\fInumber\ of\ call\ backs\fR>] [\fB\-banner\fR] [\fB\-novbc\fR]
+ [\fB\-implicit\fR\ <\fIadmin\ mode\ bits:\ rlidwka\fR>] [\fB\-readonly\fR]
+ [\fB\-hr\fR\ <\fInumber\ of\ hours\ between\ refreshing\ the\ host\ cps\fR>]
+ [\fB\-busyat\fR\ <\fIredirect\ clients\ when\ queue\ >\ n\fR>]
+ [\fB\-nobusy\fR] [\fB\-rxpck\fR\ <\fInumber\ of\ rx\ extra\ packets\fR>]
+ [\fB\-rxdbg\fR] [\fB\-rxdbge\fR] [\fB\-rxmaxmtu\fR\ <\fIbytes\fR>]
+ [\fB\-allow\-dotted\-principals\fR] [\fB\-jumbo\fR] [\fB\-nojumbo\fR]
+ [\fB\-rxbind\fR\ <\fIaddress\ to\ bind\ the\ Rx\ socket\ to\fR>]
+ [\fB\-vattachpar\fR\ <\fInumber\ of\ volume\ attach\ threads\fR>]
+ [\fB\-m\fR\ <\fImin\ percentage\ spare\ in\ partition\fR>]
+ [\fB\-lock\fR] [\fB\-L\fR] [\fB\-S\fR] [\fB\-k\fR\ <\fIstack\ size\fR>]
+ [\fB\-realm\fR\ <\fIKerberos\ realm\ name\fR>]
+ [\fB\-udpsize\fR\ <\fIsize\ of\ socket\ buffer\ in\ bytes\fR>]
+ [\fB\-sendsize\fR\ <\fIsize\ of\ send\ buffer\ in\ bytes\fR>]
+ [\fB\-abortthreshold\fR\ <\fIabort\ threshold\fR>]
+ [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfileserver\fR command initializes the File Server component of the
+\&\f(CW\*(C`fs\*(C'\fR process. In the conventional configuration, its binary file is
+located in the \fI/usr/afs/bin\fR directory on a file server machine.
+.PP
+The \fBfileserver\fR command is not normally issued at the command shell
+prompt, but rather placed into a database server machine's
+\&\fI/usr/afs/local/BosConfig\fR file with the \fBbos create\fR command. If it is
+ever issued at the command shell prompt, the issuer must be logged onto a
+file server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+The File Server creates the \fI/usr/afs/logs/FileLog\fR log file as it
+initializes, if the file does not already exist. It does not write a
+detailed trace by default, but the \fB\-d\fR option may be used to
+increase the amount of detail. Use the \fBbos getlog\fR command to
+display the contents of the log file.
+.PP
+The command's arguments enable the administrator to control many aspects
+of the File Server's performance, as detailed in \s-1OPTIONS\s0. By default
+the \fBfileserver\fR command sets values for many arguments that are suitable
+for a medium-sized file server machine. To set values suitable for a small
+or large file server machine, use the \fB\-S\fR or \fB\-L\fR flag
+respectively. The following list describes the parameters and
+corresponding argument for which the \fBfileserver\fR command sets default
+values, and the table below summarizes the setting for each of the three
+machine sizes.
+.IP "\(bu" 4
+The maximum number of lightweight processes (LWPs) the File Server uses to
+handle requests for data; corresponds to the \fB\-p\fR argument. The File
+Server always uses a minimum of 32 \s-1KB\s0 of memory for these processes.
+.IP "\(bu" 4
+The maximum number of directory blocks the File Server caches in memory;
+corresponds to the \fB\-b\fR argument. Each cached directory block (buffer)
+consumes 2,092 bytes of memory.
+.IP "\(bu" 4
+The maximum number of large vnodes the File Server caches in memory for
+tracking directory elements; corresponds to the \fB\-l\fR argument. Each large
+vnode consumes 292 bytes of memory.
+.IP "\(bu" 4
+The maximum number of small vnodes the File Server caches in memory for
+tracking file elements; corresponds to the \fB\-s\fR argument. Each small
+vnode consumes 100 bytes of memory.
+.IP "\(bu" 4
+The maximum volume cache size, which determines how many volumes the File
+Server can cache in memory before having to retrieve data from disk;
+corresponds to the \fB\-vc\fR argument.
+.IP "\(bu" 4
+The maximum number of callback structures the File Server caches in
+memory; corresponds to the \fB\-cb\fR argument. Each callback structure
+consumes 16 bytes of memory.
+.IP "\(bu" 4
+The maximum number of Rx packets the File Server uses; corresponds to the
+\&\fB\-rxpck\fR argument. Each packet consumes 1544 bytes of memory.
+.PP
+The default values are:
+.PP
+.Vb 9
+\& Parameter (Argument) Small (\-S) Medium Large (\-L)
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\& Number of LWPs (\-p) 6 9 128
+\& Number of cached dir blocks (\-b) 70 90 120
+\& Number of cached large vnodes (\-l) 200 400 600
+\& Number of cached small vnodes (\-s) 200 400 600
+\& Maximum volume cache size (\-vc) 200 400 600
+\& Number of callbacks (\-cb) 20,000 60,000 64,000
+\& Number of Rx packets (\-rxpck) 100 150 200
+.Ve
+.PP
+To override any of the values, provide the indicated argument (which can
+be combined with the \fB\-S\fR or \fB\-L\fR flag).
+.PP
+The amount of memory required for the File Server varies. The approximate
+default memory usage is 751 \s-1KB\s0 when the \fB\-S\fR flag is used (small
+configuration), 1.1 \s-1MB\s0 when all defaults are used (medium configuration),
+and 1.4 \s-1MB\s0 when the \fB\-L\fR flag is used (large configuration). If
+additional memory is available, increasing the value of the \fB\-cb\fR and
+\&\fB\-vc\fR arguments can improve File Server performance most directly.
+.PP
+By default, the File Server allows a volume to exceed its quota by 1 \s-1MB\s0
+when an application is writing data to an existing file in a volume that
+is full. The File Server still does not allow users to create new files in
+a full volume. To change the default, use one of the following arguments:
+.IP "\(bu" 4
+Set the \fB\-spare\fR argument to the number of extra kilobytes that the File
+Server allows as overage. A value of \f(CW0\fR allows no overage.
+.IP "\(bu" 4
+Set the \fB\-pctspare\fR argument to the percentage of the volume's quota the
+File Server allows as overage.
+.PP
+By default, the File Server implicitly grants the \f(CW\*(C`a\*(C'\fR (administer) and
+\&\f(CW\*(C`l\*(C'\fR (lookup) permissions to system:administrators on the access control
+list (\s-1ACL\s0) of every directory in the volumes stored on its file server
+machine. In other words, the group's members can exercise those two
+permissions even when an entry for the group does not appear on an \s-1ACL\s0. To
+change the set of default permissions, use the \fB\-implicit\fR argument.
+.PP
+The File Server maintains a \fIhost current protection subgroup\fR (\fIhost
+\&\s-1CPS\s0\fR) for each client machine from which it has received a data access
+request. Like the \s-1CPS\s0 for a user, a host \s-1CPS\s0 lists all of the Protection
+Database groups to which the machine belongs, and the File Server compares
+the host \s-1CPS\s0 to a directory's \s-1ACL\s0 to determine in what manner users on the
+machine are authorized to access the directory's contents. When the \fBpts
+adduser\fR or \fBpts removeuser\fR command is used to change the groups to
+which a machine belongs, the File Server must recompute the machine's host
+\&\s-1CPS\s0 in order to notice the change. By default, the File Server contacts
+the Protection Server every two hours to recompute host CPSs, implying
+that it can take that long for changed group memberships to become
+effective. To change this frequency, use the \fB\-hr\fR argument.
+.PP
+The File Server stores volumes in partitions. A partition is a
+filesystem or directory on the server machine that is named \f(CW\*(C`/vicepX\*(C'\fR
+or \f(CW\*(C`/vicepXX\*(C'\fR where \s-1XX\s0 is \*(L"a\*(R" through \*(L"z\*(R" or \*(L"aa\*(R" though \*(L"iv\*(R". Up to
+255 partitions are allowed. The File Server expects that the /vicepXX
+directories are each on a dedicated filesystem. The File Server will
+only use a /vicepXX if it's a mountpoint for another filesystem,
+unless the file \f(CW\*(C`/vicepXX/AlwaysAttach\*(C'\fR exists. The data in the
+partition is a special format that can only be access using OpenAFS
+commands or an OpenAFS client.
+.PP
+The File Server generates the following message when a partition is nearly
+full:
+.PP
+.Vb 1
+\& No space left on device
+.Ve
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use the \fB\-k\fR and \fB\-w\fR arguments, which are intended for use
+by the OpenAFS developers only. Changing them from their default
+values can result in unpredictable File Server behavior. In any case,
+on many operating systems the File Server uses native threads rather
+than the \s-1LWP\s0 threads, so using the \fB\-k\fR argument to set the number of
+\&\s-1LWP\s0 threads has no effect.
+.PP
+Do not specify both the \fB\-spare\fR and \fB\-pctspare\fR arguments. Doing so
+causes the File Server to exit, leaving an error message in the
+\&\fI/usr/afs/logs/FileLog\fR file.
+.PP
+Options that are available only on some system types, such as the \fB\-m\fR
+and \fB\-lock\fR options, appear in the output generated by the \fB\-help\fR
+option only on the relevant system type.
+.PP
+Currently, the maximum size of a volume is 2 terabytes (2^31 bytes)
+and the maximum size of a /vicepX partition on a fileserver is 2^64
+kilobytes. The maximum partition size in releases 1.4.7 and earlier is
+2 terabytes (2^31 bytes). The maximum partition size for 1.5.x
+releases 1.5.34 and earlier is 2 terabytes as well.
+.PP
+The maximum number of directory entries is 64,000 if all of the entries
+have names that are 15 octets or less in length. A name that is 15 octets
+long requires the use of only one block in the directory. Additional
+sequential blocks are required to store entries with names that are longer
+than 15 octets. Each additional block provides an additional length of 32
+octets for the name of the entry. Note that if file names use an encoding
+like \s-1UTF\-8\s0, a single character may be encoded into multiple octets.
+.PP
+In real world use, the maximum number of objects in an \s-1AFS\s0 directory
+is usually between 16,000 and 25,000, depending on the average name
+length.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-auditlog\fR <\fIlog path\fR>" 4
+.IX Item "-auditlog <log path>"
+Set and enable auditing.
+.IP "\fB\-d\fR <\fIdebug level\fR>" 4
+.IX Item "-d <debug level>"
+Sets the detail level for the debugging trace written to the
+\&\fI/usr/afs/logs/FileLog\fR file. Provide one of the following values, each
+of which produces an increasingly detailed trace: \f(CW0\fR, \f(CW1\fR, \f(CW5\fR, \f(CW25\fR,
+and \f(CW125\fR. The default value of \f(CW0\fR produces only a few messages.
+.IP "\fB\-p\fR <\fInumber of processes\fR>" 4
+.IX Item "-p <number of processes>"
+Sets the number of threads to run. Provide a positive integer. The File
+Server creates and uses five threads for special purposes, in addition to
+the number specified (but if this argument specifies the maximum possible
+number, the File Server automatically uses five of the threads for its own
+purposes).
+.Sp
+The maximum number of threads can differ in each release of OpenAFS.
+Consult the \fIOpenAFS Release Notes\fR for the current release.
+.IP "\fB\-spare\fR <\fInumber of spare blocks\fR>" 4
+.IX Item "-spare <number of spare blocks>"
+Specifies the number of additional kilobytes an application can store in a
+volume after the quota is exceeded. Provide a positive integer; a value of
+\&\f(CW0\fR prevents the volume from ever exceeding its quota. Do not combine
+this argument with the \fB\-pctspare\fR argument.
+.IP "\fB\-pctspare\fR <\fIpercentage spare\fR>" 4
+.IX Item "-pctspare <percentage spare>"
+Specifies the amount by which the File Server allows a volume to exceed
+its quota, as a percentage of the quota. Provide an integer between \f(CW0\fR
+and \f(CW99\fR. A value of \f(CW0\fR prevents the volume from ever exceeding its
+quota. Do not combine this argument with the \fB\-spare\fR argument.
+.IP "\fB\-b\fR <\fIbuffers\fR>" 4
+.IX Item "-b <buffers>"
+Sets the number of directory buffers. Provide a positive integer.
+.IP "\fB\-l\fR <\fIlarge vnodes\fR>" 4
+.IX Item "-l <large vnodes>"
+Sets the number of large vnodes available in memory for caching directory
+elements. Provide a positive integer.
+.IP "\fB\-s\fR <\fIsmall nodes\fR>" 4
+.IX Item "-s <small nodes>"
+Sets the number of small vnodes available in memory for caching file
+elements. Provide a positive integer.
+.IP "\fB\-vc\fR <\fIvolume cachesize\fR>" 4
+.IX Item "-vc <volume cachesize>"
+Sets the number of volumes the File Server can cache in memory. Provide a
+positive integer.
+.IP "\fB\-w\fR <\fIcall back wait interval\fR>" 4
+.IX Item "-w <call back wait interval>"
+Sets the interval at which the daemon spawned by the File Server performs
+its maintenance tasks. Do not use this argument; changing the default
+value can cause unpredictable behavior.
+.IP "\fB\-cb\fR <\fInumber of callbacks\fR>" 4
+.IX Item "-cb <number of callbacks>"
+Sets the number of callbacks the File Server can track. Provide a positive
+integer.
+.IP "\fB\-banner\fR" 4
+.IX Item "-banner"
+Prints the following banner to \fI/dev/console\fR about every 10 minutes.
+.Sp
+.Vb 1
+\& File Server is running at I<time>.
+.Ve
+.IP "\fB\-novbc\fR" 4
+.IX Item "-novbc"
+Prevents the File Server from breaking the callbacks that Cache Managers
+hold on a volume that the File Server is reattaching after the volume was
+offline (as a result of the \fBvos restore\fR command, for example). Use of
+this flag is strongly discouraged.
+.IP "\fB\-implicit\fR <\fIadmin mode bits\fR>" 4
+.IX Item "-implicit <admin mode bits>"
+Defines the set of permissions granted by default to the
+system:administrators group on the \s-1ACL\s0 of every directory in a volume
+stored on the file server machine. Provide one or more of the standard
+permission letters (\f(CW\*(C`rlidwka\*(C'\fR) and auxiliary permission letters
+(\f(CW\*(C`ABCDEFGH\*(C'\fR), or one of the shorthand notations for groups of permissions
+(\f(CW\*(C`all\*(C'\fR, \f(CW\*(C`none\*(C'\fR, \f(CW\*(C`read\*(C'\fR, and \f(CW\*(C`write\*(C'\fR). To review the meaning of the
+permissions, see the \fBfs setacl\fR reference page.
+.IP "\fB\-hr\fR <\fInumber of hours between refreshing the host cps\fR>" 4
+.IX Item "-hr <number of hours between refreshing the host cps>"
+Specifies how often the File Server refreshes its knowledge of the
+machines that belong to protection groups (refreshes the host CPSs for
+machines). The File Server must update this information to enable users
+from machines recently added to protection groups to access data for which
+those machines now have the necessary \s-1ACL\s0 permissions.
+.IP "\fB\-busyat\fR <\fIredirect clients when queue > n\fR>" 4
+.IX Item "-busyat <redirect clients when queue > n>"
+Defines the number of incoming RPCs that can be waiting for a response
+from the File Server before the File Server returns the error code
+\&\f(CW\*(C`VBUSY\*(C'\fR to the Cache Manager that sent the latest \s-1RPC\s0. In response, the
+Cache Manager retransmits the \s-1RPC\s0 after a delay. This argument prevents
+the accumulation of so many waiting RPCs that the File Server can never
+process them all. Provide a positive integer. The default value is
+\&\f(CW600\fR.
+.IP "\fB\-rxpck\fR <\fInumber of rx extra packets\fR>" 4
+.IX Item "-rxpck <number of rx extra packets>"
+Controls the number of Rx packets the File Server uses to store data for
+incoming RPCs that it is currently handling, that are waiting for a
+response, and for replies that are not yet complete. Provide a positive
+integer.
+.IP "\fB\-rxdbg\fR" 4
+.IX Item "-rxdbg"
+Writes a trace of the File Server's operations on Rx packets to the file
+\&\fI/usr/afs/logs/rx_dbg\fR.
+.IP "\fI\-rxdbge\fR" 4
+.IX Item "-rxdbge"
+Writes a trace of the File Server's operations on Rx events (such as
+retransmissions) to the file \fI/usr/afs/logs/rx_dbg\fR.
+.IP "\fB\-allow\-dotted\-principals\fR" 4
+.IX Item "-allow-dotted-principals"
+By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos
+principals with a dot in the first component of their name. This is to avoid
+the confusion where principals user/admin and user.admin are both mapped to the
+user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions
+between principal names may disabled this check by starting the server
+with this option.
+.IP "\fI\-m\fR <\fImin percentage spare in partition\fR>" 4
+.IX Item "-m <min percentage spare in partition>"
+Specifies the percentage of each \s-1AFS\s0 server partition that the \s-1AIX\s0 version
+of the File Server creates as a reserve. Specify an integer value between
+\&\f(CW0\fR and \f(CW30\fR; the default is 8%. A value of \f(CW0\fR means that the
+partition can become completely full, which can have serious negative
+consequences.
+.IP "\fB\-lock\fR" 4
+.IX Item "-lock"
+Prevents any portion of the fileserver binary from being paged (swapped)
+out of memory on a file server machine running the \s-1IRIX\s0 operating system.
+.IP "\fB\-L\fR" 4
+.IX Item "-L"
+Sets values for many arguments in a manner suitable for a large file
+server machine. Combine this flag with any option except the \fB\-S\fR flag;
+omit both flags to set values suitable for a medium-sized file server
+machine.
+.IP "\fB\-S\fR" 4
+.IX Item "-S"
+Sets values for many arguments in a manner suitable for a small file
+server machine. Combine this flag with any option except the \fB\-L\fR flag;
+omit both flags to set values suitable for a medium-sized file server
+machine.
+.IP "\fB\-k\fR <\fIstack size\fR>" 4
+.IX Item "-k <stack size>"
+Sets the \s-1LWP\s0 stack size in units of 1 kilobyte. Do not use this argument,
+and in particular do not specify a value less than the default of \f(CW24\fR.
+.IP "\fB\-realm\fR <\fIKerberos realm name\fR>" 4
+.IX Item "-realm <Kerberos realm name>"
+Defines the Kerberos realm name for the File Server to use. If this
+argument is not provided, it uses the realm name corresponding to the cell
+listed in the local \fI/usr/afs/etc/ThisCell\fR file.
+.IP "\fB\-udpsize\fR <\fIsize of socket buffer in bytes\fR>" 4
+.IX Item "-udpsize <size of socket buffer in bytes>"
+Sets the size of the \s-1UDP\s0 buffer, which is 64 \s-1KB\s0 by default. Provide a
+positive integer, preferably larger than the default.
+.IP "\fB\-jumbo\fR" 4
+.IX Item "-jumbo"
+Allows the server to send and receive jumbograms. A jumbogram is
+a large-size packet composed of 2 to 4 normal Rx data packets that share
+the same header. The fileserver does not use jumbograms by default, as some
+routers are not capable of properly breaking the jumbogram into smaller
+packets and reassembling them.
+.IP "\fB\-nojumbo\fR" 4
+.IX Item "-nojumbo"
+Deprecated; jumbograms are disabled by default.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-abortthreshold\fR <\fIabort threshold\fR>" 4
+.IX Item "-abortthreshold <abort threshold>"
+Sets the abort threshold, which is triggered when an \s-1AFS\s0 client sends
+a number of FetchStatus requests in a row and all of them fail due to
+access control or some other error. When the abort threshold is
+reached, the file server starts to slow down the responses to the
+problem client in order to reduce the load on the file server.
+.Sp
+The throttling behaviour can cause issues especially for some versions
+of the Windows OpenAFS client. When using Windows Explorer to navigate
+the \s-1AFS\s0 directory tree, directories with only \*(L"look\*(R" access for the
+current user may load more slowly because of the throttling. This is
+because the Windows OpenAFS client sends FetchStatus calls one at a
+time instead of in bulk like the Unix Open \s-1AFS\s0 client.
+.Sp
+Setting the threshold to 0 disables the throttling behavior. This
+option is available in OpenAFS versions 1.4.1 and later.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following \fBbos create\fR command creates an fs process on the file
+server machine \f(CW\*(C`fs2.abc.com\*(C'\fR that uses the large configuration size, and
+allows volumes to exceed their quota by 10%. Type the command on a single
+line:
+.PP
+.Vb 3
+\& % bos create \-server fs2.abc.com \-instance fs \-type fs \e
+\& \-cmd "/usr/afs/bin/fileserver \-pctspare 10 \e
+\& \-L" /usr/afs/bin/volserver /usr/afs/bin/salvager
+.Ve
+.SH "TROUBLESHOOTING"
+.IX Header "TROUBLESHOOTING"
+Sending process signals to the File Server Process can change its
+behavior in the following ways:
+.PP
+.Vb 2
+\& Process Signal OS Result
+\& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
+\&
+\& File Server XCPU Unix Prints a list of client IP
+\& Addresses.
+\&
+\& File Server USR2 Windows Prints a list of client IP
+\& Addresses.
+\&
+\& File Server POLL HPUX Prints a list of client IP
+\& Addresses.
+\&
+\& Any server TSTP Any Increases Debug level by a power
+\& of 5 \-\- 1,5,25,125, etc.
+\& This has the same effect as the
+\& \-d XXX command\-line option.
+\&
+\& Any Server HUP Any Resets Debug level to 0
+\&
+\& File Server TERM Any Run minor instrumentation over
+\& the list of descriptors.
+\&
+\& Other Servers TERM Any Causes the process to quit.
+\&
+\& File Server QUIT Any Causes the File Server to Quit.
+\& Bos Server knows this.
+.Ve
+.PP
+The basic metric of whether an \s-1AFS\s0 file server is doing well is the number
+of connections waiting for a thread,
+which can be found by running the following command:
+.PP
+.Vb 1
+\& % rxdebug <server> | grep waiting_for | wc \-l
+.Ve
+.PP
+Each line returned by \f(CW\*(C`rxdebug\*(C'\fR that contains the text \*(L"waiting_for\*(R"
+represents a connection that's waiting for a file server thread.
+.PP
+If the blocked connection count is ever above 0, the server is having
+problems replying to clients in a timely fashion. If it gets above 10,
+roughly, there will be noticable slowness by the user. The total number of
+connections is a mostly irrelevant number that goes essentially
+monotonically for as long as the server has been running and then goes back
+down to zero when it's restarted.
+.PP
+The most common cause of blocked connections rising on a server is some
+process somewhere performing an abnormal number of accesses to that server
+and its volumes. If multiple servers have a blocked connection count, the
+most likely explanation is that there is a volume replicated between those
+servers that is absorbing an abnormally high access rate.
+.PP
+To get an access count on all the volumes on a server, run:
+.PP
+.Vb 1
+\& % vos listvol <server> \-long
+.Ve
+.PP
+and save the output in a file. The results will look like a bunch of \fBvos
+examine\fR output for each volume on the server. Look for lines like:
+.PP
+.Vb 1
+\& 40065 accesses in the past day (i.e., vnode references)
+.Ve
+.PP
+and look for volumes with an abnormally high number of accesses. Anything
+over 10,000 is fairly high, but some volumes like root.cell and other
+volumes close to the root of the cell will have that many hits routinely.
+Anything over 100,000 is generally abnormally high. The count resets about
+once a day.
+.PP
+Another approach that can be used to narrow the possibilities for a
+replicated volume, when multiple servers are having trouble, is to find all
+replicated volumes for that server. Run:
+.PP
+.Vb 1
+\& % vos listvldb \-server <server>
+.Ve
+.PP
+where <server> is one of the servers having problems to refresh the \s-1VLDB\s0
+cache, and then run:
+.PP
+.Vb 1
+\& % vos listvldb \-server <server> \-part <partition>
+.Ve
+.PP
+to get a list of all volumes on that server and partition, including every
+other server with replicas.
+.PP
+Once the volume causing the problem has been identified, the best way to
+deal with the problem is to move that volume to another server with a low
+load or to stop any runaway programs that are accessing that volume
+unnecessarily. Often the volume will be enough information to tell what's
+going on.
+.PP
+If you still need additional information about who's hitting that server,
+sometimes you can guess at that information from the failed callbacks in the
+\&\fIFileLog\fR log in \fI/var/log/afs\fR on the server, or from the output of:
+.PP
+.Vb 1
+\& % /usr/afsws/etc/rxdebug <server> \-rxstats
+.Ve
+.PP
+but the best way is to turn on debugging output from the file server.
+(Warning: This generates a lot of output into FileLog on the \s-1AFS\s0 server.)
+To do this, log on to the \s-1AFS\s0 server, find the \s-1PID\s0 of the fileserver
+process, and do:
+.PP
+.Vb 1
+\& kill \-TSTP <pid>
+.Ve
+.PP
+where <pid> is the \s-1PID\s0 of the file server process. This will raise the
+debugging level so that you'll start seeing what people are actually doing
+on the server. You can do this up to three more times to get even more
+output if needed. To reset the debugging level back to normal, use (The
+following command will \s-1NOT\s0 terminate the file server):
+.PP
+.Vb 1
+\& kill \-HUP <pid>
+.Ve
+.PP
+The debugging setting on the File Server should be reset back to normal when
+debugging is no longer needed. Otherwise, the \s-1AFS\s0 server may well fill its
+disks with debugging output.
+.PP
+The lines of the debugging output that are most useful for debugging load
+problems are:
+.PP
+.Vb 2
+\& SAFS_FetchStatus, Fid = 2003828163.77154.82248, Host 171.64.15.76
+\& SRXAFS_FetchData, Fid = 2003828163.77154.82248
+.Ve
+.PP
+(The example above is partly truncated to highlight the interesting
+information). The Fid identifies the volume and inode within the volume;
+the volume is the first long number. So, for example, this was:
+.PP
+.Vb 8
+\& % vos examine 2003828163
+\& pubsw.matlab61 2003828163 RW 1040060 K On\-line
+\& afssvr5.Stanford.EDU /vicepa
+\& RWrite 2003828163 ROnly 2003828164 Backup 2003828165
+\& MaxQuota 3000000 K
+\& Creation Mon Aug 6 16:40:55 2001
+\& Last Update Tue Jul 30 19:00:25 2002
+\& 86181 accesses in the past day (i.e., vnode references)
+\&
+\& RWrite: 2003828163 ROnly: 2003828164 Backup: 2003828165
+\& number of sites \-> 3
+\& server afssvr5.Stanford.EDU partition /vicepa RW Site
+\& server afssvr11.Stanford.EDU partition /vicepd RO Site
+\& server afssvr5.Stanford.EDU partition /vicepa RO Site
+.Ve
+.PP
+and from the Host information one can tell what system is accessing that
+volume.
+.PP
+Note that the output of \fIvos_examine\fR\|(1) also includes the access count, so
+once the problem has been identified, vos examine can be used to see if the
+access count is still increasing. Also remember that you can run vos
+examine on the read-only replica (e.g., pubsw.matlab61.readonly) to see the
+access counts on the read-only replica on all of the servers that it's
+located on.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIFileLog\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIfs_setacl\fR\|(1),
+\&\fIsalvager\fR\|(8),
+\&\fIvolserver\fR\|(8),
+\&\fIvos_examine\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FMS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FMS 8"
++.TH FMS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fms \- Determine a tape's capacity and a tape device's filemark size
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfms\fR \fB\-tape\fR\ <\fItape\ special\ file\fR> [\fB\-help\fR]
+.PP
+\&\fBfms\fR \fB\-t\fR\ <\fItape\ special\ file\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfms\fR command determines the capacity of the tape currently in the
+tape device identified by the \fB\-tape\fR argument, along with the size of
+the filemark for the device. The filemark is also referred to as the
+device's end-of-file (\s-1EOF\s0) marker, and can differ for each combination of
+tape and tape device.
+.PP
+As the Tape Coordinator writes a dump, it writes a filemark between the
+data included from each volume and also tracks the amount of space left
+before the end of the tape (\s-1EOT\s0). For some tape devices, the filemark is
+large enough (multiple megabytes) that failure to consider it leads the
+Tape Coordinator significantly to overestimate the available space.
+.PP
+The intended use of this command is to determine tape capacity and
+filemark size values that can be specified in a tape device's entry in the
+\&\fI/usr/afs/backup/tapeconfig\fR file. For certain types of tape drives, the
+Tape Coordinator operates more efficiently when the \fItapeconfig\fR file
+lists accurate values. For further discussion, see the \fI\s-1IBM\s0 \s-1AFS\s0
+Administration Guide\fR chapter on configuring the Backup System.
+.PP
+Insert a tape in the drive before issuing this command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use this command on compressing tape devices in compression mode or
+with tape devices that handle tapes of multigigabyte (or multiterabyte)
+capacity. It does not produce accurate results in those cases. For
+alternate suggestions on the values to record in the \fBtapeconfig\fR file
+for compressing drives, see the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR chapter on
+configuring the Backup System.
+.PP
+Running the command completely overwrites the tape, so use a blank one or
+one that can be recycled.
+.PP
+Because it writes filemarks to the complete length of the tape, the
+command can take from several hours to more than a day to complete.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-tape\fR <\fItape special file\fR>" 4
+.IX Item "-tape <tape special file>"
+Specifies the \s-1UNIX\s0 device name of the tape device for which to determine
+filemark size and the capacity of the tape it currently contains. The
+format varies on different system types, but usually begins with \fI/dev\fR;
+an example is \fI/dev/sd0a\fR.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The command generates output both on the standard output stream and in the
+\&\fIfms.log\fR file that it creates in the current working directory. The
+output reports the capacity of the tape in the device and the device's
+filemark size.
+.PP
+The first few lines of output include status information about the
+execution of the command, including such information as the number of
+blocks and the number of file marks written to the tape by the
+command. The last two lines of both screen and file output provide the
+following information:
+.IP "\(bu" 4
+\&\f(CW\*(C`Tape capacity is \f(CInumber\f(CW bytes\*(C'\fR: specifies the size, in bytes, of the
+tape in the device.
+.IP "\(bu" 4
+\&\f(CW\*(C`File marks are \f(CInumber\f(CW bytes\*(C'\fR: specifies the device's filemark size in
+bytes.
+.PP
+The following message indicates that the fms command interpreter cannot
+access the tape device. The command halts.
+.PP
+.Vb 1
+\& Can\*(Aqt open tape drive I<device>
+.Ve
+.PP
+The following message indicates that the command interpreter cannot create
+the \fIfms.log\fR log file. Again, the command halts.
+.PP
+.Vb 1
+\& Can\*(Aqt open log file
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command illustrates the output for the device called
+\&\fI/dev/rmt1h\fR:
+.PP
+.Vb 7
+\& % fms /dev/rmt1h
+\& wrote block: 130408
+\& Finished data capacity test \- rewinding
+\& wrote 1109 blocks, 1109 file marks
+\& Finished file mark test
+\& Tape capacity is 2136604672 bytes
+\& File marks are 1910205 bytes
+.Ve
+.PP
+The following appears in the \fIfms.log\fR file:
+.PP
+.Vb 5
+\& fms test started
+\& wrote 9230 blocks
+\& Finished file mark test
+\& Tape capacity is 151224320 bytes
+\& File marks are 2375680 bytes
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be able to insert and write to files in the currently
+working directory, if the \fIfms.log\fR file does not already exist. If it
+already exists, the issuer need only be able to write to it.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfms.log\fR\|(5),
+\&\fItapeconfig\fR\|(5)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE 8"
++.TH FSTRACE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace \- Introduction to the fstrace command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBfstrace\fR command suite are the interface that system
+administrators employ to trace Cache Manager operations for debugging
+purposes. Examples of Cache Manager operations are fetching file data or
+the status information used to produce output for the \s-1UNIX\s0 \fBls\fR command.
+.PP
+The \fBfstrace\fR command interpreter defines an extensive set of Cache
+Manager operations as the \f(CW\*(C`cm\*(C'\fR \fIevent set\fR. When the event set is
+activated, the Cache Manager writes a message to the \f(CW\*(C`cmfx\*(C'\fR \fItrace log\fR
+in kernel memory each time it performs one of the defined operations. The
+log expands only to a defined size (by default, 60 \s-1KB\s0), after which it is
+overwritten in a circular fashion (new trace messages overwrite the oldest
+ones). If an operation of particular interest occurs, the administrator
+can afterward display the log on the standard output stream or write it to
+a file for later study. For more specific procedural instructions, see the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.PP
+There are several categories of commands in the \fBfstrace\fR command suite:
+.IP "\(bu" 4
+Commands to administer or display information about the trace log:
+\&\fBfstrace clear\fR, \fBfstrace lslog\fR, \fBfstrace setlog\fR.
+.IP "\(bu" 4
+Commands to set or display the status of the event set: \fBfstrace lsset\fR
+and \fBfstrace setset\fR.
+.IP "\(bu" 4
+A command to display the contents of the trace log: \fBfstrace dump\fR.
+.IP "\(bu" 4
+Commands to obtain help: \fBfstrace apropos\fR and \fBfstrace help\fR.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+All \fBfstrace\fR commands accept the following optional flag. It is listed
+in the command descriptions and described in detail here:
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To issue most \fBfstrace\fR commands, the issuer must be logged on as the
+local superuser \f(CW\*(C`root\*(C'\fR on the machine that is generating the trace log.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace_apropos\fR\|(8),
+\&\fIfstrace_clear\fR\|(8),
+\&\fIfstrace_dump\fR\|(8),
+\&\fIfstrace_help\fR\|(8),
+\&\fIfstrace_lslog\fR\|(8),
+\&\fIfstrace_lsset\fR\|(8),
+\&\fIfstrace_setlog\fR\|(8),
+\&\fIfstrace_setset\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_APROPOS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_APROPOS 8"
++.TH FSTRACE_APROPOS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBfstrace ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace apropos\fR command displays the first line of the online help
+entry for any \fBfstrace\fR command that contains in its name or short
+description the string specified with the \fB\-topic\fR argument.
+.PP
+To display a command's complete syntax, use the \fBfstrace help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes (\f(CW""\fR)
+or other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBfstrace\fR command where the string specified with the \fB\-topic\fR argument
+is part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists all \fBfstrace\fR commands that include the word
+\&\f(CW\*(C`set\*(C'\fR in their names or short descriptions:
+.PP
+.Vb 5
+\& % fstrace apropos set
+\& clear: clear logs by logname or by event set
+\& lsset: list available event sets
+\& setlog: set the size of a log
+\& setset: set state of event sets
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_help\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_CLEAR 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_CLEAR 8"
++.TH FSTRACE_CLEAR 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_clear \- Clears the trace log
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace clear\fR [\fB\-set\fR\ <\fIset\ name\fR>+] [\fB\-log\fR\ <\fIlog\ name\fR>+]
+ [\fB\-help\fR]
+.PP
+\&\fBfstrace c\fR [\fB\-s\fR\ <\fIset\ name\fR>+] [\fB\-l\fR\ <\fIlog\ name\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace clear\fR command erases the contents of the trace log from
+kernel memory, but leaves kernel memory allocated for the log.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-set\fR <\fIset name\fR>+" 4
+.IX Item "-set <set name>+"
+Names the event set for which to clear the associated trace log. The only
+acceptable value is \f(CW\*(C`cm\*(C'\fR (for which the associated trace log is
+\&\f(CW\*(C`cmfx\*(C'\fR). Provide either this argument or the \fB\-log\fR argument, or omit
+both to clear the \f(CW\*(C`cmfx\*(C'\fR log by default.
+.IP "\fB\-log\fR <\fIlog name\fR>+" 4
+.IX Item "-log <log name>+"
+Names the trace log to clear. The only acceptable value is
+\&\f(CW\*(C`cmfx\*(C'\fR. Provide either this argument or the \fB\-set\fR argument, or omit
+both to clear the \f(CW\*(C`cmfx\*(C'\fR log by default.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command clears the \f(CW\*(C`cmfx\*(C'\fR trace log on the local machine:
+.PP
+.Vb 1
+\& # fstrace clear
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_lslog\fR\|(8),
+\&\fIfstrace_lsset\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_DUMP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_DUMP 8"
++.TH FSTRACE_DUMP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_dump \- Dumps a trace log
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace dump\fR [\fB\-set\fR\ <\fIset\ name\fR>+] [\fB\-follow\fR\ <\fIlog\ name\fR>]
+ [\fB\-file\fR\ <\fIoutput\ filename\fR>] [\fB\-sleep\fR\ <\fIseconds\ between\ reads\fR>]
+ [\fB\-help\fR]
+.PP
+\&\fBfstrace d\fR [\fB\-se\fR\ <\fIset\ name\fR>+] [\fB\-fo\fR\ <\fIlog\ name\fR>]
+ [\fB\-fi\fR\ <\fIoutput\ filename\fR>] [\fB\-sl\fR\ <\fIseconds\ between\ reads\fR>]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace dump\fR command displays the current contents of the \f(CW\*(C`cmfx\*(C'\fR
+trace log on the standard output stream or writes it to the file named by
+the \fB\-file\fR argument.
+.PP
+To write the log continuously to the standard output stream or to a file,
+use the \fB\-follow\fR argument. By default, the log's contents are written
+out every ten seconds and then automatically cleared. To change the
+interval between writes, use the \fB\-sleep\fR argument.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command produces output only if the \f(CW\*(C`cm\*(C'\fR event set is active. To
+display or set the event set's state, use the \fBfstrace lsset\fR or
+\&\fBfstrace setset\fR command respectively.
+.PP
+To make the output from this command maximally readable, the message
+catalog file called \fIafszcm.cat\fR must reside in the local
+\&\fI/usr/vice/etc/C\fR directory. If necessary, copy the file to that
+directory from the \s-1AFS\s0 Binary Distribution before activating tracing.
+.PP
+When the \f(CW\*(C`cm\*(C'\fR event set is active, a defined amount of kernel memory (by
+default, 60 \s-1KB\s0) is allocated for the \f(CW\*(C`cmfx\*(C'\fR trace log. As described in
+\&\fIfstrace\fR\|(8), when the buffer is full, messages are overwritten in a
+circular fashion (new messages overwrite the oldest ones). To allocate
+more kernel memory for the log, use the \fBfstrace setlog\fR command; to
+display the log buffer's current size, use the \fBfstrace lslog\fR command
+with the \fB\-long\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-set\fR <\fIset name\fR>+" 4
+.IX Item "-set <set name>+"
+Names the event set for which to write out the associated trace log. The
+only acceptable value is \f(CW\*(C`cm\*(C'\fR (for which the associated trace log is
+\&\f(CW\*(C`cmfx\*(C'\fR). Provide either this argument or the \fB\-log\fR argument, or omit
+both to write out the \f(CW\*(C`cmfx\*(C'\fR log by default.
+.IP "\fB\-follow\fR <\fIlog name\fR>" 4
+.IX Item "-follow <log name>"
+Names the trace log to write out continuously at a specified interval (by
+default, every ten seconds; use the \fB\-sleep\fR argument to change the
+interval). The log is cleared after each write operation.
+.Sp
+The only acceptable value is \f(CW\*(C`cmfx\*(C'\fR. Provide either this argument or the
+\&\fB\-set\fR argument, or omit both to write out the \f(CW\*(C`cmfx\*(C'\fR log by default.
+.IP "\fB\-file\fR <\fIoutput filename\fR>" 4
+.IX Item "-file <output filename>"
+Specifies the pathname of the file to which to write the trace log's
+contents. It can be in \s-1AFS\s0 or on the local disk. Partial pathnames are
+interpreted relative to the current working directory. If this argument is
+omitted, the trace log appears on the standard output stream.
+.IP "\fB\-sleep\fR <\fIseconds between reads\fR>" 4
+.IX Item "-sleep <seconds between reads>"
+Sets the number of seconds between writes of the trace log's contents when
+it is dumped continuously. Provide the \fB\-follow\fR argument along with this
+one. If this argument is omitted, the default interval is ten seconds.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output begins with a header specifying the date and time at which the
+write operation began. If the \fB\-follow\fR argument is not included, the
+header also reports the number of logs being dumped; it is always \f(CW1\fR,
+since there is only the \f(CW\*(C`cmfx\*(C'\fR trace log. The format of the header is as
+follows:
+.PP
+.Vb 4
+\& AFS Trace Dump \-
+\& Date: I<starting_timestamp>
+\& Found 1 logs.
+\& Contents of log cmfx:
+.Ve
+.PP
+Each subsequent message describes a Cache Manager operation in the
+following format:
+.PP
+.Vb 1
+\& time <timestamp>, pid <pid>:<event_message>
+.Ve
+.PP
+where
+.IP "<timestamp>" 4
+.IX Item "<timestamp>"
+Specifies the time at which the Cache Manager performed the operation, as
+the number of seconds since the dump began.
+.IP "<pid>" 4
+.IX Item "<pid>"
+Specifies the process \s-1ID\s0 of the process or thread associated with the
+message.
+.IP "<event_message>" 4
+.IX Item "<event_message>"
+Is the message itself. They are generally meaningful only to someone
+familiar with the \s-1AFS\s0 source code.
+.PP
+In addition, every 1024 seconds the fstrace command interpreter writes a
+message that records the current clock time, in the following format:
+.PP
+.Vb 1
+\& time <timestamp>, pid <pid>: Current time: <unix_time>
+.Ve
+.PP
+where
+.IP "<timestamp>" 4
+.IX Item "<timestamp>"
+Is the number of seconds from the start of trace logging.
+.IP "<pid>" 4
+.IX Item "<pid>"
+Is the process \s-1ID\s0 number.
+.IP "<unix_time>" 4
+.IX Item "<unix_time>"
+Is the machine's clock time, represent in the standard \s-1UNIX\s0 time format as
+the number of seconds since midnight on January 1, 1970.
+.PP
+Use this message to determine the actual clock time associated with each
+log message. Determine the actual time as follows:
+.IP "\(bu" 4
+Locate the message of interest.
+.IP "\(bu" 4
+Search backward through the trace file for the closest current time
+message.
+.IP "\(bu" 4
+If the current time message's timestamp is smaller than the log message's
+timestamp, subtract former from the latter. If the current time message's
+timestamp is larger than the log message's timestamp, add 1024 to the
+latter and subtract the former from the result.
+.IP "\(bu" 4
+Add the resulting number to the current time message's <unix_time> to
+determine the log message's actual time.
+.Sp
+If any of the data in the kernel trace buffer has been overwritten since
+tracing was activated, the following message appears at the appropriate
+place in the output:
+.Sp
+.Vb 1
+\& Log wrapped; data missing.
+.Ve
+.Sp
+To reduce the likelihood of overwriting, use the \fBfstrace setlog\fR command
+to increase the kernel buffer's size. To display the current defined
+buffer size, use the \fBfstrace lslog\fR command with the \fB\-long\fR argument.
+.Sp
+The following message at the end of the log dump indicates that it is
+completed:
+.Sp
+.Vb 1
+\& AFS Trace Dump \- Completed
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command dumps the log associated with the cm event set to
+the standard output stream.
+.PP
+.Vb 10
+\& # fstrace dump \-set cm
+\& AFS Trace Dump \-
+\& Date: Tue Apr 7 10:54:57 1998
+\& Found 1 logs.
+\& time 32.965783, pid 0: Tue Apr 7 10:45:52 1998
+\& time 32.965783, pid 33657: Close 0x5c39ed8 flags 0x20
+\& time 32.965897, pid 33657: Gn_close vp 0x5c39ed8 flags 0x20 (returns 0x0)
+\& time 35.159854, pid 10891: Breaking callback for 5bd95e4 states 1024 (volume 0)
+\& time 35.407081, pid 10891: Breaking callback for 5c0fadc states 1024 (volume 0)
+\& .
+\& .
+\& .
+\& time 71.440456, pid 33658: Lookup adp 0x5bbdcf0 name g3oCKs \e
+\& fid (756 4fb7e:588d240.2ff978a8.6)
+\& time 71.440569, pid 33658: Returning code 2 from 19
+\& time 71.440619, pid 33658: Gn_lookup vp 0x5bbdcf0 name g3oCKs (returns 0x2)
+\& time 71.464989, pid 38267: Gn_open vp 0x5bbd000 flags 0x0 (returns 0x0)
+\& AFS Trace Dump \- Completed
+.Ve
+.PP
+The following command dumps the trace log associated with the cm event set
+on the local machine to the file \f(CW\*(C`cmfx.dump.file.1\*(C'\fR, using the default
+interval of 10 seconds between successive dumps:
+.PP
+.Vb 1
+\& # fstrace dump \-follow cmfx \-file cmfx.dump.file.1
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafszcm.cat\fR\|(5),
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_lslog\fR\|(8),
+\&\fIfstrace_setlog\fR\|(8),
+\&\fIfstrace_lsset\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_HELP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_HELP 8"
++.TH FSTRACE_HELP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_help \- Displays help for fstrace commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfstrace h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBfstrace\fR command.
+.PP
+To list every fstrace command whose name or short description includes a
+specified keyword, use the \fBfstrace apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBfstrace\fR part of the command name, providing only the
+operation code (for example, specify \fBclear\fR, not \fBfstrace clear\fR). If
+this argument is omitted, the output briefly describes every \fBfstrace\fR
+command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each \fBfstrace\fR command consists of two or three
+lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBfstrace
+setset\fR command:
+.PP
+.Vb 4
+\& % fstrace help \-topic setset
+\& fstrace setset: set state of event sets
+\& Usage: fstrace setset [\-set <set_name>+] [\-active] [\-inactive]
+\& [\-dormant] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_apropos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_LSLOG 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_LSLOG 8"
++.TH FSTRACE_LSLOG 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_lslog \- Displays information about a log
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace lslog\fR [\fB\-set\fR\ <\fIset\ name\fR>+] [\fB\-log\fR\ <\fIlog\ name\fR>]
+ [\fB\-long\fR] [\fB\-help\fR]
+.PP
+\&\fBfstrace lsl\fR [\fB\-s\fR\ <\fIset\ name\fR>+] [\fB\-log\fR\ <\fIlog\ name\fR>] [\fB\-lon\fR]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace lslog\fR command reports whether the \f(CW\*(C`cmfx\*(C'\fR log is available
+for use. If the \fB\-long\fR argument is included, the output reports the
+log's defined size, and whether that amount of space is currently
+allocated in kernel memory or not.
+.PP
+To change the \f(CW\*(C`cmfx\*(C'\fR trace log's size, use the \fBfstrace setlog\fR
+command. To display or set whether space is allocated for it in kernel
+memory, use the \fBfstrace lsset\fR or \fBfstrace setset\fR command to display
+or set the state of the corresponding \f(CW\*(C`cm\*(C'\fR event set, respectively.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-set\fR <\fIset name\fR>+" 4
+.IX Item "-set <set name>+"
+Names the event set for which to display information about the
+corresponding trace log. The only acceptable value is \f(CW\*(C`cm\*(C'\fR (for which the
+associated trace log is \f(CW\*(C`cmfx\*(C'\fR). Provide either this argument or the
+\&\fB\-log\fR argument, or omit both to display information about the \f(CW\*(C`cmfx\*(C'\fR
+log by default.
+.IP "\fB\-log\fR <\fIlog name\fR>" 4
+.IX Item "-log <log name>"
+Names the trace log about which to report. The only acceptable value is
+\&\f(CW\*(C`cmfx\*(C'\fR. Provide either this argument or the \fB\-set\fR argument, or omit
+both to report on the \f(CW\*(C`cmfx\*(C'\fR log by default.
+.IP "\fB\-long\fR" 4
+.IX Item "-long"
+Reports the defined size of the log in kilobyte units and whether that
+amount of space is currently allocated in kernel memory.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+By default, the \fBfstrace lslog\fR command displays only the name of the
+available log, \f(CW\*(C`cmfx\*(C'\fR, in the following format:
+.PP
+.Vb 2
+\& Available logs:
+\& cmfx
+.Ve
+.PP
+When the \fB\-long\fR flag is included, the output also reports the defined
+size of the log in kilobytes, and whether or not that amount of space is
+currently allocated in kernel memory, in the following format:
+.PP
+.Vb 2
+\& Available logs:
+\& cmfx : <log_size> kbytes (allocated | unallocated)
+.Ve
+.PP
+The \f(CW\*(C`allocated\*(C'\fR state indicates that the indicated number of kilobytes is
+reserved for the \f(CW\*(C`cmfx\*(C'\fR trace log in kernel memory. The \f(CW\*(C`cm\*(C'\fR event set's
+state is either \f(CW\*(C`active\*(C'\fR or \f(CW\*(C`inactive\*(C'\fR, as reported by the \fBfstrace
+lsset\fR command, and set by the \fBfstrace setset\fR command's \fB\-active\fR or
+\&\fB\-inactive\fR flags respectively.
+.PP
+The \f(CW\*(C`unallocated\*(C'\fR state indicates that no kernel memory is currently
+reserved for the \f(CW\*(C`cmfx\*(C'\fR trace log. The \fBcm\fR event set's state is
+\&\f(CW\*(C`dormant\*(C'\fR, as reported by the \fBfstrace lsset\fR command and set by the
+\&\fBfstrace setset\fR command's \fB\-dormant\fR flag. If the event set's state is
+later changed to active or inactive, the number of kilobytes indicated as
+<log_size> are again allocated in kernel memory.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example uses the \-long flag to display information
+about the \f(CW\*(C`cmfx\*(C'\fR log:
+.PP
+.Vb 3
+\& # fstrace lslog \-log cmfx \-long
+\& Available logs:
+\& cmfx : 60 kbytes (allocated)
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_lsset\fR\|(8),
+\&\fIfstrace_setlog\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_LSSET 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_LSSET 8"
++.TH FSTRACE_LSSET 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_lsset \- Reports the status of an event set
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace lsset\fR [\fB\-set\fR\ <\fIset\ name\fR>+] [\fB\-help\fR]
+.PP
+\&\fBfstrace lss\fR [\fB\-s\fR\ <\fIset\ name\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace lsset\fR command displays a list of the available event sets
+and reports their current status (active, inactive, or dormant).
+.PP
+To change an event set's status, use the \fBfstrace setset\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-set\fR <\fIset name\fR>+" 4
+.IX Item "-set <set name>+"
+Names the event set for which to display the status. The only acceptable
+value is \f(CW\*(C`cm\*(C'\fR, which is also the default if this argument is omitted.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output lists the available event sets and the status of each, in the
+following format:
+.PP
+.Vb 2
+\& Available sets:
+\& cm (active | inactive | dormant)
+.Ve
+.PP
+where
+.IP "active" 4
+.IX Item "active"
+Indicates that tracing is enabled for the event set, and kernel memory
+allocated for the corresponding trace log.
+.IP "inactive" 4
+.IX Item "inactive"
+Indicates that tracing is temporarily disabled for the event set, but
+kernel memory still allocated for the corresponding trace log.
+.IP "dormant" 4
+.IX Item "dormant"
+Indicates that tracing is disabled for the event set, and no kernel memory
+allocated for the corresponding trace log.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example displays the available event set and its status:
+.PP
+.Vb 3
+\& # fstrace lsset
+\& Available sets:
+\& cm active
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_setset\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_SETLOG 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_SETLOG 8"
++.TH FSTRACE_SETLOG 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_setlog \- Sets the size of a trace log
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace setlog\fR [\fB\-log\fR\ <\fIlog\ name\fR>+]
+ \fB\-buffersize\fR\ <\fI1\-kilobyte\ units\fR> [\fB\-help\fR]
+.PP
+\&\fBfstrace setl\fR [\fB\-l\fR\ <\fIlog\ name\fR>+] \fB\-b\fR\ <\fI1\-kilobyte\ units\fR> [\fB\-h\fR]
+.PP
+\&\fBfstrace sl\fR [\fB\-l\fR\ <\fIlog\ name\fR>+] \fB\-b\fR\ <\fI1\-kilobyte\ units\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace setlog\fR command defines the number of kilobytes of kernel
+memory allocated for the \f(CW\*(C`cmfx\*(C'\fR trace log. If kernel memory is currently
+allocated, the command clears the current log and creates a new log buffer
+of the specified size.
+.PP
+To display the current defined size of the log buffer, issue the \fBfstrace
+lslog\fR command with the \fB\-long\fR argument. To control whether the
+indicated amount of space is actually allocated, use the \fBfstrace setset\fR
+command to set the status of the \f(CW\*(C`cm\*(C'\fR event set; to display the event
+set's status, use the \fBfstrace lsset\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-log\fR <\fIlog name\fR>+" 4
+.IX Item "-log <log name>+"
+Names trace log for which to set the size. The only acceptable
+value is \f(CW\*(C`cmfx\*(C'\fR, which is also the default if this argument is
+omitted.
+.IP "\fB\-buffersize\fR <\fI1\-kilobyte units\fR>" 4
+.IX Item "-buffersize <1-kilobyte units>"
+Specifies the number of 1\-kilobyte blocks of kernel memory to allocate for
+the trace log.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command allocated 80 \s-1KB\s0 of kernel memory for the \f(CW\*(C`cmfx\*(C'\fR
+trace log:
+.PP
+.Vb 1
+\& # fstrace setlog \-log cmfx \-buffersize 80
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_lslog\fR\|(8),
+\&\fIfstrace_lsset\fR\|(8),
+\&\fIfstrace_setset\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH FSTRACE_SETSET 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "FSTRACE_SETSET 8"
++.TH FSTRACE_SETSET 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+fstrace_setset \- Sets the status of an event set
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBfstrace setset\fR [\fB\-set\fR\ <\fIset\ name\fR>+] [\fB\-active\fR] [\fB\-inactive\fR]
+ [\fB\-dormant\fR] [\fB\-help\fR]
+.PP
+\&\fBfs set\fR [\fB\-s\fR\ <\fIset\ name\fR>+] [\fB\-a\fR] [\fB\-i\fR] [\fB\-d\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBfstrace setset\fR command sets the status of the \f(CW\*(C`cm\*(C'\fR kernel event
+set on the local machine, which determines whether trace messages are
+recorded in the log buffer in kernel memory.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-set\fR <\fIset name\fR>+" 4
+.IX Item "-set <set name>+"
+Names the event set for which to set the status. The only acceptable value
+\&\f(CW\*(C`cm\*(C'\fR, which is also the default if this argument is omitted.
+.IP "\fB\-active\fR" 4
+.IX Item "-active"
+Enables tracing for the event set and allocates kernel memory for the
+associated trace log buffer. Provide one of this flag, the \fB\-inactive\fR
+flag, or the \fB\-dormant\fR flag.
+.IP "\fB\-inactive\fR" 4
+.IX Item "-inactive"
+Temporarily disables tracing for the event set, but does not change the
+allocation of kernel memory for the associated trace log buffer. Provide
+one of this flag, the \fB\-active\fR flag, or the \fB\-dormant\fR flag.
+.IP "\fB\-dormant\fR" 4
+.IX Item "-dormant"
+Disables tracing for the event set and frees the kernel memory previously
+allocated for the associated trace log buffer. Provide one of this flag,
+the \fB\-active\fR flag, or the \fB\-inactive\fR flag.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example sets the cm event set's status to inactive:
+.PP
+.Vb 1
+\& # fstrace setset \-set cm \-inactive
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIfstrace\fR\|(8),
+\&\fIfstrace_lsset\fR\|(8),
+\&\fIfstrace_setlog\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KA-FORWARDER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KA-FORWARDER 8"
++.TH KA-FORWARDER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+ka\-forwarder \- Forward AFS Authentication Server requests to another server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBka-forwarder\fR [\fB\-p\fR\ <\fIport\fR>] <\fIserver\fR>[/<\fIport\fR>] [...]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBka-forwarder\fR listens for requests for an \s-1AFS\s0 Authentication Server and
+forwards them to a remove \fBfakeka\fR server. \fBfakeka\fR is a server that
+answers \s-1AFS\s0 Authentication Server protocol requests using a regular
+Kerberos \s-1KDC\s0 and is provided with some Kerberos 5 implementations.
+\&\fBfakeka\fR has to run on the same host as the Kerberos \s-1KDC\s0, however, and
+\&\s-1AFS\s0 clients send all native \s-1AFS\s0 authentication requests to the \s-1AFS\s0
+database servers. If you don't want to run your Kerberos KDCs and your
+\&\s-1AFS\s0 database servers on the same host, run \fBka-forwarder\fR on the \s-1AFS\s0
+database servers and point it to \fBfakeka\fR running on the Kerberos KDCs.
+.PP
+\&\fBka-forwarder\fR takes one or more servers to which to forward the
+requests. The default port on the remote server to which to forward the
+command is 7004, but a different port can be specified by following the
+server name with a slash (\f(CW\*(C`/\*(C'\fR) and the port number. If multiple servers
+are given, \fBka-forwarder\fR will send queries to each server in turn in a
+round-robin fashion.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Due to the way that \fBka-forwarder\fR distinguishes from client requests and
+server responses, any messages from one of the servers to which
+\&\fBka-forwarder\fR is forwarding will be considered a reply rather than a
+command and will not be forwarded. This means that the servers running
+\&\fBfakeka\fR will not be able to use native \s-1AFS\s0 authentication requests and
+rely on \fBka-forwarder\fR to send the requests to the right server.
+.PP
+\&\fBka-forwarder\fR does not background itself. It should either be run in
+the background via the shell, or run via the Basic OverSeer Server (see
+\&\fIbosserver\fR\|(8)).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-p\fR <\fIport\fR>" 4
+.IX Item "-p <port>"
+By default, \fBka-forwarder\fR listens to the standard \s-1AFS\s0 Authentication
+Server port (7004). To listen to a different port, specify it with the
+\&\fB\-p\fR option.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+Forward \s-1AFS\s0 Authentication Server reqests to the \fBfakeka\fR servers on
+kdc1.example.com and kdc2.example.com:
+.PP
+.Vb 1
+\& % ka\-forwarder kdc1.example.com kdc2.example.com &
+.Ve
+.PP
+Note the \f(CW\*(C`&\*(C'\fR to tell the shell to run this command in the background.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+\&\fBka-forwarder\fR only has to listen to port 7004 and therefore does not
+require any special privileges unless a privileged port is specified with
+the \fB\-p\fR option.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbosserver\fR\|(8),
+\&\fIfakeka\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2006 Russ Allbery <rra@stanford.edu>
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. This
+man page was written by Russ Allbery for OpenAFS.
--- /dev/null
- .TH KADB_CHECK 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KADB_CHECK 8"
++.TH KADB_CHECK 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kadb_check \- Checks the integrity of the Authentication Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkadb_check\fR \fB\-database\fR\ <\fIkadb\ file\fR> [\fB\-uheader\fR] [\fB\-kheader\fR]
+ [\fB\-entries\fR] [\fB\-verbose\fR] [\fB\-rebuild\fR\ <\fIout\ file\fR>] [\fB\-help\fR]
+.PP
+\&\fBkadb_check\fR \fB\-d\fR\ <\fIkadb\ file\fR> [\fB\-u\fR] [\fB\-k\fR] [\fB\-e\fR] [\fB\-v\fR]
+ [\fB\-r\fR\ <\fIout\ file\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkadb_check\fR command checks the integrity of the Protection Database,
+reporting any errors or corruption it finds. If there are problems, do not
+issue any \fBkas\fR commands until the database is repaired.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The results can be unpredictable if the Authentication Server makes
+changes to the Authentication Database while this command is running. Use
+the \fBbos shutdown\fR command to shutdown the local \fBkaserver\fR process
+before running this command, or before creating a second copy of the
+\&\fIkaserver.DB0\fR file (with a different name) on which to run the command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-database\fR <\fIkadb file\fR>" 4
+.IX Item "-database <kadb file>"
+Names the Authentication Database (copy of the \fIkaserver.DB0\fR file) to
+check. If the current working directory is not the location of the file,
+provide a pathname, either full or relative to the current working
+directory.
+.IP "\fB\-uheader\fR" 4
+.IX Item "-uheader"
+Displays information which Ubik maintains in the database's header.
+.IP "\fB\-kheader\fR" 4
+.IX Item "-kheader"
+Displays information which the Authentication Server maintains in the
+database's header.
+.IP "\fB\-entries\fR" 4
+.IX Item "-entries"
+Outputs every entry in the database, providing information similar to that
+returned by the \fBkas examine\fR command.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Reports additional information about the database, including the number of
+free (allocated but unused) entries in the database.
+.IP "\fB\-rebuild\fR <\fIout file\fR>" 4
+.IX Item "-rebuild <out file>"
+Names the file in which to record a list of \fBkas\fR commands which, if
+issued in the command shell, recreate the current state of the database
+being verified. Partial pathnames are interpreted relative to the current
+working directory.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If there are errors in the database, the output always reports them on the
+standard error stream. If any options other than \fB\-database\fR or \fB\-help\fR
+are provided, the output written to the standard output stream includes
+additional information as described for each option in \s-1OPTIONS\s0. The
+output is intended for debugging purposes and is meaningful to someone
+familiar with the internal structure of the Authentication Database.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkaserver.DB0\fR\|(5),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIkas_examine\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS 8"
++.TH KAS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas \- Introduction to the kas command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBkas\fR command suite are the administrative interface
+to the Authentication Server, which runs on each database server machine
+in a cell, maintains the Authentication Database, and provides the
+authentication tickets that client applications must present to \s-1AFS\s0
+servers in order to obtain access to \s-1AFS\s0 data and other services.
+.PP
+There are several categories of commands in the \fBkas\fR command suite:
+.IP "\(bu" 4
+Commands to create, modify, examine and delete entries in the
+Authentication Database, including passwords: \fBkas create\fR, \fBkas
+delete\fR, \fBkas examine\fR, \fBkas list\fR, \fBkas setfields\fR, \fBkas setkey\fR,
+\&\fBkas setpassword\fR, and \fBkas unlock\fR.
+.IP "\(bu" 4
+Commands to create, delete, and examine tokens and server tickets: \fBkas
+forgetticket\fR, \fBkas listtickets\fR, \fBkas noauthentication\fR, and \fBkas
+stringtokey\fR.
+.IP "\(bu" 4
+A command to enter interactive mode: \fBkas interactive\fR.
+.IP "\(bu" 4
+A command to trace Authentication Server operations: \fBkas statistics\fR.
+.IP "\(bu" 4
+Commands to obtain help: \fBkas apropos\fR and \fBkas help\fR.
+.PP
+Because of the sensitivity of information in the Authentication Database,
+the Authentication Server authenticates issuers of \fBkas\fR commands
+directly, rather than accepting the standard token generated by the Ticket
+Granting Service. Any \fBkas\fR command that requires administrative
+privilege prompts the issuer for a password. The resulting ticket is valid
+for six hours unless the maximum ticket lifetime for the issuer or the
+Authentication Server's Ticket Granting Service is shorter.
+.PP
+To avoid having to provide a password repeatedly when issuing a sequence
+of \fBkas\fR commands, enter \fIinteractive mode\fR by issuing the \fBkas
+interactive\fR command, typing \fBkas\fR without any operation code, or typing
+\&\fBkas\fR followed by a user and cell name, separated by an at-sign (\f(CW\*(C`@\*(C'\fR; an
+example is \f(CW\*(C`kas smith.admin@abc.com\*(C'\fR). After prompting once for a
+password, the Authentication Server accepts the resulting token for every
+command issued during the interactive session. See \fIkas_interactive\fR\|(8)
+for a discussion of when to use each method for entering interactive mode
+and of the effects of entering a session.
+.PP
+The Authentication Server maintains two databases on the local disk of the
+machine where it runs:
+.IP "\(bu" 4
+The Authentication Database (\fI/usr/afs/db/kaserver.DB0\fR) stores the
+information used to provide \s-1AFS\s0 authentication services to users and
+servers, including the password scrambled as an encryption key. The
+reference page for the \fBkas examine\fR command describes the information in
+a database entry.
+.IP "\(bu" 4
+An auxiliary file (\fI/usr/afs/local/kaauxdb\fR by default) that tracks how
+often the user has provided an incorrect password to the local
+Authentication Server. The reference page for the \fBkas setfields\fR command
+describes how the Authentication Server uses this file to enforce the
+limit on consecutive authentication failures. To designate an alternate
+directory for the file, use the \fBkaserver\fR command's \fB\-localfiles\fR
+argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following arguments and flags are available on many commands in the
+\&\fBkas\fR suite. (Some of them are unavailable on commands entered in
+interactive mode, because the information they specify is established when
+entering interactive mode and cannot be changed except by leaving
+interactive mode.) The reference page for each command also lists them,
+but they are described here in greater detail.
+.IP "\fB\-admin_username\fR <\fIuser name\fR>" 4
+.IX Item "-admin_username <user name>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. If this argument is
+omitted, the \fBkas\fR command interpreter requests authentication for the
+identity under which the issuer is logged onto the local machine. Do not
+combine this argument with the \fB\-noauth\fR flag.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. It is acceptable to abbreviate
+the cell name to the shortest form that distinguishes it from the other
+entries in the \fI/usr/vice/etc/CellServDB\fR file on the local machine. If
+the \fB\-cell\fR argument is omitted, the command interpreter determines the
+name of the local cell by reading the following in order:
+.RS 4
+.IP "\(bu" 4
+The value of the \s-1AFSCELL\s0 environment variable.
+.IP "\(bu" 4
+The local \fI/usr/vice/etc/ThisCell\fR file.
+.RE
+.RS 4
+.Sp
+The \fB\-cell\fR argument is not available on commands issued in interactive
+mode. The cell defined when the \fBkas\fR command interpreter enters
+interactive mode applies to all commands issued during the interactive
+session.
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Establishes an unauthenticated connection to the Authentication Server, in
+which the Authentication Server treats the issuer as the unprivileged user
+\&\f(CW\*(C`anonymous\*(C'\fR. It is useful only when authorization checking is disabled on
+the server machine (during the installation of a server machine or when
+the \fBbos setauth\fR command has been used during other unusual
+circumstances). In normal circumstances, the Authentication Server allows
+only privileged users to issue most \fBkas\fR commands, and refuses to
+perform such an action even if the \fB\-noauth\fR flag is provided. Do not
+combine this flag with the \fB\-admin_username\fR and \fB\-password_for_admin\fR
+arguments.
+.IP "\fB\-password_for_admin\fR <\fIpassword\fR>" 4
+.IX Item "-password_for_admin <password>"
+Specifies the password of the command's issuer. It is best to omit this
+argument, which echoes the password visibly in the command shell, instead
+enter the password at the prompt. Do not combine this argument with the
+\&\fB\-noauth\fR flag.
+.IP "\fB\-servers\fR <\fImachine name\fR>+" 4
+.IX Item "-servers <machine name>+"
+Establishes a connection with the Authentication Server running on each
+specified database server machine, instead of on each machine listed in
+the local \fI/usr/vice/etc/CellServDB\fR file. In either case, the \fBkas\fR
+command interpreter then chooses one of the machines at random to contact
+for execution of each subsequent command. The issuer can abbreviate the
+machine name to the shortest form that allows the local name service to
+identify it uniquely.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To issue most kas commands, the issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set in
+his or her Authentication Database entry (use the \fBkas setfields\fR command
+to turn the flag on).
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fICellServDB\fR\|(5),
+\&\fIkaserver.DB0\fR\|(5),
+\&\fIkaserverauxdb\fR\|(5),
+\&\fIkas_apropos\fR\|(8),
+\&\fIkas_create\fR\|(8),
+\&\fIkas_delete\fR\|(8),
+\&\fIkas_examine\fR\|(8),
+\&\fIkas_forgetticket\fR\|(8),
+\&\fIkas_help\fR\|(8),
+\&\fIkas_interactive\fR\|(8),
+\&\fIkas_list\fR\|(8),
+\&\fIkas_listtickets\fR\|(8),
+\&\fIkas_noauthentication\fR\|(8),
+\&\fIkas_quit\fR\|(8),
+\&\fIkas_setfields\fR\|(8),
+\&\fIkas_setpassword\fR\|(8),
+\&\fIkas_statistics\fR\|(8),
+\&\fIkas_stringtokey\fR\|(8),
+\&\fIkas_unlock\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_APROPOS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_APROPOS 8"
++.TH KAS_APROPOS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_apropos \- Displays each help entry containing a keyword string
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBkas a\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas apropos\fR command displays the first line of the online help
+entry for any \fBkas\fR command that has the string specified by the
+\&\fB\-topic\fR argument in its name or short description.
+.PP
+To display the syntax for a command, use the \fBkas help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>" 4
+.IX Item "-topic <help string>"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes (\f(CW""\fR)
+or other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBkas\fR command where the string specified with the \fB\-topic\fR argument is
+part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists all \fBkas\fR commands that include the word
+\&\f(CW\*(C`key\*(C'\fR in their names or short descriptions:
+.PP
+.Vb 3
+\& % kas apropos key
+\& setkey: set a user\*(Aqs key
+\& stringtokey: convert a string to a key
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_help\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_CREATE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_CREATE 8"
++.TH KAS_CREATE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_create \- Creates an entry in the Authentication Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas create\fR \fB\-name\fR\ <\fIname\ of\ user\fR>
+ [\fB\-initial_password\fR\ <\fIinitial\ password\fR>]
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas c\fR \fB\-na\fR\ <\fIname\ of\ user\fR> [\fB\-i\fR\ <\fIinitial\ password\fR>]
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas create\fR command creates an entry in the Authentication Database
+for the user named by the \fB\-name\fR argument.
+.PP
+To avoid having the account's initial password echo visibly at the shell
+prompt, omit the \fB\-initial_password\fR argument; the command interpreter
+prompts for the password and does not echo it visibly. Whether or not
+\&\fB\-initial_password\fR is omitted, the Authentication Server converts the
+password into a form suitable for use as an encryption key, and records it
+in the entry's key field.
+.PP
+To alter settings in an Authentication Database entry, use the \fBkas
+setfields\fR command. To examine an entry, use the \fBkas examine\fR
+command. To list every entry in the database, use the \fBkas list\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIname of user\fR>" 4
+.IX Item "-name <name of user>"
+Names the new Authentication Database entry. Because it is the name under
+which the user logs in, it must obey the restrictions that many operating
+systems impose on user names (usually, to contain no more than eight
+lowercase letters).
+.IP "\fB\-initial_password\fR <\fIinitial password\fR>" 4
+.IX Item "-initial_password <initial password>"
+Sets the user's password; provide a character string that can include
+uppercase and lowercase letters, numerals and punctuation. The
+Authentication Server scrambles the string into an octal string suitable
+for use as an encryption key before placing it in the entry's key
+field. If this argument is omitted, the command interpreter prompts for
+the string and does not echo it visibly.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details,
+see \fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>" 4
+.IX Item "-servers <authentication servers>"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the prompts that appear when an administrator
+logged in as \f(CW\*(C`admin\*(C'\fR creates an Authentication Database entry for the
+user \f(CW\*(C`smith\*(C'\fR, and does not include either the \fB\-initial_password\fR or
+\&\fB\-password_for_admin\fR arguments.
+.PP
+.Vb 4
+\& % kas create smith
+\& Password for admin:
+\& initial_password:
+\& Verifying, please re\-enter initial_password:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set on his or her Authentication
+Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_examine\fR\|(8),
+\&\fIkas_list\fR\|(8),
+\&\fIkas_setfields\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_DELETE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_DELETE 8"
++.TH KAS_DELETE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_delete \- Deletes an entry from the Authentication Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas delete\fR \fB\-name\fR\ <\fIname\ of\ user\fR>
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas d\fR \fB\-na\fR\ <\fIname\ of\ user\fR>
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.PP
+\&\fBkas rm\fR \fB\-na\fR\ <\fIname\ of\ user\fR>
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas delete\fR command removes from the Authentication Database the
+user entry named by the \fB\-name\fR argument. The indicated user becomes
+unable to log in, or the indicated server becomes unreachable (because the
+Authentication Server's Ticket Granting Service module no longer has a key
+with which to seal tickets for the server).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIname of user\fR>" 4
+.IX Item "-name <name of user>"
+Names the Authentication Database entry to delete.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the administrative user \f(CW\*(C`admin\*(C'\fR entering
+interactive mode to delete three accounts.
+.PP
+.Vb 5
+\& % kas
+\& Password for admin:
+\& ka> delete smith
+\& ka> delete pat
+\& ka> delete terry
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set on his or her Authentication
+Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_create\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_EXAMINE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_EXAMINE 8"
++.TH KAS_EXAMINE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_examine \- Displays information from an Authentication Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas examine\fR \fB\-name\fR\ <\fIname\ of\ user\fR> [\fB\-showkey\fR]
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas e\fR \fB\-na\fR\ <\fIname\ of\ user\fR> [\fB\-sh\fR]
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-se\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas examine\fR command formats and displays information from the
+Authentication Database entry of the user named by the \fB\-name\fR argument.
+.PP
+To alter the settings displayed with this command, issue the \fBkas
+setfields\fR command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Displaying actual keys on the standard output stream by including the
+\&\fB\-showkey\fR flag constitutes a security exposure. For most purposes, it is
+sufficient to display a checksum.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIname of user\fR>" 4
+.IX Item "-name <name of user>"
+Names the Authentication Database entry from which to display information.
+.IP "\fB\-showkey\fR" 4
+.IX Item "-showkey"
+Displays the octal digits that constitute the key. The issuer must have
+the \f(CW\*(C`ADMIN\*(C'\fR flag on his or her Authentication Database entry.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output includes:
+.IP "\(bu" 4
+The entry name, following the string \f(CW\*(C`User data for\*(C'\fR.
+.IP "\(bu" 4
+One or more status flags in parentheses; they appear only if an
+administrator has used the \fBkas setfields\fR command to change them from
+their default values. A plus sign (\f(CW\*(C`+\*(C'\fR) separates the flags if there is
+more than one. The nondefault values that can appear, and their meanings,
+are as follows:
+.RS 4
+.IP "\s-1ADMIN\s0" 4
+.IX Item "ADMIN"
+Enables the user to issue privileged \fBkas\fR commands (default is
+\&\f(CW\*(C`NOADMIN\*(C'\fR).
+.IP "\s-1NOTGS\s0" 4
+.IX Item "NOTGS"
+Prevents the user from obtaining tickets from the Authentication Server's
+Ticket Granting Service (default is \f(CW\*(C`TGS\*(C'\fR).
+.IP "\s-1NOSEAL\s0" 4
+.IX Item "NOSEAL"
+Prevents the Ticket Granting Service from using the entry's key field as
+an encryption key (default is \f(CW\*(C`SEAL\*(C'\fR).
+.IP "\s-1NOCPW\s0" 4
+.IX Item "NOCPW"
+Prevents the user from changing his or her password (default is \f(CW\*(C`CPW\*(C'\fR).
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The key version number, in parentheses, following the word \f(CW\*(C`key\*(C'\fR, then
+one of the following.
+.RS 4
+.IP "\(bu" 4
+A checksum equivalent of the key, following the string \f(CW\*(C`cksum is\*(C'\fR, if the
+\&\fB\-showkey\fR flag is not included. The checksum is a decimal number derived
+by encrypting a constant with the key. In the case of the \f(CW\*(C`afs\*(C'\fR entry,
+this number must match the checksum with the corresponding key version
+number in the output of the \fBbos listkeys\fR command; if not, follow the
+instructions in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR for creating a new
+server encryption key.
+.IP "\(bu" 4
+The actual key, following a colon, if the \fB\-showkey\fR flag is
+included. The key consists of eight octal numbers, each represented as a
+backslash followed by three decimal digits.
+.RE
+.RS 4
+.RE
+.IP "\(bu" 4
+The date the user last changed his or her own password, following the
+string \f(CW\*(C`last cpw\*(C'\fR (which stands for \*(L"last change of password\*(R").
+.IP "\(bu" 4
+The string \f(CW\*(C`password will never expire\*(C'\fR indicates that the associated
+password never expires; the string \f(CW\*(C`password will expire\*(C'\fR is followed by
+the password's expiration date. After the indicated date, the user cannot
+authenticate, but has 30 days after it in which to use the \fBkpasswd\fR or
+\&\fBkas setpassword\fR command to set a new password. After 30 days, only an
+administrator (one whose account is marked with the \f(CW\*(C`ADMIN\*(C'\fR flag) can
+change the password by using the \fBkas setpassword\fR command. To set the
+password expiration date, use the \fBkas setfields\fR command's \fB\-pwexpires\fR
+argument.
+.IP "\(bu" 4
+The number of times the user can fail to provide the correct password
+before the account locks, followed by the string \f(CW\*(C`consecutive
+unsuccessful authentications are permitted\*(C'\fR, or the string \f(CW\*(C`An unlimited
+number of unsuccessful authentications is permitted\*(C'\fR to indicate that
+there is no limit. To set the limit, use the \fBkas setfields\fR command's
+\&\fB\-attempts\fR argument. To unlock a locked account, use the \fBkas unlock\fR
+command. The \fBkas setfields\fR reference page discusses how the
+implementation of the lockout feature interacts with this setting.
+.IP "\(bu" 4
+The number of minutes for which the Authentication Server refuses the
+user's login attempts after the limit on consecutive unsuccessful
+authentication attempts is exceeded, following the string \f(CW\*(C`The lock time
+for this user is\*(C'\fR. Use the \fBkas\fR command's \fB\-locktime\fR argument to set
+the lockout time. This line appears only if a limit on the number of
+unsuccessful authentication attempts has been set with the the \fBkas
+setfields\fR command's \fB\-attempts\fR argument.
+.IP "\(bu" 4
+An indication of whether the Authentication Server is currently refusing
+the user's login attempts. The string \f(CW\*(C`User is not locked\*(C'\fR indicates that
+authentication can succeed, whereas the string \f(CW\*(C`User is locked until\*(C'\fR
+\&\fItime\fR indicates that the user cannot authenticate until the indicated
+time. Use the \fBkas unlock\fR command to enable a user to attempt
+authentication. This line appears only if a limit on the number of
+unsuccessful authentication attempts has been set with the \fBkas
+setfields\fR command's \fB\-attempts\fR argument.
+.IP "\(bu" 4
+The date on which the Authentication Server entry expires, or the string
+\&\f(CW\*(C`entry never expires\*(C'\fR to indicate that the entry does not expire. A user
+becomes unable to authenticate when his or her entry expires. Use the
+\&\fBkas setfields\fR command's \fB\-expiration\fR argument to set the expiration
+date.
+.IP "\(bu" 4
+The maximum possible lifetime of the tokens that the Authentication Server
+grants the user. This value interacts with several others to determine the
+actual lifetime of the token, as described in \fIklog\fR\|(1). Use the \fBkas
+setfields\fR command's \fB\-lifetime\fR argument to set this value.
+.IP "\(bu" 4
+The date on which the entry was last modified, following the string \f(CW\*(C`last
+mod on\*(C'\fR and the user name of the administrator who modified it. The date
+on which a user changed his or her own password is recorded on the second
+line of output as \f(CW\*(C`last cpw\*(C'\fR instead.
+.IP "\(bu" 4
+An indication of whether the user can reuse one of his or her last twenty
+passwords when issuing the \fBkpasswd\fR, \fBkas setpassword\fR, or \fBkas
+setkey\fR commands. Use the \fBkas setfields\fR command's \fB\-reuse\fR argument to
+set this restriction.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command shows the user smith displaying her own
+Authentication Database entry. Note the \f(CW\*(C`ADMIN\*(C'\fR flag, which shows that
+\&\f(CW\*(C`smith\*(C'\fR is privileged.
+.PP
+.Vb 11
+\& % kas examine smith
+\& Password for smith:
+\& User data for smith (ADMIN)
+\& key (0) cksum is 3414844392, last cpw: Thu Mar 25 16:05:44 1999
+\& password will expire: Fri Apr 30 20:44:36 1999
+\& 5 consecutive unsuccessful authentications are permitted.
+\& The lock time for this user is 25.5 minutes.
+\& User is not locked.
+\& entry never expires. Max ticket lifetime 100.00 hours.
+\& last mod on Tue Jan 5 08:22:29 1999 by admin
+\& permit password reuse
+.Ve
+.PP
+In the following example, the user \f(CW\*(C`pat\*(C'\fR examines his Authentication
+Database entry to determine when the account lockout currently in effect
+will end.
+.PP
+.Vb 11
+\& % kas examine pat
+\& Password for pat:
+\& User data for pat
+\& key (0) cksum is 73829292912, last cpw: Wed Apr 7 11:23:01 1999
+\& password will expire: Fri Jun 11 11:23:01 1999
+\& 5 consecutive unsuccessful authentications are permitted.
+\& The lock time for this user is 25.5 minutes.
+\& User is locked until Tue Sep 21 12:25:07 1999
+\& entry expires on never. Max ticket lifetime 100.00 hours.
+\& last mod on Thu Feb 4 08:22:29 1999 by admin
+\& permit password reuse
+.Ve
+.PP
+In the following example, an administrator logged in as \f(CW\*(C`admin\*(C'\fR uses the
+\&\fB\-showkey\fR flag to display the octal digits that constitute the key in
+the \f(CW\*(C`afs\*(C'\fR entry.
+.PP
+.Vb 7
+\& % kas examine \-name afs \-showkey
+\& Password for admin: I<admin_password>
+\& User data for afs
+\& key (12): \e357\e253\e304\e352\e234\e236\e253\e352, last cpw: no date
+\& entry never expires. Max ticket lifetime 100.00 hours.
+\& last mod on Thu Mar 25 14:53:29 1999 by admin
+\& permit password reuse
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+A user can examine his or her own entry. To examine others' entries or to
+include the \fB\-showkey\fR flag, the issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set
+in his or her Authentication Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_addkey\fR\|(8),
+\&\fIbos_listkeys\fR\|(8),
+\&\fIbos_setauth\fR\|(8),
+\&\fIkas\fR\|(8),
+\&\fIkas_setfields\fR\|(8),
+\&\fIkas_setpassword\fR\|(8),
+\&\fIkas_unlock\fR\|(8),
+\&\fIklog\fR\|(1),
+\&\fIkpasswd\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_FORGETTICKET 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_FORGETTICKET 8"
++.TH KAS_FORGETTICKET 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_forgetticket \- Discards all tickets for the issuer
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas forgetticket\fR [\fB\-all\fR] [\fB\-help\fR]
+.PP
+\&\fBkas f\fR [\fB\-a\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas forgetticket\fR command discards all of the issuer's tickets
+stored in the local machine's kernel memory. This includes the \s-1AFS\s0 server
+ticket from each cell in which the user has authenticated, and any tickets
+that the user have acquired during the current \fBkas\fR session (either when
+entering the session or by using the \fBkas getticket\fR command).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-all\fR" 4
+.IX Item "-all"
+Discards all tickets. This argument explicitly invokes the command's
+default behavior.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command discards all of the issuer's tickets.
+.PP
+.Vb 1
+\& % kas forgetticket
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_HELP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_HELP 8"
++.TH KAS_HELP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_help \- Displays help for kas commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBkas h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBkas\fR command.
+.PP
+To list every kas command whose name or short description includes a
+specified keyword, use the \fBkas apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBkas\fR part of the command name, providing only the
+operation code (for example, specify \fBsetpassword\fR, not \fBkas
+setpassword\fR). If this argument is omitted, the output briefly describes
+every \fBkas\fR command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each \fBkas\fR command consists of the following
+two or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBkas
+setpassword\fR command:
+.PP
+.Vb 8
+\& % kas help setpassword
+\& kas setpassword: set a user\*(Aqs password
+\& aliases: sp
+\& Usage: kas setpassword \-name <name of user>
+\& [\-new_password <new password>] [\-kvno <key version number>]
+\& [\-admin_username <admin principal to use for authentication>]
+\& [\-password_for_admin <password>] [\-cell <cell name>]
+\& [\-servers <explicit list of authentication servers>+] [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_apropos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_INTERACTIVE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_INTERACTIVE 8"
++.TH KAS_INTERACTIVE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_interactive \- Enters interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas interactive\fR
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas i\fR [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-n\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas interactive\fR command establishes an interactive session for the
+issuer of the command. By default, the command interpreter establishes an
+authenticated connection for the user logged into the local file system
+with all of the Authentication Servers listed in the local
+\&\fI/usr/vice/etc/CellServDB\fR file for the cell named in the local
+\&\fI/usr/vice/etc/ThisCell\fR file. To specify an alternate identity, cell
+name, or list of Authentication Servers, include the \fB\-admin_username\fR,
+\&\fB\-cell\fR, or \fB\-servers\fR arguments respectively. Interactive mode lasts
+for six hours unless the maximum ticket lifetime for the issuer or the
+Authentication Server's Ticket Granting Service is shorter.
+.PP
+There are two other ways to enter interactive mode, in addition to the
+\&\fBkas interactive\fR command:
+.IP "\(bu" 4
+Type the kas command at the shell prompt without any operation code. If
+appropriate, include one or more of the \fB\-admin_username\fR,
+\&\fB\-password_for_admin\fR, \fB\-cell\fR, and \fB\-servers\fR arguments.
+.IP "\(bu" 4
+Type the kas command followed by a user name and cell name, separated by
+an \f(CW\*(C`@\*(C'\fR sign (for example: \fBkas admin@abc.com\fR), to establish a
+connection under the specified identity with the Authentication Servers
+listed in the local \fI/usr/vice/etc/CellServDB\fR file for the indicated
+cell. If appropriate, provide the \fB\-servers\fR argument to specify an
+alternate list of Authentication Server machines that belong to the
+indicated cell.
+.PP
+There are several consequences of entering interactive mode:
+.IP "\(bu" 4
+The \f(CW\*(C`ka>\*(C'\fR prompt replaces the system (shell) prompt. When typing
+commands at this prompt, provide only the operation code (omit the command
+suite name, \fBkas\fR).
+.IP "\(bu" 4
+The command interpreter does not prompt for the issuer's password.
+.Sp
+The issuer's identity and password, the relevant cell, and the set of
+Authentication Server machines specified when entering interactive mode
+apply to all commands issued during the session. They cannot be changed
+without leaving the session, except by using the \fBkas noauthentication\fR
+command to replace the current authenticated connections with
+unauthenticated ones. The \fB\-admin_username\fR, \fB\-password_for_admin\fR,
+\&\fB\-cell\fR, and \fB\-servers\fR arguments are ignored if provided on a command
+issued during interactive mode.
+.PP
+To establish an unauthenticated connection to the Authentication Server,
+include the \fB\-noauth\fR flag or provide an incorrect password. Unless
+authorization checking is disabled on each Authentication Server machine
+involved, however, it is not possible to perform any privileged operations
+within such a session.
+.PP
+To end the current authenticated connection and establish an
+unauthenticated one, issue the \fBkas noauthentication\fR command. To leave
+interactive mode and return to the regular shell prompt, issue the \fBkas
+quit\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows a user entering interactive mode as the
+privileged user \f(CW\*(C`admin\*(C'\fR.
+.PP
+.Vb 3
+\& % kas interactive admin
+\& Password for admin: I<admin_password>
+\& ka>
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_noauthentication\fR\|(8),
+\&\fIkas_quit\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_LIST 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_LIST 8"
++.TH KAS_LIST 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_list \- Displays all entries in the Authentication Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas list\fR [\fB\-long\fR] [\fB\-showadmin\fR] [\fB\-showkey\fR]
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas ls\fR [\fB\-l\fR] [\fB\-showa\fR] [\fB\-showk\fR]
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-se\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-n\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas list\fR command either displays all entries from the
+Authentication Database by name, or displays the full database entry for a
+defined set of entries, as determined by the flag provided:
+.IP "\(bu" 4
+To display every entry in the Authentication Database in full, include the
+\&\fB\-long\fR flag.
+.IP "\(bu" 4
+To display only those entries in full that have the \f(CW\*(C`ADMIN\*(C'\fR flag set,
+include the \fB\-showadmin\fR flag.
+.IP "\(bu" 4
+To list only the name of each Authentication Database entry, omit both the
+\&\fB\-long\fR and \fB\-showadmin\fR flags.
+.PP
+By default, full entries include a checksum for the encryption key, rather
+than the actual octal digits that constitute the key. To display the octal
+digits, include the \fB\-showkey\fR flag with the \fB\-long\fR or \fB\-showadmin\fR
+flag.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-long\fR" 4
+.IX Item "-long"
+Displays every Authentication Database entry in full. Provide this flag or
+the \fB\-showadmin\fR flag, or omit both to display just the name of every
+database entry.
+.IP "\fB\-showadmin\fR" 4
+.IX Item "-showadmin"
+Displays in full only the Authentication Database entries that have the
+\&\f(CW\*(C`ADMIN\*(C'\fR flag set. Provide this flag or the \fB\-long\fR flag, or omit both to
+display just the name of every database entry.
+.IP "\fB\-showkey\fR" 4
+.IX Item "-showkey"
+Displays the octal digits that constitute the key in each full
+entry. Provide either the \fB\-long\fR or \fB\-showadmin\fR flag along with this
+one.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If neither the \fB\-long\fR or \fB\-showadmin\fR flag is provided, the output
+lists the name of each entry in the Authentication Database on its own
+line.
+.PP
+If the \fB\-long\fR flag is included, the output includes every Authentication
+Database entry in full. If the \fB\-showadmin\fR flag is included, the output
+includes in full only the Authentication Database entries that have the
+\&\f(CW\*(C`ADMIN\*(C'\fR flag set. If the \fB\-showkey\fR is provided along with either one,
+the output includes the octal digits that constitute the encryption key in
+each entry.
+.PP
+A full Authentication Database entry includes the same information
+displayed by the \fBkas examine\fR command; for details, see that command's
+reference page.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set on his or her Authentication
+Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_examine\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_LISTTICKETS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_LISTTICKETS 8"
++.TH KAS_LISTTICKETS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_listtickets \- Displays all of the issuer's tickets (tokens)
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas listtickets\fR [\fB\-name\fR\ <\fIname\ of\ server\fR>] [\fB\-long\fR] [\fB\-help\fR]
+.PP
+\&\fBkas listt\fR [\fB\-n\fR\ <\fIname\ of\ server\fR>] [\fB\-l\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas listtickets\fR command displays the associated user \s-1ID\s0 (\s-1AFS\s0 \s-1UID\s0),
+cell name, and expiration date of some or all of the issuer's tickets
+(tokens), depending on which options are provided:
+.IP "\(bu" 4
+To display all tokens, provide neither the \fB\-name\fR argument nor \fB\-long\fR
+flag. The output is similar to that of the \fBtokens\fR command.
+.IP "\(bu" 4
+To display a single token, provide the \fB\-name\fR argument to specify name
+of the Authentication Database entry for the entity that accepts the
+token. All \s-1AFS\s0 server processes accept tokens sealed with the key from the
+\&\f(CW\*(C`afs\*(C'\fR entry.
+.IP "\(bu" 4
+To display in addition the octal numbers that constitute the token and
+session key, provide the \fB\-long\fR flag.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIname of server\fR>" 4
+.IX Item "-name <name of server>"
+Names the Authentication Database entry of the entity (usually a server
+process) that accepts the token to display.
+.IP "\fB\-long\fR" 4
+.IX Item "-long"
+Displays the octal numbers that constitute the session key and ticket.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output reports the \s-1AFS\s0 \s-1UID\s0 of the user who owns the token, the service
+(usually, \f(CW\*(C`afs\*(C'\fR) and cell for which it is valid, and its expiration date,
+using the following format. If the message does not specify a cell, the
+ticket is for the local cell.
+.PP
+.Vb 2
+\& User\*(Aqs (AFS ID <AFS UID>) tokens for <service>[@<cellname>] \e
+\& [Expires <date>]
+.Ve
+.PP
+If the \fB\-long\fR flag is provided, the output also includes the octal
+numbers making up the session key and token, along with the key version
+number and the number of bytes in the token (if the number of bytes is not
+56, there is an error).
+.PP
+If the marker \f(CW\*(C`[>> POSTDATED <]\*(C'\fR appears instead of an expiration
+date, the ticket does not become valid until the indicated time. (Only
+internal calls can create a postdated ticket; there is no standard
+interface that allows users to do this.)
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following two examples are for a user with \s-1AFS\s0 \s-1UID\s0 1020 in the
+\&\f(CW\*(C`abc.com\*(C'\fR cell and \s-1AFS\s0 \s-1UID\s0 35 in the \f(CW\*(C`test.abc.com\*(C'\fR cell. He is working
+on a machine in the first cell and is authenticated in both cells.
+.PP
+.Vb 4
+\& % kas listtickets
+\& User\*(Aqs (AFS ID 1020) tokens for afs [Expires Wed Mar 31 9:30:54 1999]
+\& User\*(Aqs (AFS ID 35@test.abc.com) tokens for afs@test.abc.com \e
+\& [Expires Wed Mar 31 13:54:26 1999]
+\&
+\& % kas listtickets \-name afs \-long
+\& User\*(Aqs (AFS ID 1020) tokens for afs [Expires Wed Mar 31 9:30:54 1999]
+\& SessionKey: \e375\e205\e351\e227\e032\e310\e263\e013
+\& Ticket: (kvno = 0, len = 56): \e033\e005\e221\e156\e203\e278\e312\e058\e016\e133...
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fItokens\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_NOAUTHENTICATION 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_NOAUTHENTICATION 8"
++.TH KAS_NOAUTHENTICATION 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_noauthentication \- Discards an authenticated identity in interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBnoauthentication\fR [\fB\-help\fR]
+.PP
+\&\fBn\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas noauthentication\fR command closes the (presumably authenticated)
+connection that the issuer established with one or more Authentication
+Server processes when entering interactive mode. It opens a new
+unauthenticated connection to each server, assigning the issuer the
+unprivileged identity \fBanonymous\fR. It does not actually discard the
+user's tokens from the Cache Manager's memory (as the \fBunlog\fR or \fBkas
+forgetticket\fR command does). Unless authorization checking is disabled on
+each Authentication Server machine, it becomes impossible to perform any
+privileged operations within the session established by this command.
+.PP
+This command is operative only during interactive mode, so omit the \fBkas\fR
+command suite name from the command line.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command discards the authentication information with
+which the user entered interactive mode.
+.PP
+.Vb 1
+\& ka> noauthentication
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_forgetticket\fR\|(8),
+\&\fIkas_interactive\fR\|(8),
+\&\fIunlog\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_QUIT 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_QUIT 8"
++.TH KAS_QUIT 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_quit \- Leaves interactive mode
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBquit\fR [\fB\-help\fR]
+.PP
+\&\fBq\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas quit\fR command ends interactive mode, severing the authenticated
+connection to one or more Authentication Server processes and returning
+the issuer to the normal shell prompt.
+.PP
+This command is operative only during interactive mode, so omit the \fBkas\fR
+command suite name from the command line.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example demonstrates how the normal command shell prompt
+returns when the issuer leaves interactive mode.
+.PP
+.Vb 2
+\& ka> quit
+\& %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_interactive\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_SETFIELDS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_SETFIELDS 8"
++.TH KAS_SETFIELDS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_setfields \- Sets fields in an Authentication Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas setfields\fR \fB\-name\fR\ <\fIname\ of\ user\fR>
+ [\fB\-flags\fR\ <\fIhex\ flag\ value\ or\ flag\ name\ expression\fR>]
+ [\fB\-expiration\fR\ <\fIdate\ of\ account\ expiration\fR>]
+ [\fB\-lifetime\fR\ <\fImaximum\ ticket\ lifetime\fR>]
+ [\fB\-pwexpires\fR\ <\fInumber\ days\ password\ is\ valid\ ([0..254])\fR>]
+ [\fB\-reuse\fR\ <\fIpermit\ password\ reuse\ (yes/no)\fR>]
+ [\fB\-attempts\fR\ <\fImaximum\ successive\ failed\ login\ tries\ ([0..254])\fR>]
+ [\fB\-locktime\fR\ <\fIfailure\ penalty\ [hh:mm\ or\ minutes]\fR>]
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas setf\fR \fB\-na\fR\ <\fIname\ of\ user\fR>
+ [\fB\-f\fR\ <\fIhex\ flag\ value\ or\ flag\ name\ expression\fR>]
+ [\fB\-e\fR\ <\fIdate\ of\ account\ expiration\fR>]
+ [\fB\-li\fR\ <\fImaximum\ ticket\ lifetime\fR>]
+ [\fB\-pw\fR\ <\fInumber\ days\ password\ is\ valid\ ([0..254])\fR>]
+ [\fB\-r\fR\ <\fIpermit\ password\ reuse\ (yes/no)\fR>]
+ [\fB\-at\fR\ <\fImaximum\ successive\ failed\ login\ tries\ ([0..254])\fR>]
+ [\fB\-lo\fR\ <\fIfailure\ penalty\ [hh:mm\ or\ minutes]\fR>]
+ [\fB\-ad\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-pa\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.PP
+\&\fBkas sf\fR \fB\-na\fR\ <\fIname\ of\ user\fR>
+ [\fB\-f\fR\ <\fIhex\ flag\ value\ or\ flag\ name\ expression\fR>]
+ [\fB\-e\fR\ <\fIdate\ of\ account\ expiration\fR>]
+ [\fB\-li\fR\ <\fImaximum\ ticket\ lifetime\fR>]
+ [\fB\-pw\fR\ <\fInumber\ days\ password\ is\ valid\ ([0..254])\fR>]
+ [\fB\-r\fR\ <\fIpermit\ password\ reuse\ (yes/no)\fR>]
+ [\fB\-at\fR\ <\fImaximum\ successive\ failed\ login\ tries\ ([0..254])\fR>]
+ [\fB\-lo\fR\ <\fIfailure\ penalty\ [hh:mm\ or\ minutes]\fR>]
+ [\fB\-ad\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-pa\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas setfields\fR command changes the Authentication Database entry for
+the user named by the \fB\-name\fR argument in the manner specified by the
+various optional arguments, which can occur singly or in combination:
+.IP "\(bu" 4
+To set the flags that determine whether the user has administrative
+privileges to the Authentication Server, can obtain a ticket, can change
+his or her password, and so on, include the \fB\-flags\fR argument.
+.IP "\(bu" 4
+To set when the Authentication Database entry expires, include the
+\&\fB\-expiration\fR argument.
+.IP "\(bu" 4
+To set the maximum ticket lifetime associated with the entry, include the
+\&\fB\-lifetime\fR argument. \fIklog\fR\|(1) explains how this value interacts with
+others to determine the actual lifetime of a token.
+.IP "\(bu" 4
+To set when the user's password expires, include the \fB\-pwexpires\fR
+argument.
+.IP "\(bu" 4
+To set whether the user can reuse any of the previous twenty passwords
+when creating a new one, include the \fB\-reuse\fR argument.
+.IP "\(bu" 4
+To set the maximum number of times the user can provide an incorrect
+password before the Authentication Server refuses to accept any more
+attempts (locks the issuer out), include the \fB\-attempts\fR argument. After
+the sixth failed authentication attempt, the Authentication Server logs a
+message in the \s-1UNIX\s0 system log file (the \fIsyslog\fR file or equivalent, for
+which the standard location varies depending on the operating system).
+.IP "\(bu" 4
+To set how long the Authentication Server refuses to process
+authentication attempts for a locked-out user, set the \fB\-locktime\fR
+argument.
+.PP
+The \fBkas examine\fR command displays the settings made with this command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The password lifetime set with the \fB\-pwexpires\fR argument begins at the
+time the user's password was last changed, rather than when this command
+is issued. It can therefore be retroactive. If, for example, a user
+changed her password 100 days ago and the password lifetime is set to 100
+days or less, the password effectively expires immediately. To avoid
+retroactive expiration, instruct the user to change the password just
+before setting a password lifetime.
+.PP
+Administrators whose authentication accounts have the \f(CW\*(C`ADMIN\*(C'\fR flag enjoy
+complete access to the sensitive information in the Authentication
+Database. To prevent access by unauthorized users, use the \fB\-attempts\fR
+argument to impose a fairly strict limit on the number of times that a
+user obtaining administrative tokens can provide an incorrect
+password. Note, however, that there must be more than one account in the
+cell with the \f(CW\*(C`ADMIN\*(C'\fR flag. The \fBkas unlock\fR command requires the
+\&\f(CW\*(C`ADMIN\*(C'\fR privilege, so it is important that the locked-out administrator
+(or a colleague) can access another \f(CW\*(C`ADMIN\*(C'\fR\-privileged account to unlock
+the current account.
+.PP
+In certain circumstances, the mechanism used to enforce the number of
+failed authentication attempts can cause a lockout even though the number
+of failed attempts is less than the limit set by the \fB\-attempts\fR
+argument. Client-side authentication programs such as \fBklog\fR and an
+AFS-modified login utility normally choose an Authentication Server at
+random for each authentication attempt, and in case of a failure are
+likely to choose a different Authentication Server for the next
+attempt. The Authentication Servers running on the various database server
+machines do not communicate with each other about how many times a user
+has failed to provide the correct password to them. Instead, each
+Authentication Server maintains its own separate copy of the auxiliary
+database file \fIkaserverauxdb\fR (located in the \fI/usr/afs/local\fR directory
+by default), which records the number of consecutive authentication
+failures for each user account and the time of the most recent
+failure. This implementation means that on average each Authentication
+Server knows about only a fraction of the total number of failed
+attempts. The only way to avoid allowing more than the number of attempts
+set by the \fB\-attempts\fR argument is to have each Authentication Server
+allow only some fraction of the total. More specifically, if the limit on
+failed attempts is \fIf\fR, and the number of Authentication Servers is \fIS\fR,
+then each Authentication Server can only permit a number of attempts equal
+to \fIf\fR divided by \fIS\fR (the Ubik synchronization site for the
+Authentication Server tracks any remainder, \fIf\fR mod \fIS\fR).
+.PP
+Normally, this implementation does not reduce the number of allowed
+attempts to less than the configured limit (\fIf\fR). If one Authentication
+Server refuses an attempt, the client contacts another instance of the
+server, continuing until either it successfully authenticates or has
+contacted all of the servers. However, if one or more of the
+Authentication Server processes is unavailable, the limit is effectively
+reduced by a percentage equal to the quantity \fIU\fR divided by \fIS\fR, where
+\&\fIU\fR is the number of unavailable servers and \fIS\fR is the number normally
+available.
+.PP
+To avoid the undesirable consequences of setting a limit on failed
+authentication attempts, note the following recommendations:
+.IP "\(bu" 4
+Do not set the \fB\-attempts\fR argument (the limit on failed authentication
+attempts) too low. A limit of nine failed attempts is recommended for
+regular user accounts, to allow three failed attempts per Authentication
+Server in a cell with three database server machines.
+.IP "\(bu" 4
+Set fairly short lockout times when including the \fB\-locktime\fR
+argument. Although guessing passwords is a common method of attack, it is
+not a very sophisticated one. Setting a lockout time can help discourage
+attackers, but excessively long times are likely to be more of a burden to
+authorized users than to potential attackers. A lockout time of 25 minutes
+is recommended for regular user accounts.
+.IP "\(bu" 4
+Do not assign an infinite lockout time on an account (by setting the
+\&\fB\-locktime\fR argument to \f(CW0\fR [zero]) unless there is a highly compelling
+reason. Such accounts almost inevitably become locked at some point,
+because each Authentication Server never resets the account's failure
+counter in its copy of the \fIkaauxdb\fR file (in contrast, when the lockout
+time is not infinite, the counter resets after the specified amount of
+time has passed since the last failed attempt to that Authentication
+Server). Furthermore, the only way to unlock an account with an infinite
+lockout time is for an administrator to issue the \fBkas unlock\fR
+command. It is especially dangerous to set an infinite lockout time on an
+administrative account; if all administrative accounts become locked, the
+only way to unlock them is to shut down all instances of the
+Authentication Server and remove the \fIkaauxdb\fR file on each.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIname of user\fR>" 4
+.IX Item "-name <name of user>"
+Names the Authentication Database account for which to change settings.
+.IP "\fB\-flags\fR <\fIhex flag or flag name expression\fR>" 4
+.IX Item "-flags <hex flag or flag name expression>"
+Sets one or more of four toggling flags, adding them to any flags
+currently set. Either specify one or more of the following strings, or
+specify a hexidecimal number that combines the indicated values. To return
+all four flags to their defaults, provide a value of \f(CW0\fR (zero). To set
+more than one flag at once using the strings, connect them with plus signs
+(example: \f(CW\*(C`NOTGS+ADMIN+CPW\*(C'\fR). To remove all the current flag settings
+before setting new ones, precede the list with an equal sign (example:
+\&\f(CW\*(C`=NOTGS+ADMIN+CPW\*(C'\fR).
+.RS 4
+.IP "\s-1ADMIN\s0" 4
+.IX Item "ADMIN"
+The user is allowed to issue privileged kas commands (hexadecimal
+equivalent is \f(CW0x004\fR, default is \f(CW\*(C`NOADMIN\*(C'\fR).
+.IP "\s-1NOTGS\s0" 4
+.IX Item "NOTGS"
+The Authentication Server's Ticket Granting Service (\s-1TGS\s0) refuses to issue
+tickets to the user (hexadecimal equivalent is \f(CW0x008\fR, default is
+\&\f(CW\*(C`TGS\*(C'\fR).
+.IP "\s-1NOSEAL\s0" 4
+.IX Item "NOSEAL"
+The Ticket Granting Service cannot use the contents of this entry's key
+field as an encryption key (hexadecimal equivalent is \f(CW0x020\fR, default is
+\&\f(CW\*(C`SEAL\*(C'\fR).
+.IP "\s-1NOCPW\s0" 4
+.IX Item "NOCPW"
+The user cannot change his or her own password or key (hexadecimal
+equivalent is \f(CW0x040\fR, default is \f(CW\*(C`CPW\*(C'\fR).
+.RE
+.RS 4
+.RE
+.IP "\fB\-expiration\fR <\fIdate of account expiration\fR>" 4
+.IX Item "-expiration <date of account expiration>"
+Determines when the entry itself expires. When a user entry expires, the
+user becomes unable to log in; when a server entry such as \f(CW\*(C`afs\*(C'\fR expires,
+all server processes that use the associated key become inaccessible.
+Provide one of the three acceptable values:
+.RS 4
+.IP "never" 4
+.IX Item "never"
+The account never expires (the default).
+.IP "\fImm/dd/yyyy\fR" 4
+.IX Item "mm/dd/yyyy"
+Sets the expiration date to 12:00 a.m. on the indicated date
+(month/day/year). Examples: \f(CW\*(C`01/23/1999\*(C'\fR, \f(CW\*(C`10/07/2000\*(C'\fR.
+.ie n .IP """\fImm/dd/yyyy hh:MM\fR""" 4
+.el .IP "``\fImm/dd/yyyy hh:MM\fR''" 4
+.IX Item """mm/dd/yyyy hh:MM"""
+Sets the expiration date to the indicated time (hours:minutes) on the
+indicated date (month/day/year). Specify the time in 24\-hour format (for
+example, \f(CW\*(C`20:30\*(C'\fR is 8:30 p.m.) Date format is the same as for a date
+alone. Surround the entire instance with quotes because it contains a
+space. Examples: \f(CW"01/23/1999 22:30"\fR, \f(CW"10/07/2000 3:45"\fR.
+.RE
+.RS 4
+.Sp
+Acceptable values for the year range from \f(CW1970\fR (1 January 1970 is time
+0 in the standard \s-1UNIX\s0 date representation) through \f(CW2037\fR (2037 is the
+maximum because the \s-1UNIX\s0 representation cannot accommodate dates later
+than a value in February 2038).
+.RE
+.IP "\fB\-lifetime\fR <\fImaximum ticket lifetime\fR>" 4
+.IX Item "-lifetime <maximum ticket lifetime>"
+Specifies the maximum lifetime that the Authentication Server's Ticket
+Granting Service (\s-1TGS\s0) can assign to a ticket. If the account belongs to a
+user, this value is the maximum lifetime of a token issued to the user. If
+the account corresponds to a server such as \f(CW\*(C`afs\*(C'\fR, this value is the
+maximum lifetime of a ticket that the \s-1TGS\s0 issues to clients for
+presentation to the server during mutual authentication.
+.Sp
+Specify an integer that represents a number of seconds (3600 equals one
+hour), or include a colon in the number to indicate a number of hours and
+minutes (\f(CW\*(C`10:00\*(C'\fR equals 10 hours). If this argument is omitted, the
+default setting is 100:00 hours (360000 seconds).
+.IP "\fB\-pwexpires\fR <\fInumber of days password is valid\fR>" 4
+.IX Item "-pwexpires <number of days password is valid>"
+Sets the number of days after the user's password was last changed that it
+remains valid. Provide an integer from the range \f(CW1\fR through \f(CW254\fR to
+specify the number of days until expiration, or the value \f(CW0\fR to indicate
+that the password never expires (the default).
+.Sp
+When the password expires, the user is unable to authenticate, but has 30
+days after the expiration date in which to use the \fBkpasswd\fR command to
+change the password (after that, only an administrator can change it by
+using the \fBkas setpassword\fR command). Note that the clock starts at the
+time the password was last changed, not when the \fBkas setfields\fR command
+is issued. To avoid retroactive expiration, have the user change the
+password just before issuing a command that includes this argument.
+.IP "\fB\-reuse\fR (yes | no)" 4
+.IX Item "-reuse (yes | no)"
+Specifies whether or not the user can reuse any of his or her last 20
+passwords. The acceptable values are \f(CW\*(C`yes\*(C'\fR to allow reuse of old
+passwords (the default) and \f(CW\*(C`no\*(C'\fR to prohibit reuse of a password that is
+similar to one of the previous 20 passwords.
+.IP "\fB\-attempts\fR <\fImaximum successive failed login tries\fR>" 4
+.IX Item "-attempts <maximum successive failed login tries>"
+Sets the number of consecutive times the user can provide an incorrect
+password during authentication (using the \fBklog\fR command or a login
+utility that grants \s-1AFS\s0 tokens). When the user exceeds the limit, the
+Authentication Server rejects further attempts (locks the user out) for
+the amount of time specified by the \fB\-locktime\fR argument. Provide an
+integer from the range \f(CW1\fR through \f(CW254\fR to specify the number of
+failures allowed, or \f(CW0\fR to indicate that there is no limit on
+authentication attempts (the default value).
+.IP "\fB\-locktime\fR <\fIfailure penalty\fR>" 4
+.IX Item "-locktime <failure penalty>"
+Specifies how long the Authentication Server refuses authentication
+attempts from a user who has exceeded the failure limit set by the
+\&\fB\-attempts\fR argument.
+.Sp
+Specify a number of hours and minutes (\fIhh:mm\fR) or minutes only (\fImm\fR),
+from the range \f(CW01\fR (one minute) through \f(CW\*(C`36:00\*(C'\fR (36 hours). The \fBkas\fR
+command interpreter automatically reduces any larger value to \f(CW\*(C`36:00\*(C'\fR and
+also rounds up any non-zero value to the next higher multiple of 8.5
+minutes. A value of \f(CW0\fR (zero) sets an infinite lockout time; an
+administrator must issue the \fBkas unlock\fR command to unlock the account.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In the following example, an administrator using the \f(CW\*(C`admin\*(C'\fR account
+grants administrative privilege to the user \f(CW\*(C`smith\*(C'\fR, and sets the
+Authentication Database entry to expire at midnight on 31 December 2000.
+.PP
+.Vb 2
+\& % kas setfields \-name smith \-flags ADMIN \-expiration 12/31/2000
+\& Password for admin:
+.Ve
+.PP
+In the following example, an administrator using the \f(CW\*(C`admin\*(C'\fR account sets
+the user \f(CW\*(C`pat\*(C'\fR's password to expire in 60 days from when it last changed,
+and prohibits reuse of passwords.
+.PP
+.Vb 2
+\& % kas setfields \-name pat \-pwexpires 60 \-reuse no
+\& Password for admin:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set on his or her Authentication
+Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkaserverauxdb\fR\|(5),
+\&\fIkas\fR\|(8),
+\&\fIkas_examine\fR\|(8),
+\&\fIkas_setpassword\fR\|(8),
+\&\fIkas_unlock\fR\|(8),
+\&\fIklog\fR\|(1),
+\&\fIkpasswd\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_SETPASSWORD 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_SETPASSWORD 8"
++.TH KAS_SETPASSWORD 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_setpassword \- Changes the key field in an Authentication Database entry
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas setpassword\fR \fB\-name\fR\ <\fIname\ of\ user\fR>
+ [\fB\-new_password\fR\ <\fInew\ password\fR>] [\fB\-kvno\fR\ <\fIkey\ version\ number\fR>]
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas setpasswd\fR \fB\-na\fR\ <\fIname\ of\ user\fR> [\fB\-ne\fR\ <\fInew\ password\fR>]
+ [\fB\-k\fR\ <\fIkey\ version\ number\fR>]
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.PP
+\&\fBkas setp\fR \fB\-na\fR\ <\fIname\ of\ user\fR> [\fB\-ne\fR\ <\fInew\ password\fR>]
+ [\fB\-k\fR\ <\fIkey\ version\ number\fR>]
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.PP
+\&\fBkas sp\fR \fB\-na\fR\ <\fIname\ of\ user\fR> [\fB\-ne\fR\ <\fInew\ password\fR>]
+ [\fB\-k\fR\ <\fIkey\ version\ number\fR>]
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas setpassword\fR command accepts a character string of unlimited
+length, scrambles it into a form suitable for use as an encryption key,
+places it in the key field of the Authentication Database entry named by
+the \fB\-name\fR argument, and assigns it the key version number specified by
+the \fB\-kvno\fR argument.
+.PP
+To avoid making the password string visible at the shell prompt, omit the
+\&\fB\-new_password\fR argument. Prompts then appear at the shell which do not
+echo the password visibly.
+.PP
+When changing the \fBafs\fR server key, also issue \fBbos addkey\fR command to
+add the key (with the same key version number) to the
+\&\fI/usr/afs/etc/KeyFile\fR file. See the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR for
+instructions.
+.PP
+The command interpreter checks the password string subject to the
+following conditions:
+.IP "\(bu" 4
+If there is a program called kpwvalid in the same directory as the \fBkas\fR
+binary, the command interpreter invokes it to process the password. For
+details, see \fIkpwvalid\fR\|(8).
+.IP "\(bu" 4
+If the \fB\-reuse\fR argument to the \fBkas setfields\fR command has been used to
+prohibit reuse of previous passwords, the command interpreter verifies
+that the password is not too similar too any of the user's previous 20
+passwords. It generates the following error message at the shell:
+.Sp
+.Vb 1
+\& Password was not changed because it seems like a reused password
+.Ve
+.Sp
+To prevent a user from subverting this restriction by changing the
+password twenty times in quick succession (manually or by running a
+script), use the \fB\-minhours\fR argument on the \fBkaserver\fR initialization
+command. The following error message appears if a user attempts to change
+a password before the minimum time has passed:
+.Sp
+.Vb 2
+\& Password was not changed because you changed it too
+\& recently; see your systems administrator
+.Ve
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIname of user\fR>" 4
+.IX Item "-name <name of user>"
+Names the entry in which to record the new key.
+.IP "\fB\-new_password\fR <\fInew password\fR>" 4
+.IX Item "-new_password <new password>"
+Specifies the character string the user types when authenticating to
+\&\s-1AFS\s0. Omit this argument and type the string at the resulting prompts so
+that the password does not echo visibly. Note that some non-AFS programs
+cannot handle passwords longer than eight characters.
+.IP "\fB\-kvno\fR <\fIkey version number\fR>" 4
+.IX Item "-kvno <key version number>"
+Specifies the key version number associated with the new key. Provide an
+integer in the range from \f(CW0\fR through \f(CW255\fR. If omitted, the default is
+\&\f(CW0\fR (zero), which is probably not desirable for server keys.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In the following example, an administrator using the \f(CW\*(C`admin\*(C'\fR account
+changes the password for \f(CW\*(C`pat\*(C'\fR (presumably because \f(CW\*(C`pat\*(C'\fR forgot the
+former password or got locked out of his account in some other way).
+.PP
+.Vb 4
+\& % kas setpassword pat
+\& Password for admin:
+\& new_password:
+\& Verifying, please re\-enter new_password:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+Individual users can change their own passwords. To change another user's
+password or the password (server encryption key) for server entries such
+as \f(CW\*(C`afs\*(C'\fR, the issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set in his or her
+Authentication Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_addkey\fR\|(8),
+\&\fIkas\fR\|(8),
+\&\fIkaserver\fR\|(8),
+\&\fIkpwvalid\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_STATISTICS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_STATISTICS 8"
++.TH KAS_STATISTICS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_statistics \- Displays statistics from an Authentication Server process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas statistics\fR
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas sta\fR [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-n\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas statistics\fR command displays statistics from the Authentication
+Server running on one of the cell's database server machines. Use the
+\&\fB\-servers\fR argument to name a specific machine, or the command
+interpreter chooses one at random from all the database server machines
+with which it has established connections.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The \fB\-servers\fR argument is not available in interactive mode, making it
+impossible to specify a certain machine.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The information in the output includes:
+.IP "\(bu" 4
+The number of allocation and freeing operations the Authentication Server
+has performed, and how many password change requests it has processed.
+.IP "\(bu" 4
+An indication of its hash table use.
+.IP "\(bu" 4
+The server machine's \s-1IP\s0 address in hexadecimal and the date when the
+current instance of the Authentication Server started.
+.IP "\(bu" 4
+The number of requests and aborted requests for various services:
+authentication, ticket granting, password setting, entry listing, and so
+on.
+.IP "\(bu" 4
+The amount of \s-1CPU\s0 time that the Authentication Server has used to process
+requests since it started. The amount is not accurate on all system types,
+however.
+.IP "\(bu" 4
+The number of entries in the Authentication Database that are marked with
+the \f(CW\*(C`ADMIN\*(C'\fR flag.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In the following example, an administrator using the admin account gathers
+statistics from the Authentication Server running on the machine
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR.
+.PP
+.Vb 10
+\& % kas statistics \-servers fs1.abc.com
+\& 56 allocs, 46 frees, 0 password changes
+\& Hash table utilization = 0.100000%
+\& From host bfff21a7 started at Tue Mar 23 12:42:02 1999:
+\& of 88 requests for Authenticate, 18 were aborted.
+\& of 14 requests for GetTicket, 0 were aborted.
+\& of 4 requests for CreateUser, 1 were aborted.
+\& of 12 requests for SetFields, 4 were aborted.
+\& of 3 requests for DeleteUser, 0 were aborted.
+\& of 23 requests for GetEntry, 4 were aborted.
+\& of 18 requests for ListEntry, 0 were aborted.
+\& of 2 requests for GetStats, 1 were aborted.
+\& of 2 requests for GetRandomKey, 0 were aborted.
+\& Used 6.015 seconds of CPU time.
+\& 3 admin accounts
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set on his or her Authentication
+Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_STRINGTOKEY 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_STRINGTOKEY 8"
++.TH KAS_STRINGTOKEY 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_stringtokey \- Converts a character string into an octal key
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas stringtokey\fR \fB\-string\fR\ <\fIpassword\ string\fR>
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-help\fR]
+.PP
+\&\fBkas str\fR \fB\-s\fR\ <\fIpassword\ string\fR> [\fB\-c\fR\ <\fIcell\ name\fR>] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas stringtokey\fR command converts the character string specified
+with the \fB\-string\fR argument into an octal string suitable for use as an
+encryption key.
+.PP
+The \fBkas\fR command interpreter generates the octal key by using an
+encryption algorithm on the combination of the specified string and the
+name of the local cell (as recorded in the local \fI/usr/vice/etc/ThisCell\fR
+file). Use the \fB\-cell\fR argument to convert a string into a key
+appropriate for a cell other than the local one.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command writes the key to the standard output stream, on which it can
+possibly be intercepted by third parties. It is not very secure to use the
+key in an actual Authentication Database entry.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-string\fR <\fIpassword string\fR>" 4
+.IX Item "-string <password string>"
+Specifies the character string to convert into an octal key.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the complete Internet domain name of the cell to combine with
+the password string while generating the key. If this argument is omitted,
+the \fBkas\fR command interpreter determines the name of the local cell by
+consulting:
+.RS 4
+.IP "\(bu" 4
+First, the value of the environment variable \s-1AFSCELL\s0.
+.IP "\(bu" 4
+Second, the cellname in the \fI/usr/vice/etc/ThisCell\fR file on the local
+machine.
+.RE
+.RS 4
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The output is of the following form:
+.PP
+.Vb 1
+\& Converting I<password string> in realm \*(AqI<cell_name>\*(Aq yields key=\*(AqI<key>\*(Aq.
+.Ve
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the octal key equivalent of the string
+\&\f(CW\*(C`new_pswd\*(C'\fR in the \s-1ABC\s0 Corporation cell.
+.PP
+.Vb 3
+\& % kas stringtokey new_pswd
+\& Converting new_pswd in realm \*(AqABC.COM\*(Aq yields
+\& key=\*(Aq\e346\e307\e364\e320\e263\e233\e342\e354\*(Aq.
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None, and no password is required.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIThisCell\fR\|(5),
+\&\fIkas\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KAS_UNLOCK 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KAS_UNLOCK 8"
++.TH KAS_UNLOCK 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kas_unlock \- Unlocks a locked user account
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkas unlock\fR \fB\-name\fR\ <\fIauthentication\ \s-1ID\s0\fR>
+ [\fB\-admin_username\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-password_for_admin\fR\ <\fIadmin\ password\fR>] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-servers\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+]
+ [\fB\-noauth\fR] [\fB\-help\fR]
+.PP
+\&\fBkas u\fR \fB\-na\fR\ <\fIauthentication\ \s-1ID\s0\fR>
+ [\fB\-a\fR\ <\fIadmin\ principal\ to\ use\ for\ authentication\fR>]
+ [\fB\-p\fR\ <\fIadmin\ password\fR>] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-s\fR\ <\fIexplicit\ list\ of\ authentication\ servers\fR>+] [\fB\-no\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkas unlock\fR command unlocks the Authentication Database entry named
+by the \fB\-name\fR argument. An entry becomes locked when the user exceeds
+the limit on failed authentication attempts, generally by providing the
+wrong password to either an AFS-modified login utility or the \fBklog\fR
+command. Use the \fBkas setfields\fR command to set the limit and the lockout
+time, and the \fBkas examine\fR command to examine the settings.
+.PP
+To unlock all locked user accounts at once, shutdown the \fBkaserver\fR
+process on every database server machine, and remove the
+\&\fI/usr/afs/local/kaauxdb\fR file from each one. The \fBkaserver\fR process
+recreates the file as it restarts.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-name\fR <\fIauthentication \s-1ID\s0\fR>" 4
+.IX Item "-name <authentication ID>"
+Names the Authentication Database entry to unlock.
+.IP "\fB\-admin_username\fR <\fIadmin principal\fR>" 4
+.IX Item "-admin_username <admin principal>"
+Specifies the user identity under which to authenticate with the
+Authentication Server for execution of the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-password_for_admin\fR <\fIadmin password\fR>" 4
+.IX Item "-password_for_admin <admin password>"
+Specifies the password of the command's issuer. If it is omitted (as
+recommended), the \fBkas\fR command interpreter prompts for it and does not
+echo it visibly. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. For more details, see
+\&\fIkas\fR\|(8).
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each machine running an Authentication Server with which to
+establish a connection. For more details, see \fIkas\fR\|(8).
+.IP "\fB\-noauth\fR" 4
+.IX Item "-noauth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. For more
+details, see \fIkas\fR\|(8).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+In the following example, an administrator using the \f(CW\*(C`admin\*(C'\fR account
+unlocks the entry for \f(CW\*(C`jones\*(C'\fR:
+.PP
+.Vb 2
+\& % kas unlock \-name jones \-admin_username admin
+\& Administrator\*(Aqs (admin) Password:
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have the \f(CW\*(C`ADMIN\*(C'\fR flag set on his or her Authentication
+Database entry.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas\fR\|(8),
+\&\fIkas_examine\fR\|(8),
+\&\fIkas_setfields\fR\|(8),
+\&\fIklog\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KASERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KASERVER 8"
++.TH KASERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kaserver \- Initializes the Authentication Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkaserver\fR [\fB\-noAuth\fR] [\fB\-fastKeys\fR] [\fB\-database\fR <\fIdbpath\fR>]
+ [\fB\-localfiles\fR\ <\fIlclpath\fR>] [\fB\-minhours\fR\ <\fIn\fR>]
+ [\fB\-servers\fR\ <\fIserverlist\fR>] [\fB\-enable_peer_stats\fR]
+ [\fB\-enable_process_stats\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkaserver\fR command initializes the Authentication Server, which runs
+on every database server machine. In the conventional configuration, its
+binary file is located in the \fI/usr/afs/bin\fR directory on a file server
+machine.
+.PP
+The \fBkaserver\fR command is not normally issued at the command shell prompt
+but rather placed into a file server machine's \fI/usr/afs/local/BosConfig\fR
+file with the \fBbos create\fR command. If it is ever issued at the command
+shell prompt, the issuer must be logged onto a database server machine as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+As it initializes, the Authentication Server process creates the two files
+that constitute the Authentication Database, \fIkaserver.DB0\fR and
+\&\fIkaserver.DBSYS1\fR, in the \fI/usr/afs/db\fR directory if they do not already
+exist. Use the commands in the \fBkas\fR suite to administer the database.
+.PP
+The Authentication Server is responsible for several aspects of \s-1AFS\s0
+security, including:
+.IP "\(bu" 4
+Maintenance of all \s-1AFS\s0 server encryption keys and user passwords in the
+Authentication Database.
+.IP "\(bu" 4
+Creation of the tickets and tokens that users and servers use to establish
+secure connections. Its Ticket Granting Service (\s-1TGS\s0) component performs
+this function.
+.PP
+The Authentication Server records a trace of its activity in the
+\&\fI/usr/afs/logs/AuthLog\fR file. Use the \fBbos getlog\fR command to display
+the contents of the file. Use the \fBkdb\fR command to read the protected
+files associated with the \fIAuthLog\fR file, \fIAuthLog.dir\fR and
+\&\fIAuthLog.pag\fR.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-noAuth\fR" 4
+.IX Item "-noAuth"
+Assigns the unprivileged identity \f(CW\*(C`anonymous\*(C'\fR to the issuer. Thus, it
+establishes an unauthenticated connection between the issuer and the
+Authentication Server. It is useful only when authorization checking is
+disabled on the database server machine. In normal circumstances, the
+Authentication Server allows only authorized (privileged) users to issue
+commands that affect or contact the Authentication Database and will
+refuse to perform such an action even if the \fB\-noAuth\fR flag is used.
+.IP "\fB\-fastKeys\fR" 4
+.IX Item "-fastKeys"
+Is a test flag for use by the \s-1AFS\s0 Development staff; it serves no
+functional purpose.
+.IP "\fB\-database\fR <\fIdbpath\fR>" 4
+.IX Item "-database <dbpath>"
+Specifies the pathname of an alternate directory in which the
+Authentication Database files reside. Provide the complete pathname,
+ending in the base filename to which the \f(CW\*(C`.DB0\*(C'\fR and \f(CW\*(C`.DBSYS1\*(C'\fR extensions
+are appended. For example, the appropriate value for the default database
+files is \fI/usr/afs/db/kaserver\fR.
+.Sp
+Provide the \fB\-localfiles\fR argument along with this one; otherwise, the
+\&\fB\-localfiles\fR argument is also set to the value of this argument, which
+is probably inappropriate.
+.IP "\fB\-localfiles\fR <\fIlclpath\fR>" 4
+.IX Item "-localfiles <lclpath>"
+Specifies the pathname of an alternate directory in which the auxiliary
+Authentication Database file resides. Provide the complete pathname,
+ending in the base filename to which the \f(CW\*(C`auxdb\*(C'\fR suffix is appended. For
+example, the appropriate value for the default auxiliary database file is
+\&\fI/usr/afs/local/kaserver\fR.
+.IP "\fB\-minhours\fR <\fIn\fR>" 4
+.IX Item "-minhours <n>"
+Specifies the minimum number of hours that must pass between password
+changes made by any regular user. System administrators (with the \f(CW\*(C`ADMIN\*(C'\fR
+flag in their Authentication Database entry) can change passwords as often
+as desired. Setting a minimum time between password changes is not
+recommended.
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Names each database server machine running an Authentication Server with
+which the local Authentication Server is to synchronize its copy of the
+Authentication Database, rather than with the machines listed in the local
+\&\fI/usr/afs/etc/CellServDB\fR file.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following \fBbos create\fR command creates a \f(CW\*(C`kaserver\*(C'\fR process on
+\&\f(CW\*(C`fs3.abc.com\*(C'\fR (the command appears on two lines here only for
+legibility):
+.PP
+.Vb 2
+\& % bos create \-server fs3.abc.com \-instance kaserver \e
+\& \-type simple \-cmd /usr/afs/bin/kaserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIAuthLog\fR\|(5),
+\&\fIBosConfig\fR\|(5),
+\&\fICellServDB\fR\|(5),
+\&\fIkaserver.DB0\fR\|(5),
+\&\fIkaserverauxdb\fR\|(5),
+\&\fIbos\fR\|(8),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIkas\fR\|(8),
+\&\fIkdb\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KDB 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KDB 8"
++.TH KDB 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kdb \- Displays log or privileged actions performed by the Authentication Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkdb\fR [\fB\-dbmfile\fR\ <\fIdbmfile\ to\ use\ (default\ /usr/afs/logs/AuthLog)\fR>]
+ [\fB\-key\fR\ <\fIextract\ entries\ that\ match\ specified\ key\fR>] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkdb\fR command displays the contents of the \fIAuthLog.dir\fR and
+\&\fIAuthLog.pag\fR files associated with the \fIAuthLog\fR file that resides on
+the local disk, by default in the \fI/usr/afs/logs\fR directory. The files
+must exist in that directory, which normally implies that the
+Authentication Server is running on the machine. The files contain
+information on privileged actions performed by the Authentication Server.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+It is possible that on some operating systems that \s-1AFS\s0 otherwise supports,
+the Authentication Server cannot create the \fI/usr/afs/logs/AuthLog.dir\fR
+and \fI/usr/afs/logs/AuthLog.pag\fR files, making this command
+inoperative. See the \fI\s-1IBM\s0 \s-1AFS\s0 Release Notes\fR for details.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-dbmfile\fR <\fIdbmfile to use\fR>" 4
+.IX Item "-dbmfile <dbmfile to use>"
+Specifies the pathname of the file to display. Provide either a complete
+pathname, a pathname relative to the \fI/usr/afs/logs\fR directory, or a
+filename only, in which case the file must reside in the \fI/usr/afs/logs\fR
+directory. Omit this argument to display information from the
+\&\fIAuthLog.dir\fR and \fIAuthLog.pag\fR files in the \fI/usr/afs/logs\fR directory.
+.IP "\fB\-key\fR <\fIextract entries that match specified key\fR>" 4
+.IX Item "-key <extract entries that match specified key>"
+Specifies each entry to be displayed from the indicated file.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of output indicates the location of the files from which
+the subsequent information is derived:
+.PP
+.Vb 1
+\& Printing all entries found in <file_location>
+.Ve
+.PP
+Each entry then includes the following two fields, separated by a colon:
+.IP "user/server" 4
+.IX Item "user/server"
+Identifies the user requesting the corresponding service and the server
+that performed that service. In cases where no user is directly involved,
+only the server appears; in cases where no server is directly involved,
+only the user appears.
+.IP "service" 4
+.IX Item "service"
+Identifies one of the following actions or services performed by the user
+or server process.
+.RS 4
+.IP "\(bu" 4
+\&\f(CW\*(C`auth\*(C'\fR: Obtained a ticket-granting ticket.
+.IP "\(bu" 4
+\&\f(CW\*(C`chp\*(C'\fR: Changed a user password.
+.IP "\(bu" 4
+\&\f(CW\*(C`cruser\*(C'\fR: Created a user entry in the Authentication Database.
+.IP "\(bu" 4
+\&\f(CW\*(C`delu\*(C'\fR: Deleted a user entry from the Authentication Database.
+.IP "\(bu" 4
+\&\f(CW\*(C`gtck\*(C'\fR: Obtained a ticket other than a ticket-granting ticket.
+.IP "\(bu" 4
+\&\f(CW\*(C`setf\*(C'\fR: Set fields in an Authentication Database entry.
+.IP "\(bu" 4
+\&\f(CW\*(C`unlok\*(C'\fR: Unlocked an Authentication Database entry.
+.RE
+.RS 4
+.RE
+.PP
+The final line of output sums the number of entries.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows the output of the \fBkdb\fR command in the \s-1ABC\s0
+Corporation cell (\f(CW\*(C`abc.com\*(C'\fR):
+.PP
+.Vb 7
+\& % kdb
+\& Printing all entries found in /usr/afs/logs/AuthLog
+\& admin,krbtgt.ABC.COM:auth
+\& admin,afs:gtck
+\& admin:cruser
+\& admin:delu
+\& 4 entries were found
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIAuthLog.dir\fR\|(5),
+\&\fIbos_getlog\fR\|(8),
+\&\fIkaserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH KPWVALID 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "KPWVALID 8"
++.TH KPWVALID 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+kpwvalid \- Checks quality of new password
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBkpwvalid\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBkpwvalid\fR command checks the quality of a new password passed to it
+from the \fBkpasswd\fR or \fBkas setpassword\fR command. It is optional. If it
+exists, it must reside in the same \s-1AFS\s0 directory as the binaries for the
+\&\fBkpasswd\fR and \fBkas\fR command suites (create a symbolic link from the
+client machine's local disk to this directory). The directory's \s-1ACL\s0 must
+extend the \f(CW\*(C`a\*(C'\fR (administer) and \f(CW\*(C`w\*(C'\fR (write) permissions to the
+system:administrators group only. These requirements prevent unauthorized
+users from substituting a spurious \fBkpwvalid\fR binary.
+.PP
+The \s-1AFS\s0 distribution includes an example \fBkpwvalid\fR program that checks
+that the password is at least eight characters long; the code for it
+appears in \s-1EXAMPLES\s0 below.
+.PP
+The script or program must accept a sequence of password strings, one per
+line, on the standard input stream. The first is the current password and
+is ignored. Each subsequent string is a candidate password to be
+checked. The program must write the following to the standard output
+stream for each one:
+.IP "\(bu" 4
+\&\f(CW0\fR (zero) and a newline character to indicate that the password is
+acceptable.
+.IP "\(bu" 4
+A non-zero decimal number and a newline character to indicate that the
+password is not acceptable.
+.PP
+Further, it must write any error messages only to the standard error
+stream, not to the standard output stream.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example program, included in the \s-1AFS\s0 distribution, verifies
+that the requested password includes eight or more characters.
+.PP
+.Vb 6
+\& #include <stdio.h>
+\& /* prints 0 if the password is long enough, otherwise non\-zero */
+\& main()
+\& {
+\& char oldpassword[512];
+\& char password[512];
+\&
+\& if (fgets(oldpassword, 512, stdin))
+\& while (fgets(password, 512, stdin)) {
+\& if (strlen(password) > 8) { /* password includes a newline */
+\& fputs("0\en",stdout);
+\& fflush(stdout);
+\& }
+\& else {
+\& fputs("Passwords must contain at least 8 characters.\en",
+\& stderr);
+\& fputs("1\en",stdout);
+\& fflush(stdout);
+\& }
+\& return 0;
+\& }
+.Ve
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIkas_setpassword\fR\|(8),
+\&\fIkpasswd\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PACKAGE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PACKAGE 8"
++.TH PACKAGE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+package \- Configures files and directories on the local disk
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpackage\fR [\fIinitcmd\fR] [\fB\-config\fR\ <\fIbase\ name\ of\ configuration\ file\fR>]
+ [\fB\-fullconfig\fR\ <\fIfull\ name\ of\ configuration\ file,\ or\ stdin\fR>]
+ [\fB\-overwrite\fR] [\fB\-noaction\fR] [\fB\-verbose\fR] [\fB\-silent\fR]
+ [\fB\-rebootfiles\fR] [\fB\-debug\fR] [\fB\-help\fR]
+.PP
+\&\fBpackage\fR [\fBi\fR] [\fB\-c\fR\ <\fIbase\ name\ of\ configuration\ file\fR>]
+ [\fB\-f\fR\ <\fIfull\ name\ of\ configuration\ file,\ or\ stdin\fR>]
+ [\fB\-o\fR] [\fB\-n\fR] [\fB\-v\fR] [\fB\-s\fR] [\fB\-r\fR] [\fB\-d\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpackage\fR command configures the machine's local disk to comply with
+the instructions in the configuration file named by the \fB\-config\fR or
+\&\fB\-fullconfig\fR argument.
+.PP
+By default, the package command alters any existing local disk element
+whose contents or configuration does not match the element defined in the
+configuration file. For example, if a configuration file \f(CW\*(C`D\*(C'\fR instruction
+defines a directory that has the same name as a symbolic link on the local
+disk, the \fBpackage\fR command replaces the symbolic link with the
+directory. The \f(CW\*(C`F\*(C'\fR and \f(CW\*(C`L\*(C'\fR instructions include an optional
+\&\fIupdate_code\fR field that alters this behavior.
+.PP
+Also by default, the package command takes no action on elements on the
+local disk that are not mentioned in the configuration file. Use the \f(CW\*(C`D\*(C'\fR
+instruction's \f(CW\*(C`R\*(C'\fR update code to remove files from the disk directory
+that are not mentioned in the configuration file.
+.PP
+Before running the package command, the administrator must create the
+template file and other files on the local disk. For instructions, see the
+\&\fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR.
+.PP
+It is not possible to configure a remote client machine's disk using this
+command.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The package command interpreter exits without executing any instruction if
+there are any syntax errors or incorrect values in the configuration file.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fIinitcmd\fR]" 4
+.IX Item "[initcmd]"
+Accommodates the command's use of the \s-1AFS\s0 command parser, and is optional.
+.IP "\fB\-config\fR <\fIbase name of configuration file\fR>" 4
+.IX Item "-config <base name of configuration file>"
+Specifies the pathname of the configuration file to use, ending in the
+file's base name, which omits the suffix that indicates the machine
+type. The \fBpackage\fR command determines the machine's system type name and
+automatically appends it to the base name. An example of the proper value
+for this argument is \f(CW\*(C`staff\*(C'\fR rather than \f(CW\*(C`staff.rs_aix42\*(C'\fR. Partial
+pathnames are interpreted relative to the current working directory.
+.Sp
+Provide this argument or the \fB\-fullconfig\fR argument.
+.IP "\fB\-fullconfig\fR <\fIfull name of configuration file, or stdin\fR>" 4
+.IX Item "-fullconfig <full name of configuration file, or stdin>"
+Specifies the configuration file to use. Two types of values are
+acceptable:
+.RS 4
+.IP "\(bu" 4
+The full pathname of the configuration file to use, complete with an
+extension indicating the machine type (examples: \f(CW\*(C`staff.rs_aix42\*(C'\fR,
+\&\f(CW\*(C`admin.sun4x_56\*(C'\fR).
+.IP "\(bu" 4
+The string \f(CW\*(C`stdin\*(C'\fR to indicate that the issuer is providing configuration
+information via the standard input stream, either by piping in the
+contents of a file, or by typing configuration lines at the shell. In the
+latter case, type Ctrl-D to conclude the input.
+.RE
+.RS 4
+.Sp
+Provide this argument or the \fB\-config\fR argument.
+.RE
+.IP "\fB\-overwrite\fR" 4
+.IX Item "-overwrite"
+Overwrites elements on the local disk with the source version indicated in
+the configuration file, even if the owner write (\f(CW\*(C`w\*(C'\fR) mode bit is turned
+on the disk element. Files protected by the \f(CW\*(C`I\*(C'\fR update code on an \f(CW\*(C`F\*(C'\fR
+line in the configuration file are not overwritten.
+.IP "\fB\-noaction\fR" 4
+.IX Item "-noaction"
+Checks the sequence of operations to be performed when the command
+actually runs and reports any problems that the \fBpackage\fR command
+interpreter expects to encounter. No elements on the local disk or in \s-1AFS\s0
+are changed. If the \fB\-verbose\fR flag is also provided, the trace includes
+all actions to be performed as well as anticipated errors.
+.IP "\fB\-silent\fR" 4
+.IX Item "-silent"
+Suppresses some of the trace messages sent to the standard output stream
+by default. The output still reports major problems.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-rebootfiles\fR" 4
+.IX Item "-rebootfiles"
+Prevents overwriting of any file marked with the \f(CW\*(C`Q\*(C'\fR update code on an
+\&\f(CW\*(C`F\*(C'\fR line in the configuration file. This effectively prevents the machine
+from rebooting automatically again when the \fBpackage\fR command is invoked
+in the machine's \s-1AFS\s0 initialization file.
+.IP "\fB\-debug\fR" 4
+.IX Item "-debug"
+Enables debugging output, which is directed to the standard output stream
+by default. By default, no debugging output is produced.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+This command is usually invoked in a client machine's \s-1AFS\s0 initialization
+file (\fI/etc/rc\fR or equivalent), rather than issued at the command shell
+prompt.
+.PP
+The following command invokes the version of the staff configuration file
+appropriate for this machine's system type, and produces verbose output.
+.PP
+.Vb 1
+\& # /etc/package \-c staff \-v
+.Ve
+.PP
+The following example uses the configuration file whose basename is
+defined in the \fI/.package\fR file on the local machine. This method enables
+the administrator to use the same \fBpackage\fR command in every machine's
+\&\s-1AFS\s0 initialization file but still customize configuration by putting the
+appropriate basename in the \fI/.package\fR file.
+.PP
+.Vb 1
+\& # /etc/package \-c \`cat /.package\` \-v
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIpackage\fR\|(5)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PRDB_CHECK 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PRDB_CHECK 8"
++.TH PRDB_CHECK 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+prdb_check \- Checks the integrity of the Protection Database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBprdb_check\fR \fB\-database\fR\ <\fIptdb\ file\fR> [\fB\-uheader\fR] [\fB\-pheader\fR]
+ [\fB\-entries\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBprdb_check\fR \fB\-d\fR\ <\fIptdb\ file\fR> [\fB\-u\fR] [\fB\-p\fR] [\fB\-e\fR] [\fB\-v\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBprdb_check\fR command checks the integrity of the Protection Database,
+reporting any errors or corruption it finds. If there are problems, do not
+issue any \fBpts\fR commands until the database is repaired.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The results can be unpredictable if the Protection Server makes changes to
+the Protection Database while this command is running. Use the \fBbos
+shutdown\fR command to shutdown the local \fBptserver\fR process before running
+this command, or before creating a second copy of the \fIprdb.DB0\fR file
+(with a different name) on which to run the command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-database\fR <\fIptdb file\fR>" 4
+.IX Item "-database <ptdb file>"
+Names the Protection Database (copy of the \fIprdb.DB0\fR file) to check. If
+the current working directory is not the location of the file, provide a
+pathname, either full or relative to the current working directory.
+.IP "\fB\-uheader\fR" 4
+.IX Item "-uheader"
+Displays information which Ubik maintains in the database's header.
+.IP "\fB\-pheader\fR" 4
+.IX Item "-pheader"
+Displays information which the Protection Server maintains in the
+database's header.
+.IP "\fB\-entries\fR" 4
+.IX Item "-entries"
+Outputs every entry in the database. Some of the information is similar to
+that returned by the \fBpts examine\fR command.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Reports additional information about the database, including the number of
+entries in the database and a trace of the internal database structures
+the command is verifying.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If there are errors in the database, the output always reports them on the
+standard error stream. If any options other than \fB\-database\fR or \fB\-help\fR
+are provided, the output written to the standard output stream includes
+additional information as described for each option in \s-1OPTIONS\s0. The
+output is intended for debugging purposes and is meaningful to someone
+familiar with the internal structure of the Protection Database.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIprdb.DB0\fR\|(5),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIpts_examine\fR\|(1),
+\&\fIptserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH PT_UTIL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PT_UTIL 8"
++.TH PT_UTIL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+pt_util \- Load or dump a Protection Server database
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBpt_util\fR
+ [\fB\-w\fR] [\fB\-user\fR] [\fB\-group\fR]
+ [\fB\-members\fR] [\fB\-name\fR] [\fB\-system\fR]
+ [\fB\-xtra\fR] [\fB\-prdb\fR\ <\fIprdb\ file\fR>]
+ [\fB\-datafile\fR\ <\fIdata\ file\fR>] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBpt_util\fR command can be used to load or dump the protection
+database. It should only be used when \fBptserver\fR is not running.
+.PP
+The most likely reason to use it is to initialize the protection database
+when bringing up a new cell. The current syntax for this, presented
+below, needs improvement. \fBpt_util\fR can also be used when problems are
+suspected with the database. It can be used to dump the database or
+portions thereof, in several different ways, and to reload it.
+.PP
+The textual representation of the database has the following form:
+For users,
+.PP
+.Vb 1
+\& name flags/quota viceid ownerid creatorid
+.Ve
+.PP
+For groups,
+.PP
+.Vb 2
+\& name flags/quota viceid ownerid creatorid
+\& a\-username a\-user\-viceid
+.Ve
+.PP
+The second line is repeated for each member of the group. When reading
+the database, membership is not reported unless \fB\-members\fR is also
+included.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+If you don't specify any options, the only thing you'll learn is the ubik
+database epoch and version.
+.IP "\fB\-w\fR" 4
+.IX Item "-w"
+Write to the protection database instead of reading. Only the file
+arguments make sense in combination with this argument.
+.IP "\fB\-user\fR" 4
+.IX Item "-user"
+When reading, display users.
+.IP "\fB\-group\fR" 4
+.IX Item "-group"
+When reading, display groups (but not necessarily members).
+.IP "\fB\-members\fR" 4
+.IX Item "-members"
+When reading, display groups and also group members.
+.IP "\fB\-name\fR" 4
+.IX Item "-name"
+When reading,
+follow name hashes, instead of id hashes.
+This may print different information if the database was corrupted.
+Otherwise, it should print exactly the same information, except
+in a different order.
+.IP "\fB\-system\fR" 4
+.IX Item "-system"
+When reading, display system data, or more precisely, do not display
+entries with a viced <= \-32768 or >= +97537.
+.IP "\fB\-xtra\fR" 4
+.IX Item "-xtra"
+When reading, display extra users and groups, or more precisely, do not
+display entries that are in the range \-32767...+97536 inclusive.
+.IP "\fB\-prdb\fR <\fIprdb file\fR>" 4
+.IX Item "-prdb <prdb file>"
+Specifies the complete pathname of the file in which the Protection
+Database resides. Provide the complete name, including the ending
+\&\fI.DB0\fR.
+.IP "\fB\-datafile\fR <\fIdata file\fR>" 4
+.IX Item "-datafile <data file>"
+Specify the file to which to dump (or \fB\-w\fR from which to read) textual
+database records.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The file dump format does not include supergroup information, so should
+not be used if you have and are using groups within groups.
+.PP
+In all cases, entry timestamps and other information is also not
+preserved.
+.PP
+The epoch and version are reported on standard error. On little-endian
+machines, they'll be byte swapped, so may be very random.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example shows how to initialize the database from scratch.
+.PP
+Before you do this, make sure \fBptserver\fR is not running. If you have
+multiple database servers, make sure \fIprdb.*\fR does not exist on any
+server machine.
+.PP
+Now, type this in \s-1EXACTLY\s0, including the leading space on the line
+indicated. But do use Control-D at the end, not up-arrow D.
+.PP
+.Vb 5
+\& pt_util \-w
+\& admin 128/20 1 \-204 \-204
+\& system:administrators 130/20 \-204 \-204 \-204
+\& admin 1
+\& ^D
+.Ve
+.PP
+You will see this:
+.PP
+.Vb 10
+\& # pt_util \-w
+\& pt_util: /usr/afs/db/prdb.DB0: Bad UBIK_MAGIC. Is 0 should be 354545
+\& Ubik Version is: 2.0
+\& admin 128/20 1 \-204 \-204
+\& system:administrators 130/20 \-204 \-204 \-204
+\& Error while creating system:administrators: Entry for id already exists
+\& admin 1
+\& pt_util: Ubik Version number changed during execution.
+\& Old Version = 2.0, new version = 33554432.0
+\& #
+.Ve
+.PP
+To make a complete copy of the database,
+.PP
+.Vb 1
+\& # pt_util \-user \-members \-datafile /tmp/out
+.Ve
+.PP
+To load from the complete copy,
+.PP
+.Vb 1
+\& # pt_util \-w \-datafile /tmp/out
+.Ve
+.PP
+Don't do this until you read cautions, above.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to use \fBpt_util\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIprdb.DB0\fR\|(5),
+\&\fIptserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+The following copyright covers this documentation:
+.PP
+Copyright (c) 2005 The Regents of the University of Michigan. \s-1ALL\s0 \s-1RIGHTS\s0
+\&\s-1RESERVED\s0.
+.PP
+Permission is granted to use, copy, create derivative works and
+redistribute this software and such derivative works for any purpose, so
+long as the name of the University of Michigan is not used in any
+advertising or publicity pertaining to the use or distribution of this
+software without specific, written prior authorization. If the above
+copyright notice or any other identification of the University of Michigan
+is included in any copy of any portion of this software, then the
+disclaimer below must also be included.
+.PP
+This software is provided as is, without representation from the
+University of Michigan as to its fitness for any purpose, and without
+warranty by the University of Michigan of any kind, either express or
+implied, including without limitation the implied warranties of
+merchantability and fitness for a particular purpose. The regents of the
+University of Michigan shall not be liable for any damages, including
+special, indirect, incidental, or consequential damages, with respect to
+any claim arising out of or in connection with the use of the software,
+even if it has been or is hereafter advised of the possibility of such
+damages.
--- /dev/null
- .TH PTSERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "PTSERVER 8"
++.TH PTSERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+ptserver \- Initializes the Protection Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBptserver\fR [\fB\-database\fR\ <\fIdb\ path\fR>] [\fB\-p\fR\ <\fInumber\ of\ processes\fR>] [\fB\-d\fR\ <\fIdebug\ level\fR>]
+ [\fB\-rebuildDB\fR] [\fB\-groupdepth\fR\ <\fI#\ of\ nested\ groups\fR>]
+ [\fB\-default_access\fR\ <\fIuser\ access\ mask\fR>\ <\fIgroup\ access\ mask\fR>]
+ [\fB\-restricted\fR] [\fB\-enable_peer_stats\fR]
+ [\fB\-enable_process_stats\fR] [\fB\-allow\-dotted\-principals\fR]
+ [\fB\-auditlog\fR\ <\fIfile\ path\fR>]
+ [\fB\-syslog\fR[=<\fI\s-1FACILITY\s0\fR>]] [\fB\-rxmaxmtu\fR\ <\fIbytes\fR>]
+ [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBptserver\fR command initializes the Protection Server, which must run
+on every database server machine. In the conventional configuration, its
+binary file is located in the \fI/usr/afs/bin\fR directory on a file server
+machine.
+.PP
+The ptserver command is not normally issued at the command shell prompt,
+but rather placed into a database server machine's
+\&\fI/usr/afs/local/BosConfig\fR file with the \fBbos create\fR command. If it is
+ever issued at the command shell prompt, the issuer must be logged onto a
+file server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+The Protection Server performs the following tasks:
+.IP "\(bu" 4
+Maintains the Protection Database, which contains entries for every user
+and group in the cell. Use the \fBpts\fR commands to administer the database.
+.IP "\(bu" 4
+Allocates \s-1AFS\s0 IDs for new user, machine and group entries and maps each \s-1ID\s0
+to the corresponding name.
+.IP "\(bu" 4
+Generates a current protection subgroup (\s-1CPS\s0) at the File Server's
+request. The \s-1CPS\s0 lists all groups to which a user or machine belongs.
+.PP
+When using Kerberos 5, cross-realm authentication is possible. If the
+special pts group system:authuser@FOREIGN.REALM exists and its group quota
+is greater than zero, \fBaklog\fR will automatically create an entry for the
+foreign user in the local \s-1PTS\s0 database and add the foreign user to the
+system:authuser@FOREIGN.REALM \s-1PTS\s0 group. Each time a foreign user is
+created in the local \s-1PTS\s0 database, the group quota for the
+system:authuser@FOREIGN.REALM \s-1PTS\s0 group is decremented by one.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-d\fR <\fIdebug level\fR>" 4
+.IX Item "-d <debug level>"
+Sets the detail level for the debugging trace written to the
+\&\fI/usr/afs/logs/PtLog\fR file. Provide one of the following values, each
+of which produces an increasingly detailed trace: \f(CW0\fR, \f(CW1\fR, \f(CW5\fR, \f(CW25\fR,
+and \f(CW125\fR.
+.IP "\fB\-database\fR <\fIdb path\fR>, \fB\-db\fR <\fIdb path\fR>" 4
+.IX Item "-database <db path>, -db <db path>"
+Specifies the pathname of an alternate directory in which the Protection
+Database files reside. Provide the complete pathname, ending in the base
+filename to which the \f(CW\*(C`.DB0\*(C'\fR and \f(CW\*(C`.DBSYS1\*(C'\fR extensions are appended. For
+example, the appropriate value for the default database files is
+\&\fI/usr/afs/db/prdb\fR.
+.IP "\fB\-p\fR <\fInumber of processes\fR>" 4
+.IX Item "-p <number of processes>"
+Sets the number of server lightweight processes (LWPs) to run. Provide a
+positive integer from the range \f(CW3\fR to \f(CW16\fR. The default value is \f(CW3\fR.
+.IP "\fB\-rebuildDB\fR" 4
+.IX Item "-rebuildDB"
+Rebuilds the Protection Database at the beginning of Protection Server
+initialization. Use this argument only in consultation with \s-1AFS\s0
+Development or Product Support.
+.IP "\fB\-groupdepth\fR <\fI# of nested groups\fR>, \fB\-depth\fR <\fI# of nested groups\fR>" 4
+.IX Item "-groupdepth <# of nested groups>, -depth <# of nested groups>"
+Specifies the group depth for nested groups when \fBptserver\fR is compiled
+with the \s-1SUPERGROUPS\s0 option enabled. The default depth for nested groups
+is 5. This option may be shortened to \fB\-depth\fR.
+.IP "\fB\-default_access\fR <\fIuser access\fR> <\fIgroup access\fR>" 4
+.IX Item "-default_access <user access> <group access>"
+Specifies the default user and group privacy flags to apply to each
+entry. Provide a string of five characters, one for each of the
+permissions. See \fIpts_examine\fR\|(1) or \fIpts_setfields\fR\|(1) for more
+information on the flags.
+.IP "\fB\-restricted\fR" 4
+.IX Item "-restricted"
+Run the \s-1PT\s0 Server in restricted mode. While in restricted mode, only
+members of the system:administrators \s-1PTS\s0 group may make any \s-1PTS\s0 changes.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-allow\-dotted\-principals\fR" 4
+.IX Item "-allow-dotted-principals"
+By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos
+principals with a dot in the first component of their name. This is to
+avoid the confusion where principals user/admin and user.admin are both
+mapped to the user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't
+have these collisions between principal names may disabled this check
+by starting the server with this option.
+.IP "\fB\-syslog\fR[=<\fIsyslog facility\fR>]" 4
+.IX Item "-syslog[=<syslog facility>]"
+Specifies that logging output should go to syslog instead of the normal
+log file. \fB\-syslog\fR=\fI\s-1FACILITY\s0\fR can be used to specify to which facility
+the log message should be sent. Logging message sent to syslog are tagged
+with the string \*(L"ptserver\*(R".
+.IP "\fB\-auditlog\fR <\fIfile path\fR>" 4
+.IX Item "-auditlog <file path>"
+Specifies the full pathname for the \fBAuditLog\fR file.
+.Sp
+item \fB\-rxmaxmtu\fR <\fIbytes\fR>
+.Sp
+Sets the maximum transmission unit for the \s-1RX\s0 protocol.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following \fBbos create\fR command creates a \f(CW\*(C`ptserver\*(C'\fR process on the
+machine \f(CW\*(C`fs3.abc.com\*(C'\fR. The command appears here on multiple lines only
+for legibility.
+.PP
+.Vb 2
+\& % bos create \-server fs3.abc.com \-instance ptserver \e
+\& \-type simple \-cmd /usr/afs/bin/ptserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIprdb.DB0\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIpts\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH READ_TAPE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "READ_TAPE 8"
++.TH READ_TAPE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+read_tape \- Reads volume dumps from a backup tape to a file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBread_tape\fR \fB\-tape\fR\ <\fItape\ device\fR>
+ \fB\-restore\fR\ <\fI#\ of\ volumes\ to\ restore\fR>
+ \fB\-skip\fR\ <\fI#\ of\ volumes\ to\ skip\fR>
+ \fB\-file\fR\ <\fIfilename\fR> [\fB\-scan\fR] [\fB\-noask\fR] [\fB\-label\fR]
+ [\fB\-vheaders\fR] [\fB\-verbose\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBread_tape\fR reads an OpenAFS backup tape and prompts for each dump file to
+save. This command does not require any OpenAFS infrastructure. This
+command does not need an OpenAFS client or server to be available, which is
+not the case with the \fIbackup\fR\|(8) command.
+.PP
+The dump files will be named for the Read/Write name of the volume restored.
+After saving each dump file, \fBvos restore\fR or \fBrestorevol\fR can be used to
+restore the volume into \s-1AFS\s0 and non-AFS space respectively.
+.PP
+\&\fBread_tape\fR reads the tape while skipping the specified number of volumes.
+After that, it restores the specified number of volumes. \fBread_tape\fR
+doesn't rewind the tape so that it may be used multiple times in succession.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-tape\fR <\fItape device\fR>" 4
+.IX Item "-tape <tape device>"
+Specifies the tape device from which to restore.
+.IP "\fB\-restore\fR <\fI# of volumes to restore\fR>" 4
+.IX Item "-restore <# of volumes to restore>"
+Specifies the number of volumes to restore from tape.
+.IP "\fB\-skip\fR <\fI# of volumes to skip\fR>" 4
+.IX Item "-skip <# of volumes to skip>"
+Specifies the number of volumes to skip before starting the restore.
+.IP "\fB\-file\fR <\fIfilename\fR>" 4
+.IX Item "-file <filename>"
+Specifies an alternate name for the restored volume dump file rather than
+the default of the volume name.
+.IP "\fB\-scan\fR" 4
+.IX Item "-scan"
+Scans the tape.
+.IP "\fB\-noask\fR" 4
+.IX Item "-noask"
+Doesn't prompt for each volume.
+.IP "\fB\-label\fR" 4
+.IX Item "-label"
+Displays the full dump label.
+.IP "\fB\-vheaders\fR" 4
+.IX Item "-vheaders"
+Displays the full volume headers.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command will read the third through fifth volumes from
+the tape device /dev/tape without prompting:
+.PP
+.Vb 1
+\& % read_tape \-tape /dev/tape \-skip 2 \-restore 3 \-noask
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have access to read and write to the specified tape device.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbackup\fR\|(8),
+\&\fIrestorevol\fR\|(8),
+\&\fIvos_restore\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH RESTOREVOL 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "RESTOREVOL 8"
++.TH RESTOREVOL 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+restorevol \- Restore a volume from vos dump to the local file system
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBrestorevol\fR [\fB\-file\fR\ <\fIdump\ file\fR>] [\fB\-dir\fR\ <\fIrestore\ dir\fR>\ ]
+ [\fB\-extension\fR\ <\fIname\ extension\fR>]
+ [\fB\-mountpoint\fR\ <\fImount\ point\ root\fR>]
+ [\fB\-umask\fR\ <\fImode\ mask\fR>] [\fB\-verbose\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBrestorevol\fR takes an \s-1AFS\s0 volume in the format produced by \fBvos dump\fR
+and restores it to the local file system. Normally, the contents of a
+volume are maintained by the \s-1AFS\s0 File Server in an opaque format and
+copying a volume's raw data does not make it easily accessible. This
+utility will produce a directory tree that is equivalent to that seen via
+an \s-1AFS\s0 client, but without preserving the AFS-specific Access Control
+Lists (ACLs). It's primary use is to recover data from a volume dump or
+backup and make it available via a filesystem other than \s-1AFS\s0.
+.PP
+The dump output will read from standard input, or from a file if \fB\-file\fR
+is specified.
+.PP
+The restore process is as follows:
+.IP "1." 4
+The dump file will be restored within the current directory or that
+specified with \fB\-dir\fR.
+.IP "2." 4
+Within this directory, a subdir is created. It's name is the \s-1RW\s0 volume
+name that was dumped. An extension can be appended to this directory name
+with \fB\-extension\fR.
+.IP "3." 4
+All mountpoints will appear as symbolic links to the volume name. The
+path name to the volume will be either that in \fB\-mountpoint\fR, or \fB\-dir\fR.
+Symbolic links remain untouched.
+.IP "4." 4
+You can change your umask during the restore with \fB\-umask\fR. Otherwise,
+\&\fBrestorevol\fR uses your current umask. Mode bits for directories are 0777
+(then \s-1AND\s0'ed with the umask). Mode bits for files are the owner mode bits
+duplicated accross group and user (then \s-1AND\s0'ed with the umask).
+.IP "5." 4
+For restores of full dumps, if a directory says it has a file and the file
+is not found, then a symbolic link \fIAFSFile\-<#>\fR will appear in that
+restored tree. Restores of incremental dumps remove all these files at
+the end (expensive because it is a tree search).
+.IP "6." 4
+If a file or directory was found in the dump but found not to be connected
+to the hierarchical tree, then the file or directory will be connected at
+the root of the tree as \fI_\|_ORPHANEDIR_\|_.<#>\fR or \fI_\|_ORPHANFILE_\|_.<#>\fR.
+.IP "7." 4
+ACLs are not restored.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Normally, use \fIvos_restore\fR\|(1) instead of this command. \fBrestorevol\fR is
+a tool of last resort to try to extract data from the data structures
+stored in a volume dumpfile and is not as regularly tested or used as the
+normal \fIvos_restore\fR\|(1) implementation. Using \fBrestorevol\fR bypasses
+checks done by the \fIfileserver\fR\|(8) and \fIsalvager\fR\|(8).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-file\fR <\fIdump file\fR>" 4
+.IX Item "-file <dump file>"
+Specifies the output file for the dump. If this option is not given, the
+volume will be dumped to standard output.
+.IP "\fB\-dir\fR <\fIrestore dir\fR>" 4
+.IX Item "-dir <restore dir>"
+Names the directory in which to create the restored filesystem. The
+current directory is used by default. Note that any mountpoints inside
+the volume will point to the same directory unless the \fB\-mountpoint\fR
+option is also specified.
+.IP "\fB\-extension\fR <\fIname extension\fR>" 4
+.IX Item "-extension <name extension>"
+By default, the name of the directory created matches the \s-1RW\s0 volume name
+of the volume in the dump file. If this option is used, the directory
+name will be the \s-1RW\s0 volume name \fIname extension\fR as the suffix.
+.IP "\fB\-mountpoint\fR <\fImount point root\fR>" 4
+.IX Item "-mountpoint <mount point root>"
+By default, mountpoints inside the volume being restored point to the
+value given by \fI\-dir\fR. This option allows mountpoints to be resolved
+relative to another path. A common use for this would be to specify a
+path under \fI/afs\fR as the mount point root so that mountpoints inside the
+restored volume would be resolved via \s-1AFS\s0.
+.Sp
+The \fImount point root\fR must exist, and the process running the command
+have read access to that directory, or the command will fail.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command restores the contents of the dumpfile in
+\&\fIsample.dump\fR to the directory \fI/tmp/sample.2009\-05\-17\fR, but having all
+mountpoints inside the volume point to \s-1AFS\s0 (note that this requires
+knowledge of where \fIsample\fR is mounted in \s-1AFS\s0):
+.PP
+.Vb 3
+\& % restorevol \-file sample.dump \-dir /tmp \-extension .2009\-05\-17 \e
+\& \-mountpoint /afs/example.org/sample
+\& Restoring volume dump of \*(Aqsample\*(Aq to directory \*(Aq/tmp/sample.2009\-05\-17\*(Aq
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have read access to the dump file and write access to the
+directory into which the dump is restored. If the \fB\-mountpoint\fR flag is
+given, the issuer must also have read access to that directory.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIsalvager\fR\|(8),
+\&\fIvoldump\fR\|(8),
+\&\fIvos_dump\fR\|(1),
+\&\fIvos_restore\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2009 Steven Jenkins <steven@endpoint.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Steven Jenkins for
+OpenAFS.
--- /dev/null
- .TH RMTSYSD 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "RMTSYSD 8"
++.TH RMTSYSD 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+rmtsysd \- Daemon to execute AFS\-specific system calls for remote hosts
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBrmtsysd\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBrmtsysd\fR is a daemon to execute AFS-specific system calls on behalf of
+\&\s-1NFS\s0 client machines. This daemon only needs to be started if the machine
+is an \s-1NFS/AFS\s0 translator server for users of \s-1NFS\s0 client machines who
+execute \s-1AFS\s0 commands.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The protocol used by this daemon is not considered secure, so this should
+not be used in an environment where security is important.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2009 Steven Jenkins <steven@endpoint.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Steven Jenkins for
+OpenAFS.
--- /dev/null
- .TH SALVAGER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "SALVAGER 8"
++.TH SALVAGER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+salvager \- Initializes the Salvager component of the fs process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBsalvager\fR [\fIinitcmd\fR] [\fB\-partition\fR\ <\fIname\ of\ partition\ to\ salvage\fR>]
+ [\fB\-volumeid\fR\ <\fIvolume\ id\ to\ salvage\fR>] [\fB\-debug\fR] [\fB\-nowrite\fR]
+ [\fB\-inodes\fR] [\fB\-force\fR] [\fB\-oktozap\fR] [\fB\-rootinodes\fR]
+ [\fB\-salvagedirs\fR] [\fB\-blockreads\fR]
+ [\fB\-parallel\fR\ <\fI#\ of\ max\ parallel\ partition\ salvaging\fR>]
+ [\fB\-tmpdir\fR\ <\fIname\ of\ dir\ to\ place\ tmp\ files\fR>]
+ [\fB\-showlog\fR] [\fB\-showsuid\fR] [\fB\-showmounts\fR]
+ [\fB\-orphans\fR\ (ignore\ |\ remove\ |\ attach)] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBsalvager\fR command initializes the Salvager component of the \f(CW\*(C`fs\*(C'\fR
+process. In the conventional configuration, its binary file is located in
+the \fI/usr/afs/bin\fR directory on a file server machine.
+.PP
+The Salvager restores internal consistency to corrupted read/write volumes
+on the local file server machine where possible. For read-only or backup
+volumes, it inspects only the volume header:
+.IP "\(bu" 4
+If the volume header is corrupted, the Salvager removes the volume
+completely and records the removal in its log file,
+\&\fI/usr/afs/logs/SalvageLog\fR. Issue the \fBvos release\fR or \fBvos backup\fR
+command to create the read-only or backup volume again.
+.IP "\(bu" 4
+If the volume header is intact, the Salvager skips the volume (does not
+check for corruption in the contents). However, if the File Server notices
+corruption as it initializes, it sometimes refuses to attach the volume or
+bring it online. In this case, it is simplest to remove the volume by
+issuing the \fBvos remove\fR or \fBvos zap\fR command. Then issue the \fBvos
+release\fR or \fBvos backup\fR command to create it again.
+.PP
+Unlike other server process initialization commands, the \fBsalvager\fR
+command is designed to be issued at the command shell prompt, as well as
+being placed into a file server machine's \fI/usr/afs/local/BosConfig\fR file
+with the \fBbos create\fR command. It is also possible to invoke the Salvager
+remotely by issuing the \fBbos salvage\fR command.
+.PP
+Combine the command's options as indicated to salvage different numbers of
+read/write volumes:
+.IP "\(bu" 4
+To salvage all volumes on the file server machine, provide no arguments.
+No volumes on the machine are accessible to Cache Managers during the
+salvage, because the \s-1BOS\s0 Server stops the File Server and Volume Server
+processes while the Salvager runs.
+.IP "\(bu" 4
+To salvage all of the volumes on one partition, provide the \fB\-partition\fR
+argument. As for a salvage of all volumes on the machine, no volumes on
+the machine are accessible to Cache Managers during the salvage operation.
+.IP "\(bu" 4
+To salvage only one volume, combine the \fB\-partition\fR and \fB\-volumeid\fR
+arguments. Only that volume is inaccessible to Cache Managers, because the
+\&\s-1BOS\s0 Server does not shutdown the File Server and Volume Server processes.
+.PP
+The Salvager normally salvages only those read/write volumes that are
+marked as having been active when a crash occurred. To have it salvage all
+relevant read/write volumes, add the \fB\-force\fR flag.
+.PP
+The Salvager normally creates new inodes as it repairs damage. If the
+partition is so full that there is no room for new inodes, use the
+\&\fB\-nowrite\fR argument to bringing undamaged volumes online without
+attempting to salvage damaged volumes. Then use the \fBvos move\fR command to
+move one or more of the undamaged volumes to other partitions, freeing up
+the space that the Salvager needs to create new inodes.
+.PP
+By default, multiple Salvager subprocesses run in parallel: one for each
+partition up to four, and four subprocesses for four or more
+partitions. To increase or decrease the number of subprocesses running in
+parallel, provide a positive integer value for the \fB\-parallel\fR argument.
+.PP
+If there is more than one server partition on a physical disk, the
+Salvager by default salvages them serially to avoid the inefficiency of
+constantly moving the disk head from one partition to another. However,
+this strategy is often not ideal if the partitions are configured as
+logical volumes that span multiple disks. To force the Salvager to salvage
+logical volumes in parallel as if they were on separate disks, provide the
+string \f(CW\*(C`all\*(C'\fR as the value for the \fB\-parallel\fR argument.
+.PP
+To set both parameters at the same time, append the number of Salvager
+processes to the string \f(CW\*(C`all\*(C'\fR. For example, \f(CW\*(C`\-parallel all5\*(C'\fR treats
+each partition as a separate disk and runs five Salvager processes, thus
+salvaging five partitions at a time.
+.PP
+The Salvager creates temporary files as it runs, by default writing them
+to the partition it is salvaging. The number of files can be quite large,
+and if the partition is too full to accommodate them, the Salvager
+terminates without completing the salvage operation (it always removes the
+temporary files before exiting). Other Salvager subprocesses running at
+the same time continue until they finish salvaging all other partitions
+where there is enough disk space for temporary files. To complete the
+interrupted salvage, reissue the command against the appropriate
+partitions, adding the \fB\-tmpdir\fR argument to redirect the temporary files
+to a local disk directory that has enough space.
+.PP
+The \fB\-orphans\fR argument controls how the Salvager handles orphaned files
+and directories that it finds on server partitions it is salvaging. An
+\&\fIorphaned\fR element is completely inaccessible because it is not
+referenced by the vnode of any directory that can act as its parent (is
+higher in the filespace). Orphaned objects occupy space on the server
+partition, but do not count against the volume's quota.
+.PP
+To generate a list of all mount points that reside in one or more volumes,
+rather than actually salvaging them, include the \fB\-showmounts\fR flag.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fIinitcmd\fR]" 4
+.IX Item "[initcmd]"
+Accommodates the command's use of the \s-1AFS\s0 command parser, and is optional.
+.IP "\fB\-partition\fR <\fIname of partition to salvage\fR>" 4
+.IX Item "-partition <name of partition to salvage>"
+Specifies the name of the partition to salvage. Specify the full partition
+name using the form \fI/vicep\fIx\fI\fR or \fI/vicep\fIxx\fI\fR. Omit this argument to
+salvage every partition on the file server machine.
+.IP "\fB\-volumeid\fR <\fIvolume id to salvage\fR>" 4
+.IX Item "-volumeid <volume id to salvage>"
+Specifies the volume \s-1ID\s0 of a specific read/write volume to salvage. The
+\&\fB\-partition\fR argument must be provided along with this one and specify
+the volume's actual site.
+.IP "\fB\-debug\fR" 4
+.IX Item "-debug"
+Allows only one Salvager subprocess to run at a time, regardless of the
+setting of the \fB\-parallel\fR option. Include it when running the Salvager
+in a debugger to make the trace easier to interpret.
+.IP "\fB\-nowrite\fR" 4
+.IX Item "-nowrite"
+Brings all undamaged volumes online without attempting to salvage any
+damaged volumes.
+.IP "\fB\-inodes\fR" 4
+.IX Item "-inodes"
+Records in the \fI/usr/afs/logs/SalvageLog\fR file a list of all \s-1AFS\s0 inodes
+that the Salvager modified.
+.IP "\fB\-force\fR" 4
+.IX Item "-force"
+Inspects all volumes for corruption, not just those that are marked as
+having been active when a crash occurred.
+.IP "\fB\-oktozap\fR" 4
+.IX Item "-oktozap"
+Removes a volume that is so damaged that even issuing the \fBvos zap\fR
+command with the \fB\-force\fR flag is ineffective. Use this argument only in
+consultation with \s-1AFS\s0 Development or Product Support. Combine it with the
+\&\fB\-partition\fR and \fB\-volumeid\fR arguments to identify the volume to remove.
+.IP "\fB\-rootinodes\fR" 4
+.IX Item "-rootinodes"
+Records in the \fI/usr/afs/logs/SalvageLog\fR file a list of all \s-1AFS\s0 inodes
+owned by the local superuser \f(CW\*(C`root\*(C'\fR.
+.IP "\fB\-salvagedirs\fR" 4
+.IX Item "-salvagedirs"
+Salvages entire directory structures, even if they do not appear to be
+damaged. By default, the Salvager salvages a directory only if it is
+flagged as corrupted.
+.IP "\fB\-blockreads\fR" 4
+.IX Item "-blockreads"
+Forces the Salvager to read a partition one disk block (512 bytes) at a
+time and to skip any blocks that are too badly damaged to be salvaged.
+This allows it to salvage as many volumes as possible. By default, the
+Salvager reads large disk blocks, which can cause it to exit prematurely
+if it encounters disk errors. Use this flag if the partition to be
+salvaged has disk errors.
+.IP "\fB\-parallel\fR <\fI# of max parallel partition salvaging\fR>" 4
+.IX Item "-parallel <# of max parallel partition salvaging>"
+Specifies the maximum number of Salvager subprocesses to run in parallel.
+Provide one of three values:
+.RS 4
+.IP "\(bu" 4
+An integer from the range \f(CW1\fR to \f(CW32\fR. A value of \f(CW1\fR means that a
+single Salvager process salvages the partitions sequentially.
+.IP "\(bu" 4
+The string \f(CW\*(C`all\*(C'\fR to run up to four Salvager subprocesses in parallel on
+partitions formatted as logical volumes that span multiple physical
+disks. Use this value only with such logical volumes.
+.IP "\(bu" 4
+The string \f(CW\*(C`all\*(C'\fR followed immediately (with no intervening space) by an
+integer from the range \f(CW1\fR to \f(CW32\fR, to run the specified number of
+Salvager subprocesses in parallel on partitions formatted as logical
+volumes. Use this value only with such logical volumes.
+.RE
+.RS 4
+.Sp
+The \s-1BOS\s0 Server never starts more Salvager subprocesses than there are
+partitions, and always starts only one process to salvage a single
+volume. If this argument is omitted, up to four Salvager subprocesses run
+in parallel but partitions on the same device are salvaged serially.
+.RE
+.IP "\fB\-tmpdir\fR <\fIname of dir to place tmp files\fR>" 4
+.IX Item "-tmpdir <name of dir to place tmp files>"
+Names a local disk directory in which the Salvager places the temporary
+files it creates during a salvage operation, instead of writing them to
+the partition being salvaged (the default). If the Salvager cannot write
+to the specified directory, it attempts to write to the partition being
+salvaged.
+.IP "\fB\-showlog\fR" 4
+.IX Item "-showlog"
+Displays on the standard output stream all log data that is being written
+to the \fI/usr/afs/logs/SalvageLog\fR file.
+.IP "\fB\-showsuid\fR" 4
+.IX Item "-showsuid"
+Displays a list of the pathnames for all files that have the setuid or
+setgid mode bit set.
+.IP "\fB\-showmounts\fR" 4
+.IX Item "-showmounts"
+Records in the \fI/usr/afs/logs/SalvageLog\fR file all mount points found in
+each volume. The Salvager does not repair corruption in the volumes, if
+any exists.
+.IP "\fB\-orphans\fR (ignore | remove | attach)" 4
+.IX Item "-orphans (ignore | remove | attach)"
+Controls how the Salvager handles orphaned files and directories. Choose
+one of the following three values:
+.RS 4
+.IP "ignore" 4
+.IX Item "ignore"
+Leaves the orphaned objects on the disk, but prints a message to the
+\&\fI/usr/afs/logs/SalvageLog\fR file reporting how many orphans were found and
+the approximate number of kilobytes they are consuming. This is the
+default if the \fB\-orphans\fR argument is omitted.
+.IP "remove" 4
+.IX Item "remove"
+Removes the orphaned objects, and prints a message to the
+\&\fI/usr/afs/logs/SalvageLog\fR file reporting how many orphans were removed
+and the approximate number of kilobytes they were consuming.
+.IP "attach" 4
+.IX Item "attach"
+Attaches the orphaned objects by creating a reference to them in the vnode
+of the volume's root directory. Since each object's actual name is now
+lost, the Salvager assigns each one a name of the following form:
+.RS 4
+.ie n .IP """_\|_ORPHANFILE_\|_.\f(CIindex\f(CW"" for files." 4
+.el .IP "\f(CW_\|_ORPHANFILE_\|_.\f(CIindex\f(CW\fR for files." 4
+.IX Item "__ORPHANFILE__.index for files."
+.PD 0
+.ie n .IP """_\|_ORPHANDIR_\|_.\f(CIindex\f(CW"" for directories." 4
+.el .IP "\f(CW_\|_ORPHANDIR_\|_.\f(CIindex\f(CW\fR for directories." 4
+.IX Item "__ORPHANDIR__.index for directories."
+.RE
+.RS 4
+.PD
+.Sp
+where \fIindex\fR is a two-digit number that uniquely identifies each
+object. The orphans are charged against the volume's quota and appear in
+the output of the \fBls\fR command issued against the volume's root
+directory.
+.RE
+.RE
+.RS 4
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command instructs the Salvager to attempt to salvage the
+volume with volume \s-1ID\s0 258347486 on \fI/vicepg\fR on the local machine.
+.PP
+.Vb 1
+\& % /usr/afs/bin/salvager \-partition /vicepg \-volumeid 258347486
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+To issue the command at the shell prompt, the issuer must be logged in as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fISalvageLog\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIbos_salvage\fR\|(8),
+\&\fIvos_move\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH UPCLIENT 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "UPCLIENT 8"
++.TH UPCLIENT 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+upclient \- Initializes the client portion of the Update Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBupclient\fR\ <\fIhostname\fR> [\fB\-crypt\fR] [\fB\-clear\fR] [\fB\-t\fR\ <\fIretry\ time\fR>]
+ [\fB\-verbose\fR]* <\fIdir\fR>+ [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The upclient command initializes the client portion of the Update
+Server. In the conventional configuration, its binary file is located in
+the \fI/usr/afs/bin\fR directory on a file server machine.
+.PP
+The upclient command is not normally issued at the command shell prompt
+but rather placed into a file server machine's \fI/usr/afs/local/BosConfig\fR
+file with the \fBbos create\fR command. If it is ever issued at the command
+shell prompt, the issuer must be logged onto a database server machine as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+The upclient process periodically checks that all files in each local
+directory named by the \fIdir\fR argument match the files in the
+corresponding directory on the source machine named by the \fIhostname\fR
+argument. If a file does not match, the \fBupclient\fR process requests the
+source copy from the \fBupserver\fR process running on the source machine.
+.PP
+By default, the \fBupclient\fR process requests that the \fBupserver\fR process
+encrypt the data before transferring it. Use the \fB\-clear\fR flag to
+request unencrypted transfer if appropriate. (The \fB\-crypt\fR flag
+explicitly sets the default.)
+.PP
+In the conventional configuration, separate instances of the \fBupclient\fR
+process request data from the \fI/usr/afs/bin\fR and \fI/usr/afs/etc\fR
+directories, except on machines for which the system control machine is
+also the binary distribution machine for the machine's system type. The
+conventional names for the separate instances are \f(CW\*(C`upclientbin\*(C'\fR and
+\&\f(CW\*(C`upclientetc\*(C'\fR respectively.
+.PP
+The \fBupclient\fR and \fBupserver\fR processes always mutually authenticate,
+whether or not the data they pass is encrypted; they use the key with the
+highest key version number in the \fI/usr/afs/etc/KeyFile\fR file to
+construct a server ticket for mutual authentication.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory using the \fB\-clear\fR option. The contents of
+this directory are sensitive.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "<\fIhostname\fR>" 4
+.IX Item "<hostname>"
+Names either the cell's system control machine (if the requested directory
+is \fI/usr/afs/etc\fR), or the binary distribution machine for the local
+machine's \s-1CPU\s0 and operating system type (if the requested directory is
+\&\fI/usr/afs/bin\fR).
+.IP "\fB\-crypt\fR" 4
+.IX Item "-crypt"
+Requests the transfer of data from the upserver process in encrypted
+form. This is the default; this flag just sets the default explicitly.
+Do not use this flag with the \fB\-clear\fR flag.
+.IP "\fB\-clear\fR" 4
+.IX Item "-clear"
+Requests transfer of data from the \fBupserver\fR process in unencrypted
+form. Provide this flag or the \fB\-crypt\fR flag, but not both.
+.IP "\fB\-t\fR <\fIretry time\fR>" 4
+.IX Item "-t <retry time>"
+Specifies how often to check for changes in each specified directory, as a
+number of seconds. If this argument is omitted, the default is \f(CW300\fR (5
+minutes). This argument determines the maximum amount of time it takes for
+a change made on the source machine to propagate to this machine.
+.IP "\fB\-verbose\fR*" 4
+.IX Item "-verbose*"
+Writes a trace of the upclient process's operations on the standard output
+stream, which usually corresponds to the machine console. Provide one,
+two, or three instances of the flag; each additional instance generates
+increasingly numerous and detailed messages.
+.IP "<\fIdir\fR>+" 4
+.IX Item "<dir>+"
+Names each directory to check for modified files. The conventional choices
+are the following:
+.RS 4
+.IP "\(bu" 4
+\&\fI/usr/afs/bin\fR, in which case the recommended name for the process
+(assigned with the \fB\-instance\fR argument to the \fBbos create\fR command) is
+\&\f(CW\*(C`upclientbin\*(C'\fR. The \fIhostname\fR is the binary distribution machine for the
+local machine's system type. You may wish to use the \fB\-clear\fR flag for
+the \fI/usr/afs/bin\fR directory, since binaries are not particularly
+sensitive and encrypting them takes system resources.
+.IP "\(bu" 4
+\&\fI/usr/afs/etc\fR, in which case the recommended name for the process
+(assigned with the \fB\-instance\fR argument to the \fBbos create\fR command) is
+\&\f(CW\*(C`upclientetc\*(C'\fR. The \fIhostname\fR is the cell's system control machine. Use
+the \fB\-crypt\fR flag for the \fI/usr/afs/etc\fR directory, since it contains
+the \fIKeyFile\fR file and other data vital to cell security.
+.RE
+.RS 4
+.RE
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following bos create command creates an \f(CW\*(C`upclientbin\*(C'\fR process on the
+machine \f(CW\*(C`fs4.abc.com\*(C'\fR that refers to the machine \f(CW\*(C`fs1.abc.com\*(C'\fR as the
+source for the \fI/usr/afs/bin\fR directory (thus \f(CW\*(C`fs1.abc.com\*(C'\fR is the
+binary distribution machine for machines of \f(CW\*(C`fs4.abc.com\*(C'\fR's type). The
+files in the \fI/usr/afs/bin\fR directory are distributed every 120 seconds.
+The command requests transfer in unencrypted form.
+.PP
+.Vb 3
+\& % bos create \-server fs4.abc.com \-instance upclientbin \-type simple \e
+\& \-cmd "/usr/afs/bin/upclient fs1.abc.com \-clear \e
+\& \-t 120 /usr/afs/bin"
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIupserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH UPSERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "UPSERVER 8"
++.TH UPSERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+upserver \- Initializes the server portion of the Update Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBupserver\fR [<\fIdirectory\fR>+] [\fB\-crypt\fR\ <\fIdirectory\fR>+]
+ [\fB\-clear\fR\ <\fIdirectory\fR>+] [\fB\-auth\fR\ <\fIdirectory\fR>+] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBupserver\fR command initializes the server portion of the Update
+Server (the \f(CW\*(C`upserver\*(C'\fR process). In the conventional configuration, its
+binary file is located in the \fI/usr/afs/bin\fR directory on a file server
+machine.
+.PP
+The \fBupserver\fR command is not normally issued at the command shell prompt
+but rather placed into a file server machine's \fI/usr/afs/local/BosConfig\fR
+file with the \fBbos create\fR command. If it is ever issued at the command
+shell prompt, the issuer must be logged onto a database server machine as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+The \fBupserver\fR command specifies which of the directories on the local
+disk are eligible for distribution in response to requests from the client
+portion of the Update Server (the \fBupclient\fR process) running on other
+machines. If no directories are specified, the \fBupserver\fR process
+distributes the contents of any directory on its local disk.
+.PP
+The \fBupserver\fR process can distribute a directory's contents in encrypted
+or unencrypted form. By default, it does not use encryption unless an
+\&\fBupclient\fR process requests it (this default is equivalent to setting the
+\&\fB\-clear\fR flag). When the \fB\-crypt\fR flag is provided, the \fBupserver\fR
+process only fulfills requests for encrypted transfer.
+.PP
+The \fBupclient\fR and \fBupserver\fR processes always mutually authenticate,
+whether or not the data they pass is encrypted; they use the key with the
+highest key version number in the \fI/usr/afs/etc/KeyFile\fR file to
+construct a server ticket for mutual authentication.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Do not use the Update Server to distribute the contents of the
+\&\fI/usr/afs/etc\fR directory without the \fB\-crypt\fR flag. The contents of
+this directory are sensitive.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "<\fIdirectory\fR>+" 4
+.IX Item "<directory>+"
+Names each directory to distribute in unencrypted form (because they
+appear before the first \fB\-crypt\fR or \fB\-clear\fR flag on the command
+line). If this argument is omitted, all directories on the machine's local
+disk are eligible for distribution.
+.IP "\fB\-crypt\fR <\fIdirectory\fR>+" 4
+.IX Item "-crypt <directory>+"
+Precedes a list of one or more directories that the \fBupserver\fR process
+distributes only in encrypted form.
+.IP "\fB\-clear\fR <\fIdirectory\fR>+" 4
+.IX Item "-clear <directory>+"
+Precedes a list of one or more directories that the \fBupserver\fR process
+distributes in unencrypted form unless the \fBupclient\fR process requests
+them in encrypted form. Use this argument only if a list of directories
+headed by the \fB\-crypt\fR flag precedes it on the command line.
+.IP "\fB\-auth\fR <\fIdirectory\fR>+" 4
+.IX Item "-auth <directory>+"
+Precedes a list of one or more directories which the upserver process
+distributes using a form of encryption that is intermediate in complexity
+and security between the unencrypted and encrypted levels set by the
+\&\fB\-clear\fR and \fB\-crypt\fR arguments. Do not use this argument, because the
+\&\fBupclient\fR process does not have a corresponding argument that it can use
+to request data transfer at this level.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example bos create command defines and starts an \fBupserver\fR
+process on the host machine \f(CW\*(C`fs1.abc.com\*(C'\fR. The last parameter (enclosed
+in quotes) instructs the \fBupserver\fR process to distribute the contents of
+the \fI/usr/afs/bin\fR directory in unencrypted form and the contents of the
+\&\fI/usr/afs/etc\fR directory in encrypted form.
+.PP
+.Vb 2
+\& % bos create \-server fs1.abc.com \-instance upserver \-type simple \e
+\& \-cmd "/usr/afs/bin/upserver /usr/afs/bin \-crypt /usr/afs/etc"
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIupclient\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS 8"
++.TH USS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss \- Introduction to the uss command suite
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The commands in the \fBuss\fR command suite help administrators to create \s-1AFS\s0
+user accounts more easily and efficiently. If \fBuss\fR commands are not
+used, creating an account requires issuing at least six separate commands
+to five different \s-1AFS\s0 servers.
+.PP
+There are three main commands in the suite:
+.IP "\(bu" 4
+The \fBuss add\fR command creates a single complete user account, based on
+command line arguments and instructions in a template file.
+.IP "\(bu" 4
+The \fBuss bulk\fR command creates multiple complete accounts at once, based
+on command line arguments, instructions in a template file and a bulk
+input file.
+.IP "\(bu" 4
+The \fBuss delete\fR command removes most parts of a user account.
+.PP
+To obtain help, issue the \fBuss apropos\fR and \fBuss help\fR commands.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+The following arguments and flags are available on many commands in the
+\&\fBuss\fR suite. The reference page for each command also lists them, but
+they are described here in greater detail.
+.IP "\fB\-admin\fR <\fIadministrator to authenticate\fR>" 4
+.IX Item "-admin <administrator to authenticate>"
+Specifies the \s-1AFS\s0 user name under which to establish a connection to the
+\&\s-1AFS\s0 server processes that administer the various parts of a user
+account. If it is omitted, the connection is established under the
+issuer's effective user \s-1ID\s0 (his or her identity in the local file
+system). Even when this argument is included, \s-1UNIX\s0 commands that run
+during the \fBuss\fR operation (for instance, the \s-1UNIX\s0 \fI/etc/chown\fR command)
+run under the effective user \s-1ID\s0.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Names the cell in which to run the command. It is acceptable to abbreviate
+the cell name to the shortest form that distinguishes it from the other
+entries in the \fI/usr/vice/etc/CellServDB\fR file on the local machine. If
+the \fB\-cell\fR argument is omitted, the command interpreter determines the
+name of the local cell by reading the following in order:
+.RS 4
+.IP "\(bu" 4
+The value of the \s-1AFSCELL\s0 environment variable.
+.IP "\(bu" 4
+The local \fI/usr/vice/etc/ThisCell\fR file.
+.RE
+.RS 4
+.RE
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Reports actions that the command interpreter needs to perform when
+executing the \fBuss\fR operation, without actually performing them. Include
+this flag to verify that the command produces the desired account
+configuration. Combine it with the \fB\-verbose\fR flag to yield even more
+detailed information. Note that the output does not necessarily reveal all
+possible problems that can prevent successful execution of the command,
+especially those that result from transient server or network outages.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints a command's online help message on the standard output stream. Do
+not combine this flag with any of the command's other options; when it is
+provided, the command interpreter ignores all other options, and only
+prints the help message.
+.IP "\fB\-skipauth\fR" 4
+.IX Item "-skipauth"
+Bypasses mutual authentication with the \s-1AFS\s0 Authentication Server, allowing
+a site that uses Kerberos instead of the \s-1AFS\s0 Authentication Server to
+substitute that form of authentication. If this option is given, \fBuss\fR does
+not create or manipulate Kerberos principals. A Kerberos principal must be
+created separately from the \fBuss add\fR command.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer of a \fBuss\fR command must have all the rights required for
+performing the equivalent actions individually. See each \fBuss\fR command's
+reference page.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIuss\fR\|(5),
+\&\fIuss_bulk\fR\|(5),
+\&\fIuss_add\fR\|(8),
+\&\fIuss_apropos\fR\|(8),
+\&\fIuss_bulk\fR\|(8),
+\&\fIuss_delete\fR\|(8),
+\&\fIuss_help\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS_ADD 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS_ADD 8"
++.TH USS_ADD 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss_add \- Creates a user account
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBuss add\fR \fB\-user\fR\ <\fIlogin\ name\fR> [\fB\-realname\fR\ <\fIfull\ name\ in\ quotes\fR>]
+ [\fB\-pass\fR\ <\fIinitial\ password\fR>]
+ [\fB\-pwexpires\fR <\fIpassword expires in [0..254] days (0 => never)\fR>]
+ [\fB\-server\fR\ <\fIfile\ server\ for\ home\ volume\fR>]
+ [\fB\-partition\fR\ <\fIfile\ server's\ disk\ partition\ for\ home\ volume\fR>]
+ [\fB\-mount\fR\ <\fIhome\ directory\ mount\ point\fR>]
+ [\fB\-uid\fR\ <\fIuid\ to\ assign\ the\ user\fR>]
+ [\fB\-template\fR\ <\fIpathname\ of\ template\ file\fR>]
+ [\fB\-verbose\fR] [\fB\-var\fR\ <\fIauxiliary\ argument\ pairs\ (Num\ val)\fR>+]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>] [\fB\-admin\fR\ <\fIadministrator\ to\ authenticate\fR>]
+ [\fB\-dryrun\fR] [\fB\-skipauth\fR] [\fB\-overwrite\fR] [\fB\-help\fR]
+.PP
+\&\fBuss ad\fR \fB\-us\fR\ <\fIlogin\ name\fR> [\fB\-r\fR\ <\fIfull\ name\ in\ quotes\fR>]
+ [\fB\-pas\fR\ <\fIinitial\ password\fR>]
+ [\fB\-pw\fR <\fIpassword expires in [0..254] days (0 => never)\fR>]
+ [\fB\-se\fR\ <\fIFileServer\ for\ home\ volume\fR>]
+ [\fB\-par\fR\ <\fIFileServer's\ disk\ partition\ for\ home\ volume\fR>]
+ [\fB\-m\fR\ <\fIhome\ directory\ mount\ point\fR>]
+ [\fB\-ui\fR\ <\fIuid\ to\ assign\ the\ user\fR>]
+ [\fB\-t\fR\ <\fIpathname\ of\ template\ file\fR>] [\fB\-ve\fR]
+ [\fB\-va\fR\ <\fIauxiliary\ argument\ pairs\ (Num\ val)\fR>+] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-a\fR\ <\fIadministrator\ to\ authenticate\fR>] [\fB\-d\fR] [\fB\-sk\fR] [\fB\-o\fR]
+ [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBuss add\fR command creates entries in the Protection Database and
+Authentication Database for the user name specified by the \fB\-user\fR
+argument. By default, the Protection Server automatically allocates an \s-1AFS\s0
+user \s-1ID\s0 (\s-1UID\s0) for the new user; to specify an alternate \s-1AFS\s0 \s-1UID\s0, include
+the \fB\-uid\fR argument. If a password is provided with the \fB\-pass\fR
+argument, it is stored as the user's password in the Authentication
+Database after conversion into a form suitable for use as an encryption
+key. Otherwise, the string \f(CW\*(C`changeme\*(C'\fR is assigned as the user's initial
+password.
+.PP
+The other results of the command depend on which instructions and which of
+a defined set of variables appear in the template file specified with the
+\&\fB\-template\fR argument. Many of the command's arguments supply a value for
+one of the defined variables, and failure to provide an argument when the
+corresponding variable appears in the template file halts the account
+creation process at the point where the command interpreter first
+encounters the variable in the template file.
+.PP
+To create multiple accounts with a single command, use the \fBuss bulk\fR
+command. To delete accounts with a single command, use the \fBuss delete\fR
+command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-user\fR <\fIlogin name\fR>" 4
+.IX Item "-user <login name>"
+Names the user's Authentication Database and Protection Database
+entries. It can include up to eight alphanumeric characters, but not any
+of the following characters: \f(CW\*(C`:\*(C'\fR (colon), \f(CW\*(C`@\*(C'\fR (at-sign), \f(CW\*(C`.\*(C'\fR (period),
+space, or newline. Because it becomes the username (the name under which a
+user logs in), it is best not to include shell metacharacters and to obey
+the restrictions that many operating systems impose on usernames (usually,
+to contain no more than eight lowercase letters).
+.Sp
+Corresponding variable in the template file: \f(CW$USER\fR.
+.IP "\fB\-realname\fR <\fIfull name in quotes\fR>" 4
+.IX Item "-realname <full name in quotes>"
+Specifies the user's full name. If it contains spaces or punctuation,
+surround it with double quotes. If not provided, it defaults to the user
+name provided with the \fB\-user\fR argument.
+.Sp
+Corresponding variable in the template file: \f(CW$NAME\fR. Many operating systems
+include a field for the full name in a user's entry in the local password
+file (\fI/etc/passwd\fR or equivalent), and this variable can be used to pass
+a value to be used in that field.
+.IP "\fB\-pass\fR <\fIinitial password\fR>" 4
+.IX Item "-pass <initial password>"
+Specifies the user's initial password. Although the \s-1AFS\s0 commands that
+handle passwords accept strings of virtually unlimited length, it is best
+to use a password of eight characters or less, which is the maximum length
+that many applications and utilities accept. If not provided, this
+argument defaults to the string \f(CW\*(C`changeme\*(C'\fR.
+.Sp
+Corresponding variable in the template file: none.
+.IP "\fB\-pwexpires\fR <\fIpassword expiration\fR>" 4
+.IX Item "-pwexpires <password expiration>"
+Sets the number of days after a user's password is changed that it remains
+valid. Provide an integer from the range \f(CW1\fR through \f(CW254\fR to specify
+the number of days until expiration, or the value \f(CW0\fR to indicate that
+the password never expires (the default).
+.Sp
+When the password becomes invalid (expires), the user is unable to
+authenticate, but has 30 more days in which to issue the \fBkpasswd\fR
+command to change the password (after that, only an administrator can
+change it).
+.Sp
+Corresponding variable in the template file: \f(CW$PWEXPIRES\fR.
+.IP "\fB\-server\fR <\fIfile server name\fR>" 4
+.IX Item "-server <file server name>"
+Names the file server machine on which to create the new user's volume. It
+is best to provide a fully qualified hostname (for example,
+\&\f(CW\*(C`fs1.abc.com\*(C'\fR), but an abbreviated form is acceptable provided that the
+cell's naming service is available to resolve it at the time the volume is
+created.
+.Sp
+Corresponding variable in the template file: \f(CW$SERVER\fR.
+.IP "\fB\-partition\fR <\fIfile server partition\fR>" 4
+.IX Item "-partition <file server partition>"
+Specifies the partition on which to create the user's volume; it must be
+on the file server machine named by the \fB\-server\fR argument. Provide the
+complete partition name (for example \fI/vicepa\fR) or one of the following
+abbreviated forms:
+.Sp
+.Vb 2
+\& /vicepa = vicepa = a = 0
+\& /vicepb = vicepb = b = 1
+.Ve
+.Sp
+After \fI/vicepz\fR (for which the index is 25) comes
+.Sp
+.Vb 2
+\& /vicepaa = vicepaa = aa = 26
+\& /vicepab = vicepab = ab = 27
+.Ve
+.Sp
+and so on through
+.Sp
+.Vb 1
+\& /vicepiv = vicepiv = iv = 255
+.Ve
+.Sp
+Corresponding variable in the template file: \f(CW$PART\fR.
+.IP "\fB\-mount\fR <\fIhome directory mount point\fR>" 4
+.IX Item "-mount <home directory mount point>"
+Specifies the pathname for the user's home directory. Partial pathnames
+are interpreted relative to the current working directory.
+.Sp
+Specify the read/write path to the directory, to avoid the failure that
+results from attempting to create a new mount point in a read-only
+volume. By convention, the read/write path is indicated by placing a
+period before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the \fBfs mkmount\fR reference
+page.
+.Sp
+Corresponding variable in template: \f(CW$MTPT\fR, but in the template file's \f(CW\*(C`V\*(C'\fR
+instruction only. Occurrences of the \f(CW$MTPT\fR variable in template
+instructions that follow the \f(CW\*(C`V\*(C'\fR instruction take their value from the
+\&\f(CW\*(C`V\*(C'\fR instruction's \fImount_point\fR field. Thus the value of this command
+line argument becomes the value for the \f(CW$MTPT\fR variable in instructions
+that follow the \f(CW\*(C`V\*(C'\fR instruction only if the string \f(CW$MTPT\fR appears alone in
+the \f(CW\*(C`V\*(C'\fR instruction's \fImount_point\fR field.
+.IP "\fB\-uid\fR <\fIuid to assign the user\fR>" 4
+.IX Item "-uid <uid to assign the user>"
+Specifies a positive integer other than 0 (zero) to assign as the user's
+\&\s-1AFS\s0 \s-1UID\s0. If this argument is omitted, the Protection Server assigns an \s-1AFS\s0
+\&\s-1UID\s0 that is one greater than the current value of the \f(CW\*(C`max user id\*(C'\fR
+counter (use the \fBpts listmax\fR command to display the counter). If
+including this argument, it is best first to use the \fBpts examine\fR
+command to verify that no existing account already has the desired \s-1AFS\s0
+\&\s-1UID\s0; it one does, the account creation process terminates with an error.
+.Sp
+Corresponding variable in the template file: \f(CW$UID\fR.
+.IP "\fB\-template\fR <\fIpathname of template file\fR>" 4
+.IX Item "-template <pathname of template file>"
+Specifies the pathname of the template file. If this argument is omitted,
+the command interpreter searches the following directories in the
+indicated order for a file called \f(CW\*(C`uss.template\*(C'\fR:
+.RS 4
+.IP "\(bu" 4
+The current working directory.
+.IP "\(bu" 4
+\&\fI/afs/\fIcellname\fI/common/uss\fR, where \fIcellname\fR names the local cell.
+.IP "\(bu" 4
+\&\fI/etc\fR
+.RE
+.RS 4
+.Sp
+If the issuer provides a filename other than \f(CW\*(C`uss.template\*(C'\fR but without a
+pathname, the command interpreter searches for it in the indicated
+directories. If the issuer provides a full or partial pathname, the
+command interpreter consults the specified file only; it interprets
+partial pathnames relative to the current working directory.
+.Sp
+If the specified template file is empty (zero-length), the command creates
+Protection and Authentication Database entries only.
+.Sp
+\&\fIuss\fR\|(5) details the file's format.
+.RE
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-var\fR <\fIauxilliary argument pairs\fR>" 4
+.IX Item "-var <auxilliary argument pairs>"
+Specifies values for each of the number variables \f(CW$1\fR through \f(CW$9\fR that can
+appear in the template file. Use the number variables to assign values to
+variables in the \fBuss\fR template file that are not part of the standard
+set.
+.Sp
+Corresponding variables in the template file: \f(CW$1\fR through \f(CW$9\fR.
+.Sp
+For each instance of this argument, provide two parts in the indicated
+order, separated by a space:
+.RS 4
+.IP "\(bu" 4
+The integer from the range \f(CW1\fR through \f(CW9\fR that matches the variable in
+the template file. Do not precede it with a dollar sign.
+.IP "\(bu" 4
+A string of alphanumeric characters to assign as the value of the
+variable.
+.RE
+.RS 4
+.Sp
+See the chapter on uss in the \fI\s-1IBM\s0 \s-1AFS\s0 Administration Guide\fR for further
+explanation.
+.RE
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the cell in which to run the command. For more details, see
+\&\fIuss\fR\|(8).
+.IP "\fB\-admin\fR <\fIadministrator to authenticate\fR>" 4
+.IX Item "-admin <administrator to authenticate>"
+Specifies the \s-1AFS\s0 user name under which to establish authenticated
+connections to the \s-1AFS\s0 server processes that maintain the various
+components of a user account. For more details, see \fIuss\fR\|(8).
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Reports actions that the command interpreter needs to perform while
+executing the command, without actually performing them. For more details,
+see \fIuss\fR\|(8).
+.IP "\fB\-skipauth\fR" 4
+.IX Item "-skipauth"
+Prevents authentication with the \s-1AFS\s0 Authentication Server, allowing a
+site using Kerberos to substitute that form of authentication.
+.IP "\fB\-overwrite\fR" 4
+.IX Item "-overwrite"
+Overwrites any directories, files and links that exist in the file system
+and for which there are definitions in \f(CW\*(C`D\*(C'\fR, \f(CW\*(C`E\*(C'\fR, \f(CW\*(C`F\*(C'\fR, \f(CW\*(C`L\*(C'\fR, or \f(CW\*(C`S\*(C'\fR
+instructions in the template file named by the \fB\-template\fR argument. If
+this flag is omitted, the command interpreter prompts once for
+confirmation that it is to overwrite all such elements.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The combination of the following example uss add command and \f(CW\*(C`V\*(C'\fR
+instruction in a template file called \f(CW\*(C`uss.tpl\*(C'\fR creates Protection and
+Authentication Database entries named \f(CW\*(C`smith\*(C'\fR, and a volume called
+\&\f(CW\*(C`user.smith\*(C'\fR with a quota of 2500 kilobyte blocks, mounted at the
+pathname \fI/afs/abc.com/usr/smith\fR. The access control list (\s-1ACL\s0) on the
+mount point grants \f(CW\*(C`smith\*(C'\fR all rights.
+.PP
+The issuer of the \fBuss add\fR command provides only the template file's
+name, not its complete pathname, because it resides in the current working
+directory. The command and \f(CW\*(C`V\*(C'\fR instruction appear here on two lines only
+for legibility; there are no line breaks in the actual instruction or
+command.
+.PP
+.Vb 2
+\& V user.$USER $SERVER.abc.com /vice$PART $1 \e
+\& /afs/abc.com/usr/$USER $UID $USER all
+\&
+\& % uss add \-user smith \-realname "John Smith" \-pass js_pswd \e
+\& \-server fs2 \-partition b \-template uss.tpl \-var 1 2500
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer (or the user named by the \fB\-admin\fR argument) must belong to
+the system:administrators group in the Protection Database and must have
+the \f(CW\*(C`ADMIN\*(C'\fR flag turned on in his or her Authentication Database entry.
+.PP
+If the template contains a \f(CW\*(C`V\*(C'\fR instruction, the issuer must be listed in
+the \fI/usr/afs/etc/UserList\fR file and must have at least \f(CW\*(C`a\*(C'\fR (administer)
+and \f(CW\*(C`i\*(C'\fR (insert) permissions on the \s-1ACL\s0 of the directory that houses the
+new mount point. If the template file includes instructions for creating
+other types of objects (directories, files or links), the issuer must have
+each privilege necessary to create them.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIuss\fR\|(5),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIuss\fR\|(8),
+\&\fIuss_bulk\fR\|(8),
+\&\fIuss_delete\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS_APROPOS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS_APROPOS 8"
++.TH USS_APROPOS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss_apropos \- Displays each help entry containing a keyword string.
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBuss apropos\fR \fB\-topic\fR\ <\fIhelp\ string\fR> [\fB\-help\fR]
+.PP
+\&\fBuss ap\fR \fB\-t\fR\ <\fIhelp\ string\fR> [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBuss apropos\fR command displays the first line of the online help
+entry for any \fBuss\fR command that has in its name or short description the
+string specified by the \fB\-topic\fR argument.
+.PP
+To display the syntax for a command, use the \fBuss help\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Specifies the keyword string to match, in lowercase letters only. If the
+string is more than a single word, surround it with double quotes (\f(CW""\fR)
+or other delimiters.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The first line of a command's online help entry names it and briefly
+describes its function. This command displays the first line for any
+\&\fBuss\fR command where the string specified by the \fB\-topic\fR argument is
+part of the command name or first line.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command lists all uss commands that include the word
+\&\f(CW\*(C`create\*(C'\fR in their names or short descriptions:
+.PP
+.Vb 2
+\& % uss apropos create
+\& add: create a new user
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIuss\fR\|(8),
+\&\fIuss_help\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS_BULK 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS_BULK 8"
++.TH USS_BULK 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss_bulk \- Executes multiple uss commands listed in a file
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBuss bulk\fR \fB\-file\fR\ <\fIbulk\ input\ file\fR>
+ [\fB\-template\fR\ <\fIpathname\ of\ template\ file\fR>] [\fB\-verbose\fR]
+ [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-admin\fR\ <\fIadministrator\ to\ authenticate\fR>] [\fB\-dryrun\fR]
+ [\fB\-skipauth\fR] [\fB\-overwrite\fR]
+ [\fB\-pwexpires\fR <\fIpassword expires in [0..254] days (0 =\fR never)>>]
+ [\fB\-pipe\fR] [\fB\-help\fR]
+.PP
+\&\fBuss b\fR \fB\-f\fR\ <\fIbulk\ input\ file\fR> [\fB\-t\fR\ <\fIpathname\ of\ template\ file\fR>]
+ [\fB\-v\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-a\fR\ <\fIadministrator\ to\ authenticate\fR>] [\fB\-d\fR] [\fB\-s\fR]
+ [\fB\-o\fR] [\fB\-pw\fR <\fIpassword expires in [0..254] days (0 =\fR never)>>]
+ [\fB\-pi\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBuss bulk\fR command executes the uss commands listed in the \fIbulk
+input file\fR specified with the \fB\-file\fR argument. If the bulk input file
+includes \fBadd\fR instructions that reference a template file, then the
+\&\fB\-template\fR argument is required.
+.PP
+To create a single account, use the \fBuss add\fR command. To delete one or
+more accounts, use the \fBuss delete\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-file\fR <\fIbulk input file\fR>" 4
+.IX Item "-file <bulk input file>"
+Specifies the pathname of the bulk input file. Partial pathnames are
+interpreted relative to the current working directory. For details on the
+file's format, see \fIuss_bulk\fR\|(5).
+.IP "\fB\-template\fR <\fIpathname of template file\fR>" 4
+.IX Item "-template <pathname of template file>"
+Specifies the pathname of the template file for any uss add commands that
+appear in the bulk input file. Partial pathnames are interpreted relative
+to the current working directory. For details on the file's format, see
+\&\fIuss\fR\|(5).
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the cell in which to run the command. For more details, see
+\&\fIuss\fR\|(8).
+.IP "\fB\-admin\fR <\fIadministrator to authenticate\fR>" 4
+.IX Item "-admin <administrator to authenticate>"
+Specifies the \s-1AFS\s0 user name under which to establish authenticated
+connections to the \s-1AFS\s0 server processes that maintain the various
+components of a user account. For more details, see \fIuss\fR\|(8).
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Reports actions that the command interpreter needs to perform while
+executing the command, without actually performing them. For more details,
+see \fIuss\fR\|(8).
+.IP "\fB\-skipauth\fR" 4
+.IX Item "-skipauth"
+Prevents authentication with the \s-1AFS\s0 Authentication Server, allowing a
+site using Kerberos to substitute that form of authentication.
+.IP "\fB\-overwrite\fR" 4
+.IX Item "-overwrite"
+Overwrites any directories, files and links that exist in the file system
+and for which there are also \f(CW\*(C`D\*(C'\fR, \f(CW\*(C`E\*(C'\fR, \f(CW\*(C`F\*(C'\fR, \f(CW\*(C`L\*(C'\fR, or \f(CW\*(C`S\*(C'\fR instructions
+in a template file referenced by an \f(CW\*(C`add\*(C'\fR instruction in the bulk input
+file. If this flag is omitted, the command interpreter prompts, once for
+each \f(CW\*(C`add\*(C'\fR instruction in the bulk input file, for confirmation that it
+should overwrite such elements. Do not include this flag if the bulk input
+file does not contain \f(CW\*(C`add\*(C'\fR instructions.
+.IP "\fB\-pwexpires\fR <\fIpassword expiration\fR>" 4
+.IX Item "-pwexpires <password expiration>"
+Sets the number of days after a user's password is changed that it remains
+valid, for each user named by an \f(CW\*(C`add\*(C'\fR instruction in the bulk input
+file. Provide an integer from the range \f(CW1\fR through \f(CW254\fR to specify the
+number of days until expiration, or the value \f(CW0\fR to indicate that the
+password never expires (the default).
+.Sp
+When the password becomes invalid (expires), the user is unable to
+authenticate, but has 30 more days in which to issue the \fBkpasswd\fR
+command to change the password (after that, only an administrator can
+change it).
+.IP "\fB\-pipe\fR" 4
+.IX Item "-pipe"
+Suppresses the Authentication Server's prompt for the password of the
+issuer or the user named by the \fB\-admin\fR argument (the Authentication
+Server always separately authenticates the creator of an entry in the
+Authentication Database). Instead, the command interpreter accepts the
+password via the standard input stream, as piped in from another
+program. This enables the \fBuss bulk\fR command to run as part of unattended
+batch jobs.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following example command executes the instructions in the bulk input
+file called \fInew_students\fR, which includes \f(CW\*(C`add\*(C'\fR instructions that refer
+to the template file \fIstudent.template\fR. Both files reside in the current
+working directory.
+.PP
+.Vb 1
+\& % uss bulk new_students student.template
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer (or the user named by the \fB\-admin\fR argument) must have the
+privileges necessary to run the commands that correspond to instructions
+in the bulk input file.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIuss\fR\|(5),
+\&\fIuss_bulk\fR\|(5),
+\&\fIuss\fR\|(8),
+\&\fIuss_add\fR\|(8),
+\&\fIuss_delete\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS_DELETE 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS_DELETE 8"
++.TH USS_DELETE 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss_delete \- Deletes a user account
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBuss delete\fR \fB\-user\fR\ <\fIlogin\ name\fR>
+ [\fB\-mountpoint\fR\ <\fImountpoint\ for\ user's\ volume\fR>]
+ [\fB\-savevolume\fR] [\fB\-verbose\fR] [\fB\-cell\fR\ <\fIcell\ name\fR>]
+ [\fB\-admin\fR\ <\fIadministrator\ to\ authenticate\fR>] [\fB\-dryrun\fR]
+ [\fB\-skipauth\fR] [\fB\-help\fR]
+.PP
+\&\fBuss d\fR \fB\-u\fR\ <\fIlogin\ name\fR> [\fB\-m\fR\ <\fImountpoint\ for\ user's\ volume\fR>]
+ [\fB\-sa\fR] [\fB\-v\fR] [\fB\-c\fR\ <\fIcell\ name\fR>]
+ [\fB\-a\fR\ <\fIadministrator\ to\ authenticate\fR>] [\fB\-d\fR] [\fB\-sk\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBuss delete\fR command removes the Authentication Database and
+Protection Database entries for the user named by \fB\-user\fR argument. In
+addition, it can remove the user's home volume and associated \s-1VLDB\s0 entry,
+a mount point for the volume or both, depending on whether the
+\&\fB\-mountpoint\fR and \fB\-savevolume\fR options are provided.
+.IP "\(bu" 4
+To remove both the volume and mount point, use the \fB\-mountpoint\fR argument
+to name the user's home directory. It is best to create a tape backup of a
+volume before deleting it. Note that other mount points for the volume are
+not removed, if they exist.
+.IP "\(bu" 4
+To remove the mount point only, provide both the \fB\-mountpoint\fR and
+\&\fB\-savevolume\fR options.
+.IP "\(bu" 4
+To preserve both the volume and mount point, omit the \fB\-mountpoint\fR
+argument (or both it and the \fB\-savevolume\fR flag).
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-user\fR <\fIlogin name\fR>" 4
+.IX Item "-user <login name>"
+Names the entry to delete from the Protection and Authentication
+Databases.
+.IP "\fB\-mountpoint\fR <\fImountpoint for the user's volume\fR>" 4
+.IX Item "-mountpoint <mountpoint for the user's volume>"
+Specifies the pathname to the user's home directory, which is deleted from
+the filespace. By default, the volume referenced by the mount point is
+also removed from the file server machine that houses it, along with its
+Volume Location Database (\s-1VLDB\s0) entry. To retain the volume and \s-1VLDB\s0
+entry, include the \fB\-savevolume\fR flag. Partial pathnames are interpreted
+relative to the current working directory.
+.Sp
+Specify the read/write path to the mount point, to avoid the failure that
+results from attempting to remove a mount point from a read-only
+volume. By convention, the read/write path is indicated by placing a
+period before the cell name at the pathname's second level (for example,
+\&\fI/afs/.abc.com\fR). For further discussion of the concept of read/write and
+read-only paths through the filespace, see the \fBfs mkmount\fR reference
+page.
+.IP "\fB\-savevolume\fR" 4
+.IX Item "-savevolume"
+Preserves the user's volume and \s-1VLDB\s0 entry.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.IP "\fB\-cell\fR <\fIcell name\fR>" 4
+.IX Item "-cell <cell name>"
+Specifies the cell in which to run the command. For more details, see
+\&\fIuss\fR\|(8).
+.IP "\fB\-admin\fR <\fIadministrator to authenticate\fR>" 4
+.IX Item "-admin <administrator to authenticate>"
+Specifies the \s-1AFS\s0 user name under which to establish authenticated
+connections to the \s-1AFS\s0 server processes that maintain the various
+components of a user account. For more details, see \fIuss\fR\|(8).
+.IP "\fB\-dryrun\fR" 4
+.IX Item "-dryrun"
+Reports actions that the command interpreter needs to perform while
+executing the command, without actually performing them. For more details,
+see \fIuss\fR\|(8).
+.IP "\fB\-skipauth\fR" 4
+.IX Item "-skipauth"
+Prevents authentication with the \s-1AFS\s0 Authentication Server, allowing a
+site using Kerberos to substitute that form of authentication.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command removes smith's user account from the \f(CW\*(C`abc.com\*(C'\fR
+cell. The \fB\-savevolume\fR argument retains the \f(CW\*(C`user.smith\*(C'\fR volume on its
+file server machine.
+.PP
+.Vb 1
+\& % uss delete smith \-mountpoint /afs/abc.com/usr/smith \-savevolume
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer (or the user named by \fB\-admin\fR argument) must belong to the
+system:administrators group in the Protection Database, must have the
+\&\f(CW\*(C`ADMIN\*(C'\fR flag turned on in his or her Authentication Database entry, and
+must have at least \f(CW\*(C`a\*(C'\fR (administer) and \f(CW\*(C`d\*(C'\fR (delete) permissions on the
+access control list (\s-1ACL\s0) of the mount point's parent directory. If the
+\&\fB\-savevolume\fR flag is not included, the issuer must also be listed in the
+\&\fI/usr/afs/etc/UserList\fR file.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIUserList\fR\|(5),
+\&\fIfs_mkmount\fR\|(1),
+\&\fIuss\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH USS_HELP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "USS_HELP 8"
++.TH USS_HELP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+uss_help \- Displays help for uss commands
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBuss help\fR [\fB\-topic\fR\ <\fIhelp\ string\fR>+] [\fB\-help\fR]
+.PP
+\&\fBuss h\fR [\fB\-t\fR\ <\fIhelp\ string\fR>+] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBuss help\fR command displays the complete online help entry (short
+description and syntax statement) for each command operation code
+specified by the \fB\-topic\fR argument. If the \fB\-topic\fR argument is omitted,
+the output includes the first line (name and short description) of the
+online help entry for every \fBuss\fR command.
+.PP
+To list every uss command whose name or short description includes a
+specified keyword, use the \fBuss apropos\fR command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-topic\fR <\fIhelp string\fR>+" 4
+.IX Item "-topic <help string>+"
+Indicates each command for which to display the complete online help
+entry. Omit the \fBuss\fR part of the command name, providing only the
+operation code (for example, specify \fBbulk\fR, not \fBuss bulk\fR). If this
+argument is omitted, the output briefly describes every \fBuss\fR command.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+The online help entry for each uss command consists of the following two
+or three lines:
+.IP "\(bu" 4
+The first line names the command and briefly describes its function.
+.IP "\(bu" 4
+The second line lists aliases for the command, if any.
+.IP "\(bu" 4
+The final line, which begins with the string \f(CW\*(C`Usage\*(C'\fR, lists the command's
+options in the prescribed order. Online help entries use the same symbols
+(for example, brackets) as the reference pages in this document.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command displays the online help entry for the \fBuss bulk\fR
+command:
+.PP
+.Vb 7
+\& % uss help bulk
+\& uss bulk: bulk input mode
+\& Usage: uss bulk \-file <bulk input file> [\-template <pathname
+\& of template file>] [\-verbose] [\-cell <cell name>] [\-admin
+\& <administrator to authenticate>] [\-dryrun] [\-skipauth] [\-overwrite]
+\& [\-pwexpires <password expires in [0..254] days (0 => never)>] [\-pipe]
+\& [\-help]
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+None
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIuss\fR\|(8),
+\&\fIuss_apropos\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VLDB_CHECK 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VLDB_CHECK 8"
++.TH VLDB_CHECK 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vldb_check \- Checks the integrity of the VLDB
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvldb_check\fR \fB\-database\fR\ <\fIvldb\ file\fR> [\fB\-uheader\fR] [\fB\-vheader\fR]
+ [\fB\-servers\fR] [\fB\-entries\fR] [\fB\-quiet\fR | \fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvldb_check\fR \fB\-d\fR\ <\fIvldb\ file\fR> [\fB\-u\fR] [\fB\-vh\fR] [\fB\-s\fR] [\fB\-e\fR]
+ [\fB\-ve\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvldb_check\fR command checks the integrity of the Volume Location
+Database (\s-1VLDB\s0), reporting any errors or corruption it finds. If there
+are problems, do not issue any \fBvos\fR commands until the database is
+repaired.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+The results can be unpredictable if the Volume Location (\s-1VL\s0) Server makes
+changes to the \s-1VLDB\s0 while this command is running. Use the \fBbos shutdown\fR
+command to shutdown the local \fBvlserver\fR process before running this
+command, or before creating a second copy of the \fIvldb.DB0\fR file (with a
+different name) on which to run the command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-database\fR <\fIvldb file\fR>" 4
+.IX Item "-database <vldb file>"
+Names the \s-1VLDB\s0 (copy of the \fIvldb.DB0\fR file) to check. If the current
+working directory is not the location of the file, provide a pathname,
+either full or relative to the current working directory.
+.IP "\fB\-uheader\fR" 4
+.IX Item "-uheader"
+Displays information which Ubik maintains in the database's header.
+.IP "\fB\-pheader\fR" 4
+.IX Item "-pheader"
+Displays information which the \s-1VL\s0 Server maintains in the database's
+header.
+.IP "\fB\-servers\fR <\fIauthentication servers\fR>+" 4
+.IX Item "-servers <authentication servers>+"
+Outputs the server entries from the \s-1VLDB\s0, which list the \s-1IP\s0 addresses
+registered for each file server machine in the cell.
+.IP "\fB\-entries\fR" 4
+.IX Item "-entries"
+Outputs every volume entry in the database. The information includes the
+volume's name and the volume \s-1ID\s0 number for each of its versions.
+.IP "\fB\-quiet\fR" 4
+.IX Item "-quiet"
+Blocks output from going to stdout. Output to stderr is not blocked. Cannot
+be used with \-verbose, \-uheader, \-servers or \-entries.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Reports additional information about the database, including the number of
+entries for each type of volume. Cannot be used with \-quiet.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If there are errors in the database, the output always reports them on the
+standard error stream. If any options other than \fB\-database\fR or \fB\-help\fR
+are provided, the output written to the standard output stream includes
+additional information as described for each option in \s-1OPTIONS\s0. The
+output is intended for debugging purposes and is meaningful to someone
+familiar with the internal structure of the \s-1VLDB\s0.
+.PP
+The \fB\-quiet\fR option can be used to supress the standard output stream
+so that the command can be used more easily inside scripts.
+.PP
+The command exits with one of the following completion codes:
+.PP
+0: No errors or warnings have been encountered.
+1: One or more warnings encountered.
+2: One or more warnings and/or errors encountered.
+4: A fatal or internal error has occurred and the program cannot proceed.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvldb.DB0\fR\|(5),
+\&\fIbos_shutdown\fR\|(8),
+\&\fIvlserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VLDB_CONVERT 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VLDB_CONVERT 8"
++.TH VLDB_CONVERT 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vldb_convert \- Convert the VLDB to/from Transarc AFS versions 3.1\-3.4a
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvldb_convert\fR [\fBinitcmd\fR] [\fB\-to\fR]\ <\fI\s-1AFS\s0\ version\ goal\fR>
+ [\fB\-from\fR]\ <\fIcurrent\ \s-1AFS\s0\ version\fR>
+ [\fB\-path\fR]\ <\fIpath\ to\ \s-1VLDB\s0\ file\fR> [\fB\-showversion\fR]
+ [\fB\-dumpvldb\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvldb_convert\fR command is used to convert legacy Transarc 3.1\-3.4
+\&\s-1VLDB\s0 database files between versions. This command is not needed when
+using OpenAFS except in the case of preparing to migrate a pre\-3.4 version
+of Transarc \s-1AFS\s0 to OpenAFS.
+.PP
+In order to convert the \s-1VLDB\s0 file, do the following:
+.IP "1." 4
+Shutdown the \fBvlserver\fR process on all server machines. \fBvlserver\fR is
+typically run only on the Cell servers, which must be listed in
+\&\fICellServDB\fR or \s-1DNS\s0.
+.IP "2." 4
+Backup the \s-1VLDB\s0 file \fI/usr/afs/db/vldb.DB0\fR on the sync site to a safe
+place. Typically, the sync site if the machine with the lowest \s-1IP\s0 address.
+.IP "3." 4
+Remove the \fI/usr/afs/db/vldb.DBSYS1\fR file from all cell server machines.
+.IP "4." 4
+Remove the \fI/usr/afs/db/vldb.DB0\fR file from the non-sync site server
+machines.
+.IP "5." 4
+Run the \fBvldb_convert\fR command on the \s-1VLDB\s0 file using the following
+command:
+.Sp
+.Vb 1
+\& # vldb_convert \-path /usr/afs/db/vldb.DB0
+.Ve
+.IP "6." 4
+Copy the new version of the vlserver binaries to all Cell servers.
+.IP "7." 4
+Restart the vlserver process on all Cell servers. The new \s-1VLDB\s0 will be
+distributed to all of the Cell servers.
+.IP "8." 4
+Confirm that all Cell servers are synchronized and that the vldb looks in
+good shape.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Backup the \s-1VLDB\s0 file to a different directory or machine before performing
+the upgrade. Be sure that all vlserver processes are always running the
+same version. This requires downtime, but for this conversion, all
+vlserver instances must be at the same version. This restriction is
+relaxed in OpenAFS.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "[\fBinitcmd\fR]" 4
+.IX Item "[initcmd]"
+This is an optional string that does nothing.
+.IP "[\fB\-to\fR] <\fI\s-1AFS\s0 version goal\fR>" 4
+.IX Item "[-to] <AFS version goal>"
+This option is required when downgrading or when upgrading to a version
+less than 3.4. Specify 1, 2, 3, or 4 to choose version 3.1, 3.2, 3.3, or
+3,4 respectively. This defaults to version 3.4.
+.IP "[\fB\-from\fR] <\fIcurrent \s-1AFS\s0 version\fR>" 4
+.IX Item "[-from] <current AFS version>"
+This option is required when downgrading. Specify 1, 2, 3, or 4 to choose
+version 3.1, 3.2, 3.3, or 3.4 respectively.
+.IP "[\fB\-path\fR] <\fIpath to \s-1VLDB\s0 file\fR>" 4
+.IX Item "[-path] <path to VLDB file>"
+Specifies the path the \s-1VLDB\s0 file. This defaults to \fI/usr/afs/db/vldb.DB0\fR
+and only needs to be used if the \s-1VLDB\s0 file is not in the default path..
+.IP "\fB\-showversion\fR" 4
+.IX Item "-showversion"
+Shows the current version of the \s-1VLDB\s0. This option can only be used by itself.
+.IP "\fB\-dumpvldb\fR" 4
+.IX Item "-dumpvldb"
+Produces verbose debugging output during the conversion process.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have read and write access to the file
+\&\fI/usr/afs/db/vldb.DB0\fR. This usually means that root access is required
+on the cell server machines.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvlserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2008 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Jason Edgecombe for
+OpenAFS.
--- /dev/null
- .TH VLSERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VLSERVER 8"
++.TH VLSERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vlserver \- Initializes the Volume Location Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvlserver\fR [\fB\-p\fR\ <\fIlwp\ processes\fR>] [\fB\-nojumbo\fR] [\fB\-jumbo\fR] [\fB\-d\fR\ <\fIdebug\ level\fR>]
+ [\fB\-allow\-dotted\-principals\fR] [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR]
+ [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvlserver\fR command initializes the Volume Location (\s-1VL\s0) Server, which
+runs on every database server machine. In the conventional configuration,
+its binary file is located in the \fI/usr/afs/bin\fR directory on a file
+server machine.
+.PP
+The \fBvlserver\fR command is not normally issued at the command shell prompt
+but rather placed into a file server machine's \fI/usr/afs/local/BosConfig\fR
+file with the \fBbos create\fR command. If it is ever issued at the command
+shell prompt, the issuer must be logged onto a database server machine as
+the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+As it initializes, the \s-1VL\s0 Server process creates the two files that
+constitute the Volume Location Database (\s-1VLDB\s0), \fIvldb.DB0\fR and
+\&\fIvldb.DBSYS1\fR, in the \fI/usr/afs/db\fR directory if they do not already
+exist. Use the commands in the \fBvos\fR suite to administer the database.
+.PP
+The \s-1VL\s0 Server maintains the record of volume locations in the Volume
+Location Database (\s-1VLDB\s0). When the Cache Manager fills a file request from
+an application program, it first contacts the \s-1VL\s0 Server to learn which
+file server machine currently houses the volume that contains the file.
+The Cache Manager then requests the file from the File Server process
+running on that file server machine.
+.PP
+The \s-1VL\s0 Server records a trace of its activity in the
+\&\fI/usr/afs/logs/VLLog\fR file. Use the \fBbos getlog\fR command to display the
+contents of the file. By default, it records on a minimal number of
+messages. For instructions on increasing the amount of logging, see
+\&\fIVLLog\fR\|(5).
+.PP
+By default, the \s-1VL\s0 Server runs nine lightweight processes (LWPs). To
+change the number, use the \fB\-p\fR argument.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-p\fR <\fIlwp processes\fR>" 4
+.IX Item "-p <lwp processes>"
+Sets the number of server lightweight processes (LWPs) to run. Provide an
+integer between \f(CW4\fR and \f(CW16\fR. The default is \f(CW9\fR.
+.IP "\fB\-d\fR <\fIdebug level\fR>" 4
+.IX Item "-d <debug level>"
+Sets the detail level for the debugging trace written to the
+\&\fI/usr/afs/logs/VLLog\fR file. Provide one of the following values, each
+of which produces an increasingly detailed trace: \f(CW0\fR, \f(CW1\fR, \f(CW5\fR, \f(CW25\fR,
+and \f(CW125\fR.
+.IP "\fB\-jumbo\fR" 4
+.IX Item "-jumbo"
+Allows the server to send and receive jumbograms. A jumbogram is
+a large-size packet composed of 2 to 4 normal Rx data packets that share
+the same header. The \s-1VL\s0 Server does not use jumbograms by default, as some
+routers are not capable of properly breaking the jumbogram into smaller
+packets and reassembling them.
+.IP "\fB\-nojumbo\fR" 4
+.IX Item "-nojumbo"
+Deprecated; Jumbograms are disabled by default.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-allow\-dotted\-principals\fR" 4
+.IX Item "-allow-dotted-principals"
+By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos
+principals with a dot in the first component of their name. This is to avoid
+the confusion where principals user/admin and user.admin are both mapped to the
+user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions
+between principal names may disabled this check by starting the server
+with this option.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following \fBbos create\fR command creates a vlserver process on the
+machine \f(CW\*(C`fs2.abc.com\*(C'\fR that uses six lightweight processes. Type the
+command on a single line:
+.PP
+.Vb 2
+\& % bos create \-server fs2.abc.com \-instance vlserver \-type simple \e
+\& \-cmd "/usr/afs/bin/vlserver \-p 6"
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIVLLog\fR\|(5),
+\&\fIvldb.DB0\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOLDUMP 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOLDUMP 8"
++.TH VOLDUMP 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+voldump \- Dump an AFS volume without using the Volume Server
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvoldump\fR \fB\-part\fR\ <\fIpartition\fR> \fB\-volumeid\fR\ <\fIvolume\ id\fR>
+ [\fB\-file\fR\ <\fIdump\ file\fR>] [\fB\-verbose\fR] [\fB\-help\fR]
+.PP
+\&\fBvoldump\fR \fB\-p\fR\ <\fIpartition\fR> \fB\-vo\fR\ <\fIvolume\ id\fR>
+ [\fB\-f\fR\ <\fIdump\ file\fR>] [\fB\-ve\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBvoldump\fR dumps an \s-1AFS\s0 volume in the format used by \fBvos dump\fR without
+using the Volume Server. It must be run on the file server machine and
+usually must be run as the superuser \f(CW\*(C`root\*(C'\fR to have permissions to read
+the file server data. It's primary use is to recover data from a file
+server machine where the Volume Server cannot be started for some reason.
+.PP
+The dump output will go to standard output, or to a file if \fB\-file\fR is
+specified. \fBvos restore\fR can be used to load the resulting dump into a
+new \s-1AFS\s0 volume. \fBvoldump\fR always does a full dump.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+Normally, use \fBvos dump\fR instead of this command. \fBvoldump\fR is a tool
+of last resort to try to extract data from the raw data structures stored
+on the file server machine and is not as regularly tested or used as the
+normal \fBvos dump\fR implementation.
+.PP
+If the \s-1AFS\s0 volume being dumped changes while \fBvoldump\fR is running, the
+results may be inconsistent. If the File Server and Volume Server are
+running, stop them with \fBbos shutdown\fR or a similar method before running
+this command.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-part\fR <\fIpartition\fR>" 4
+.IX Item "-part <partition>"
+Names the partition on which the volume to be dumped is located.
+\&\fBvoldump\fR does not take the normal full range of ways of specifying a
+partition. Instead, \fIpartition\fR must be either a single letter between
+\&\f(CW\*(C`a\*(C'\fR and \f(CW\*(C`z\*(C'\fR, corresponding to \fI/vicepa\fR through \fI/vicepz\fR, or the full
+path to the file server partition. \f(CW\*(C`aa\*(C'\fR is not recognized; use
+\&\fI/vicepaa\fR instead.
+.IP "\fB\-volumeid\fR <\fIvolume id\fR>" 4
+.IX Item "-volumeid <volume id>"
+Specifies the \s-1ID\s0 of the volume to dump. The volume must be specified by
+numeric \s-1ID\s0, not by name.
+.IP "\fB\-file\fR <\fIdump file\fR>" 4
+.IX Item "-file <dump file>"
+Specifies the output file for the dump. If this option is not given, the
+volume will be dumped to standard output.
+.IP "\fB\-verbose\fR" 4
+.IX Item "-verbose"
+Asks for a verbose trace of the dump process. This trace information will
+be sent to standard error.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following command dumps the volume 1936964939 on the \fI/vicepb\fR
+partition to the file \fI/tmp/volume.dump\fR:
+.PP
+.Vb 1
+\& % voldump \-part /vicepb \-volumeid 1936964939 \-file /tmp/volume.dump
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must have read access to the file server data stored in the
+specified partition. Usually, this means that the issuer must be the
+local superuser \f(CW\*(C`root\*(C'\fR on the file server machine.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIbos_shutdown\fR\|(8),
+\&\fIrestorevol\fR\|(8),
+\&\fIvolserver\fR\|(8),
+\&\fIvos_dump\fR\|(1),
+\&\fIvos_restore\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2005 Russ Allbery <rra@stanford.edu>
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. This
+man page was written by Russ Allbery for OpenAFS.
--- /dev/null
- .TH VOLINFO 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOLINFO 8"
++.TH VOLINFO 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+volinfo \- Produces detailed statistics about AFS volume headers
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvolinfo\fR [\fB\-online\fR] [\fB\-vnode\fR] [\fB\-date\fR] [\fB\-inode\fR] [\fB\-itime\fR]
+ [\fB\-part\fR\ <\fI\s-1AFS\s0\ partition\ name\ (default\ current\ partition)\fR>+]
+ [\fB\-volumeid\fR\ <\fIvolume\ id\fR>+] [\fB\-header\fR] [\fB\-sizeOnly\fR]
+ [\fB\-fixheader\fR] [\fB\-saveinodes\fR] [\fB\-orphaned\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvolinfo\fR command displays detailed statistics about one or more
+volume headers and the partition that houses them. The command must be
+issued on a file server machine and by default produces output for every
+volume on every \s-1AFS\s0 server partition on the machine. To display output for
+the volumes on one partition only, include the \fB\-part\fR argument. To
+display output for one volume only, include the \fB\-volumeid\fR argument.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-online\fR" 4
+.IX Item "-online"
+Is nonoperational.
+.IP "\fB\-vnode\fR" 4
+.IX Item "-vnode"
+Displays a table for each volume which lists the large (directory) and
+small (file) vnodes in it, in addition to the default output.
+.IP "\fB\-date\fR" 4
+.IX Item "-date"
+When combined with the \fB\-vnode\fR flag, adds the \f(CW\*(C`ServerModTime\*(C'\fR field to
+each vnode entry in the large vnode and small vnode tables, reporting its
+most recent modification time.
+.IP "\fB\-inode\fR" 4
+.IX Item "-inode"
+When combined with the \fB\-vnode\fR flag, adds the \f(CW\*(C`inode\*(C'\fR field to each
+vnode entry in the large vnode and small vnode tables, reporting the
+associated inode number.
+.IP "\fB\-itime\fR" 4
+.IX Item "-itime"
+When combined with the \fB\-vnode\fR flag, displays a change, modification,
+and access timestamp for each of the large vnode and small vnode tables.
+.IP "\fB\-part\fR <\fIpartition name\fR>+" 4
+.IX Item "-part <partition name>+"
+Specifies the partition that houses each volume for which to produce
+output. Use the format \fI/vicep\fIxx\fI\fR, where \fIxx\fR is one or two lowercase
+letters. This argument can be omitted if the current working directory is
+the mount location for an \s-1AFS\s0 server partition; it is not the mount
+location for an \s-1AFS\s0 server partition, the command produces output for
+every volume on all local \s-1AFS\s0 server partitions.
+.IP "\fB\-volumeid\fR <\fIvolume id\fR>+" 4
+.IX Item "-volumeid <volume id>+"
+Specifies the \s-1ID\s0 number of one volume for which to produce output. The
+\&\fB\-part\fR argument must be provided along with this one unless the current
+working directory is the mount location for the \s-1AFS\s0 server partition that
+houses the volume.
+.IP "\fB\-header\fR" 4
+.IX Item "-header"
+Displays statistics about the volume header of each volume, in addition to
+the default output.
+.IP "\fB\-sizeOnly\fR" 4
+.IX Item "-sizeOnly"
+Displays a single line of output for each volume, reporting the size of
+various structures associated with it. The default output is suppressed
+and any flags that modify it (such as \fB\-vnode\fR) are ignored.
+.IP "\fB\-fixheader\fR" 4
+.IX Item "-fixheader"
+Repairs damaged inodes in each volume if possible. If there are any, it
+reports the action it is taking to repair them. Otherwise, it produces no
+output in addition to the default output.
+.IP "\fB\-saveinodes\fR" 4
+.IX Item "-saveinodes"
+Creates a file in the current working directory for each inode in each
+volume. Each file is called \fITmpInode.\fIvnode_number\fI\fR and contains the
+inode's contents. The default output is suppressed and any flags that
+modify it (such as \fB\-vnode\fR) are ignored.
+.IP "\fB\-orphaned\fR" 4
+.IX Item "-orphaned"
+Displays a large vnode and small vnode table for each volume, which lists
+only orphaned vnodes (vnodes that have no parent). If there are none, the
+tables are empty (only the headers appear).
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+By default, the command produces several line of statistics for each
+volume. Adding other options produces or substitutes additional
+information as described in \s-1OPTIONS\s0. The output is intended for
+debugging purposes and is meaningful to someone familiar with the internal
+structure of volume headers.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIvldb.DB0\fR\|(5),
+\&\fIvolserver\fR\|(8)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VOLSERVER 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VOLSERVER 8"
++.TH VOLSERVER 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+volserver \- Initializes the Volume Server component of the fs process
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvolserver\fR [\fB\-log\fR] [\fB\-p\fR\ <\fInumber\ of\ processes\fR>]
+ [\fB\-udpsize\fR\ <\fIsize\ of\ socket\ buffer\ in\ bytes\fR>]
+ [\fB\-d\fR\ <\fIdebug\ level\fR>]
+ [\fB\-nojumbo\fR] [\fB\-jumbo\fR]
+ [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR]
+ [\fB\-allow\-dotted\-principals\fR] [\fB\-help\fR]
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBvolserver\fR command initializes the Volume Server component of the
+\&\f(CW\*(C`fs\*(C'\fR process. In the conventional configuration, its binary file is
+located in the \fI/usr/afs/bin\fR directory on a file server machine.
+.PP
+The \fBvolserver\fR command is not normally issued at the command shell
+prompt but rather placed into a file server machine's
+\&\fI/usr/afs/local/BosConfig\fR file with the \fBbos create\fR command. If it is
+ever issued at the command shell prompt, the issuer must be logged onto a
+database server machine as the local superuser \f(CW\*(C`root\*(C'\fR.
+.PP
+The Volume Server records a trace of its activity in the
+\&\fI/usr/afs/logs/VolserLog\fR file. Use the \fBbos getlog\fR command to display
+the contents of the file.
+.PP
+The Volume Server processes the \fBvos\fR commands that administrators use to
+create, delete, move, and replicate volumes, as well as prepare them for
+archiving to tape or other media.
+.PP
+By default, the \s-1VL\s0 Server runs nine lightweight processes (LWPs). To
+change the number, use the \fB\-p\fR argument.
+.PP
+This command does not use the syntax conventions of the \s-1AFS\s0 command
+suites. Provide the command name and all option names in full.
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+.IP "\fB\-d\fR <\fIdebug level\fR>" 4
+.IX Item "-d <debug level>"
+Sets the detail level for the debugging trace written to the
+\&\fI/usr/afs/logs/VolserLog\fR file. Provide one of the following values, each
+of which produces an increasingly detailed trace: \f(CW0\fR, \f(CW1\fR, \f(CW5\fR, \f(CW25\fR,
+and \f(CW125\fR.
+.IP "\fB\-log\fR" 4
+.IX Item "-log"
+Records in the /usr/afs/logs/VolserLog file the names of all users who
+successfully initiate a \fBvos\fR command. The Volume Server also records any
+file removals that result from issuing the \fBvos release\fR command with the
+\&\fB\-f\fR flag.
+.IP "\fB\-p\fR <\fInumber of processes\fR>" 4
+.IX Item "-p <number of processes>"
+Sets the number of server lightweight processes (LWPs) to run. Provide an
+integer between \f(CW4\fR and \f(CW16\fR. The default is \f(CW9\fR.
+.IP "\fB\-udpsize\fR <\fIsize of socket buffer\fR>" 4
+.IX Item "-udpsize <size of socket buffer>"
+Sets the size of the \s-1UDP\s0 buffer in bytes, which is 64 \s-1KB\s0 by
+default. Provide a positive integer, preferably larger than the default.
+.IP "\fB\-jumbo\fR" 4
+.IX Item "-jumbo"
+Allows the server to send and receive jumbograms. A jumbogram is
+a large-size packet composed of 2 to 4 normal Rx data packets that share
+the same header. The volserver does not use jumbograms by default, as some
+routers are not capable of properly breaking the jumbogram into smaller
+packets and reassembling them.
+.IP "\fB\-nojumbo\fR" 4
+.IX Item "-nojumbo"
+Deprecated; jumbograms are disabled by default.
+.IP "\fB\-enable_peer_stats\fR" 4
+.IX Item "-enable_peer_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific \s-1UDP\s0 port on another machine,
+a separate record is kept for each type of \s-1RPC\s0 (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring \s-1API\s0.
+.IP "\fB\-enable_process_stats\fR" 4
+.IX Item "-enable_process_stats"
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring \s-1API\s0.
+.IP "\fB\-allow\-dotted\-principals\fR" 4
+.IX Item "-allow-dotted-principals"
+By default, the \s-1RXKAD\s0 security layer will disallow access by Kerberos
+principals with a dot in the first component of their name. This is to avoid
+the confusion where principals user/admin and user.admin are both mapped to the
+user.admin \s-1PTS\s0 entry. Sites whose Kerberos realms don't have these collisions
+between principal names may disabled this check by starting the server
+with this option.
+.IP "\fB\-help\fR" 4
+.IX Item "-help"
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+.IX Header "EXAMPLES"
+The following \fBbos create\fR command creates a \f(CW\*(C`volserver\*(C'\fR process on the
+machine \f(CW\*(C`fs2.abc.com\*(C'\fR:
+.PP
+.Vb 2
+\& % bos create \-server fs2.abc.com \-instance volserver \-type simple \e
+\& \-cmd /usr/afs/bin/volserver
+.Ve
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CW\*(C`root\*(C'\fR on a file server
+machine to issue the command at a command shell prompt. It is conventional
+instead to create and start the process by issuing the \fBbos create\fR
+command.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIBosConfig\fR\|(5),
+\&\fIVolserLog\fR\|(5),
+\&\fIbos_create\fR\|(8),
+\&\fIbos_getlog\fR\|(8),
+\&\fIvos\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
- .TH VSYS 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "VSYS 8"
++.TH VSYS 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+vsys \- Make AFS system calls from the command line
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBvsys\fR <\fIcall number\fR> <\fIparms\fR>+
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBvsys\fR is a development tool to make \s-1AFS\s0 system calls from the command
+line. <\fIcall number\fR> is the \s-1AFS\s0 system call to be invoked. <\fIparms\fR>+
+are the values to pass to the system call. Knowledge of the \s-1AFS\s0 system
+call layer is required to know valid call numbers and parameters.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+\&\fBvsys\fR is intended for debugging \s-1AFS\s0 at a low level and is therefore
+intended for \s-1AFS\s0 developers. System Administrators and \s-1AFS\s0 users should
+use the higher-level interfaces provided by \fIfs\fR\|(1), \fIaklog\fR\|(1),
+\&\fIklog\fR\|(1), and \fIpagsh\fR\|(1) instead.
+.PP
+\&\fBvsys\fR provides a way to pass arbitrary data into the \s-1AFS\s0 system call
+mechanism. Caution should be taken when using or providing this binary on
+a system, as incorrect use as a privileged user could cause a system to
+panic, hang, or perform an unsafe operation.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIafsd\fR\|(8),
+\&\fIaklog\fR\|(1),
+\&\fIfs\fR\|(1),
+\&\fIklog\fR\|(1),
+\&\fIpagsh\fR\|(1)
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+Copyright 2009 Steven Jenkins <steven@endpoint.com>
+.PP
+This documentation is covered by the \s-1BSD\s0 License as written in the
+doc/LICENSE file. This man page was written by Steven Jenkins for OpenAFS.
--- /dev/null
- .TH XFS_SIZE_CHECK 8 "2010-05-24" "OpenAFS" "AFS Command Reference"
+.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sh \" Subsection heading
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. nr % 0
+. rr F
+.\}
+.el \{\
+. de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "XFS_SIZE_CHECK 8"
++.TH XFS_SIZE_CHECK 8 "2010-12-17" "OpenAFS" "AFS Command Reference"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+xfs_size_check \- Verifies proper IRIX inode configuration
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBxfs_size_check\fR
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The \fBxfs_size_check\fR command, when run on a file server machine that runs
+\&\s-1IRIX\s0 version 6.2 or higher and uses XFS-formatted partitions as server
+partitions (conventionally mounted at \fI/vicep\fR directories), verifies
+that each partition uses 512\-byte inodes. \s-1AFS\s0 stores information in the
+inodes on server partitions, and the 256\-byte inode size that \s-1XFS\s0 uses by
+default is not large enough.
+.SH "CAUTIONS"
+.IX Header "CAUTIONS"
+This command is available on in the \s-1AFS\s0 distribution for \s-1IRIX\s0 system types
+that can use XFS-formatted partitions as server partitions.
+.SH "OUTPUT"
+.IX Header "OUTPUT"
+If all server partitions are properly configured, the command produces no
+output. Otherwise, it prints the following header:
+.PP
+.Vb 1
+\& Need to remake the following partitions:
+.Ve
+.PP
+and then the following message for each partition on which to run the \s-1IRIX\s0
+\&\fBmkfs\fR command with the indicated options:
+.PP
+.Vb 1
+\& <device>: mkfs \-t xfs \-i size=512 \-l size=4000b <device>
+.Ve
+.PP
+where <device> is in a format like \f(CW\*(C`/dev/dsk/dks0d0s0\*(C'\fR for a single disk
+partition or \f(CW\*(C`/dev/xlv/xlv0\*(C'\fR for a logical volume.
+.SH "PRIVILEGE REQUIRED"
+.IX Header "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser \f(CW\*(C`root\*(C'\fR.
+.SH "COPYRIGHT"
+.IX Header "COPYRIGHT"
+\&\s-1IBM\s0 Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This documentation is covered by the \s-1IBM\s0 Public License Version 1.0. It was
+converted from \s-1HTML\s0 to \s-1POD\s0 by software written by Chas Williams and Russ
+Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
--- /dev/null
+/* src/config/afsconfig.h.in. Generated from configure.in by autoheader. */
+
+/* define if you want to want search afsdb rr */
+#undef AFS_AFSDB_ENV
+
+/* define if you want large file fileserver */
+#undef AFS_LARGEFILE_ENV
+
+/* define if you want to want namei fileserver */
+#undef AFS_NAMEI_ENV
+
+/* define if your aops.writepage takes a struct writeback_control argument */
+#undef AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL
+
+/* define if target is big endian */
+#undef AUTOCONF_FOUND_BIGENDIAN
+
+/* define if you want to salvager to check bitmasks later */
+#undef BITMAP_LATER
+
+/* define if you want to enable automatic renaming of BosConfig.new to
+ BosConfig at startup */
+#undef BOS_NEW_CONFIG
+
+/* define if you want to want bos restricted mode */
+#undef BOS_RESTRICTED_MODE
+
+/* define if completion_h exists */
+#undef COMPLETION_H_EXISTS
+
+/* define if config.h exists */
+#undef CONFIG_H_EXISTS
+
+/* define if for_each_process defined */
+#undef DEFINED_FOR_EACH_PROCESS
+
+/* define if prev_task defined */
+#undef DEFINED_PREV_TASK
+
+/* define if your dops.d_revalidate takes a nameidata argument */
+#undef DOP_REVALIDATE_TAKES_NAMEIDATA
+
+/* define if your kernel has do_sync_read() */
+#undef DO_SYNC_READ
+
+/* define to enable syscall table probes */
+#undef ENABLE_LINUX_SYSCALL_PROBING
+
+/* define if you have redhat buildsystem */
+#undef ENABLE_REDHAT_BUILDSYS
+
+/* define if sys/param.h defines the endiness */
+#undef ENDIANESS_IN_SYS_PARAM_H
+
+/* define if find_task_by_pid() is usable */
+#undef EXPORTED_FIND_TASK_BY_PID
+
+/* define if your linux kernel exports ia32_sys_call_table */
+#undef EXPORTED_IA32_SYS_CALL_TABLE
+
+/* define if your kernel exports init_mm */
+#undef EXPORTED_INIT_MM
+
+/* define if your linux kernel exports kallsyms address */
+#undef EXPORTED_KALLSYMS_ADDRESS
+
+/* define if your linux kernel exports kallsyms */
+#undef EXPORTED_KALLSYMS_SYMBOL
+
+/* define if key_type_keyring is exported */
+#undef EXPORTED_KEY_TYPE_KEYRING
+
+/* define if proc_root_fs is exported */
+#undef EXPORTED_PROC_ROOT_FS
+
+/* define if rcu_read_lock() is usable */
+#undef EXPORTED_RCU_READ_LOCK
+
+/* define if your linux kernel exports sys_call_table */
+#undef EXPORTED_SYS_CALL_TABLE
+
+/* define if your linux kernel exports sys_chdir */
+#undef EXPORTED_SYS_CHDIR
+
+/* define if your linux kernel exports sys_close */
+#undef EXPORTED_SYS_CLOSE
+
+/* define if your linux kernel exports sys_open */
+#undef EXPORTED_SYS_OPEN
+
+/* define if your linux kernel exports sys_wait4 */
+#undef EXPORTED_SYS_WAIT4
+
+/* define if tasklist_lock exported */
+#undef EXPORTED_TASKLIST_LOCK
+
+/* define if you want to have fast restart */
+#undef FAST_RESTART
+
+/* define if your fops.flush takes an fl_owner_t argument */
+#undef FOP_FLUSH_TAKES_FL_OWNER_T
+
++/* define if your fops.fsync takes an dentry argument */
++#undef FOP_FSYNC_TAKES_DENTRY
++
+/* define if you have linux/freezer.h */
+#undef FREEZER_H_EXISTS
+
+/* define if you want to want listvol switch */
+#undef FULL_LISTVOL_SWITCH
+
+/* define if your kernel has generic_file_aio_read() */
+#undef GENERIC_FILE_AIO_READ
+
+/* define if your get_sb_nodev needs a struct vfsmount argument */
+#undef GET_SB_HAS_STRUCT_VFSMOUNT
+
+/* Define to 1 if you have the `add_error_table' function. */
+#undef HAVE_ADD_ERROR_TABLE
+
+/* Define to 1 if you have the `add_to_error_table' function. */
+#undef HAVE_ADD_TO_ERROR_TABLE
+
+/* define if arpa/nameser_compat.h exists */
+#undef HAVE_ARPA_NAMESER_COMPAT_H
+
+/* define if your kernel has a bdi_init() */
+#undef HAVE_BDI_INIT
+
+/* define if you have connect */
+#undef HAVE_CONNECT
+
+/* define if current_kernel_time() exists */
+#undef HAVE_CURRENT_KERNEL_TIME
+
+/* Define to 1 if you have the `daemon' function. */
+#undef HAVE_DAEMON
+
+/* Define to 1 if you have the <direct.h> header file. */
+#undef HAVE_DIRECT_H
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_DIRENT_H
+
+/* Define to 1 if you have the `encode_krb5_enc_tkt_part' function. */
+#undef HAVE_ENCODE_KRB5_ENC_TKT_PART
+
+/* Define to 1 if you have the `encode_krb5_ticket' function. */
+#undef HAVE_ENCODE_KRB5_TICKET
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define to 1 if you have the `flock' function. */
+#undef HAVE_FLOCK
+
+/* Define to 1 if the system has the type `fsblkcnt_t'. */
+#undef HAVE_FSBLKCNT_T
+
+/* define if compiler has __FUNCTION__ */
+#undef HAVE_FUNCTION_MACRO
+
+/* Define to 1 if you have the `getdtablesize' function. */
+#undef HAVE_GETDTABLESIZE
+
+/* define if you have gethostbyname */
+#undef HAVE_GETHOSTBYNAME
+
+/* Define to 1 if you have the `getprogname' function. */
+#undef HAVE_GETPROGNAME
+
+/* define if your kernel has grab_cache_page_write_begin() */
+#undef HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN
+
+/* define if your kernel has iget */
+#undef HAVE_IGET
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* define if you have in_systm.h header file */
+#undef HAVE_IN_SYSTM_H
+
+/* Define to 1 if you have the <io.h> header file. */
+#undef HAVE_IO_H
+
+/* Define to 1 if you have the <kerberosIV/krb.h> header file. */
+#undef HAVE_KERBEROSIV_KRB_H
+
+/* Define to 1 if you have the <kerberosV/heim_err.h> header file. */
+#undef HAVE_KERBEROSV_HEIM_ERR_H
+
+/* define if your linux kernel provides hlist_unhashed */
+#undef HAVE_KERNEL_HLIST_UNHASHED
+
+/* define if your linux kernel has linux/seq_file.h */
+#undef HAVE_KERNEL_LINUX_SEQ_FILE_H
+
+/* define if your linux kernel has linux/syscall.h */
+#undef HAVE_KERNEL_LINUX_SYSCALL_H
+
+/* define if your linux kernel provides page_follow_link */
+#undef HAVE_KERNEL_PAGE_FOLLOW_LINK
+
+/* define if kmem_cache_t exists */
+#undef HAVE_KMEM_CACHE_T
+
+/* Define to 1 if you have the `krb524_convert_creds_kdc' function. */
+#undef HAVE_KRB524_CONVERT_CREDS_KDC
+
+/* Define to 1 if you have the `krb5_524_convert_creds' function. */
+#undef HAVE_KRB5_524_CONVERT_CREDS
+
+/* Define to 1 if you have the `krb5_allow_weak_crypto' function. */
+#undef HAVE_KRB5_ALLOW_WEAK_CRYPTO
+
+/* define if krb5_cc_register exists */
+#undef HAVE_KRB5_CC_REGISTER
+
+/* define if krb5_creds has keyblock */
+#undef HAVE_KRB5_CREDS_KEYBLOCK
+
+/* define if krb5_creds has session */
+#undef HAVE_KRB5_CREDS_SESSION
+
+/* Define to 1 if you have the `krb5_c_encrypt' function. */
+#undef HAVE_KRB5_C_ENCRYPT
+
+/* Define to 1 if you have the `krb5_c_encrypt_length' function. */
+#undef HAVE_KRB5_C_ENCRYPT_LENGTH
+
+/* Define to 1 if you have the `krb5_decode_ticket' function. */
+#undef HAVE_KRB5_DECODE_TICKET
+
+/* Define to 1 if you have the `krb5_enctype_enable' function. */
+#undef HAVE_KRB5_ENCTYPE_ENABLE
+
+/* Define to 1 if you have the `krb5_get_prompt_types' function. */
+#undef HAVE_KRB5_GET_PROMPT_TYPES
+
+/* Define to 1 if you have the `krb5_principal_get_comp_string' function. */
+#undef HAVE_KRB5_PRINCIPAL_GET_COMP_STRING
+
+/* Define to 1 if you have the `krb5_princ_size' function. */
+#undef HAVE_KRB5_PRINC_SIZE
+
+/* define if krb5_prompt has type */
+#undef HAVE_KRB5_PROMPT_TYPE
+
++/* define if your kernel has inode_setattr() */
++#undef HAVE_LINUX_INODE_SETATTR
++
+/* define if your kernel has i_size_read() */
+#undef HAVE_LINUX_I_SIZE_READ
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `mkstemp' function. */
+#undef HAVE_MKSTEMP
+
+/* define if you have mm_inline.h header file */
+#undef HAVE_MM_INLINE_H
+
+/* Define to 1 if you have the <mntent.h> header file. */
+#undef HAVE_MNTENT_H
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
+/* define if you have POSIX regex library */
+#undef HAVE_POSIX_REGEX
+
+/* define if struct proc has p_corefile */
+#undef HAVE_P_COREFILE
+
+/* Define to 1 if you have the `random' function. */
+#undef HAVE_RANDOM
+
+/* Define to 1 if you have the `regcomp' function. */
+#undef HAVE_REGCOMP
+
+/* Define to 1 if you have the `regerror' function. */
+#undef HAVE_REGERROR
+
+/* Define to 1 if you have the `regexec' function. */
+#undef HAVE_REGEXEC
+
+/* Define to 1 if you have the <regex.h> header file. */
+#undef HAVE_REGEX_H
+
+/* Define to 1 if you have the `re_comp' function. */
+#undef HAVE_RE_COMP
+
+/* Define to 1 if you have the `re_exec' function. */
+#undef HAVE_RE_EXEC
+
+/* Define to 1 if you have the <security/pam_modules.h> header file. */
+#undef HAVE_SECURITY_PAM_MODULES_H
+
+/* Define to 1 if you have the `setprogname' function. */
+#undef HAVE_SETPROGNAME
+
+/* Define to 1 if you have the `setvbuf' function. */
+#undef HAVE_SETVBUF
+
+/* Define to 1 if you have the <siad.h> header file. */
+#undef HAVE_SIAD_H
+
+/* Define to 1 if you have the `sigaction' function. */
+#undef HAVE_SIGACTION
+
+/* Define to 1 if you have the <signal.h> header file. */
+#undef HAVE_SIGNAL_H
+
+/* Define to 1 if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* define if you have socket */
+#undef HAVE_SOCKET
+
+/* Define to 1 if you have the `srandom' function. */
+#undef HAVE_SRANDOM
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcasestr' function. */
+#undef HAVE_STRCASESTR
+
+/* Define to 1 if you have the `strerror' function. */
+#undef HAVE_STRERROR
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the `strlcat' function. */
+#undef HAVE_STRLCAT
+
+/* Define to 1 if you have the `strlcpy' function. */
+#undef HAVE_STRLCPY
+
+/* define if you have a struct buf */
+#undef HAVE_STRUCT_BUF
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+#undef HAVE_SYS_BITYPES_H
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_DIR_H
+
+/* Define to 1 if you have the <sys/fcntl.h> header file. */
+#undef HAVE_SYS_FCNTL_H
+
+/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H
+
+/* Define to 1 if you have the <sys/fstyp.h> header file. */
+#undef HAVE_SYS_FSTYP_H
+
+/* Define to 1 if you have the <sys/fs_types.h> header file. */
+#undef HAVE_SYS_FS_TYPES_H
+
+/* Define to 1 if you have the <sys/mntent.h> header file. */
+#undef HAVE_SYS_MNTENT_H
+
+/* Define to 1 if you have the <sys/mnttab.h> header file. */
+#undef HAVE_SYS_MNTTAB_H
+
+/* Define to 1 if you have the <sys/mount.h> header file. */
+#undef HAVE_SYS_MOUNT_H
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+ */
+#undef HAVE_SYS_NDIR_H
+
+/* Define to 1 if you have the <sys/pag.h> header file. */
+#undef HAVE_SYS_PAG_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/statfs.h> header file. */
+#undef HAVE_SYS_STATFS_H
+
+/* Define to 1 if you have the <sys/statvfs.h> header file. */
+#undef HAVE_SYS_STATVFS_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <sys/user.h> header file. */
+#undef HAVE_SYS_USER_H
+
+/* Define to 1 if you have the <sys/vfs.h> header file. */
+#undef HAVE_SYS_VFS_H
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#undef HAVE_SYS_WAIT_H
+
+/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H
+
+/* Define to 1 if you have the `timegm' function. */
+#undef HAVE_TIMEGM
+
+/* Define to 1 if you have the <ucontext.h> header file. */
+#undef HAVE_UCONTEXT_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the <usersec.h> header file. */
+#undef HAVE_USERSEC_H
+
+/* define if you have old ndir.h */
+#undef HAVE_USR_OLD_USR_INCLUDE_NDIR_H
+
+/* Define to 1 if you have the `utimes' function. */
+#undef HAVE_UTIMES
+
+/* define if struct ufsvfs has vfs_dqrwlock */
+#undef HAVE_VFS_DQRWLOCK
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Define to 1 if you have the `vsyslog' function. */
+#undef HAVE_VSYSLOG
+
+/* Define to 1 if you have the <windows.h> header file. */
+#undef HAVE_WINDOWS_H
+
+/* Define to 1 if you have the <winsock2.h> header file. */
+#undef HAVE_WINSOCK2_H
+
+/* define if your kernel has a write_begin() address space op */
+#undef HAVE_WRITE_BEGIN
+
+/* define if INIT_WORK takes a data (3rd) argument */
+#undef INIT_WORK_HAS_DATA
+
+/* define if your setattr return return non-void */
+#undef INODE_SETATTR_NOT_VOID
+
+/* define if your iops.create takes a nameidata argument */
+#undef IOP_CREATE_TAKES_NAMEIDATA
+
+/* define if your iops.lookup takes a nameidata argument */
+#undef IOP_LOOKUP_TAKES_NAMEIDATA
+
+/* define if your iops.permission takes a nameidata argument */
+#undef IOP_PERMISSION_TAKES_NAMEIDATA
+
+/* define if irix has memcpy and friends */
+#undef IRIX_HAS_MEM_FUNCS
+
+/* define if key_alloc takes credentials */
+#undef KEY_ALLOC_NEEDS_CRED
+
+/* define if key_alloc takes a struct task * */
+#undef KEY_ALLOC_NEEDS_STRUCT_TASK
+
+/* define if key-type.h exists */
+#undef KEY_TYPE_H_EXISTS
+
+/* define if kmem_cache_create constructor function takes a single void
+ pointer argument */
+#undef KMEM_CACHE_CTOR_TAKES_VOID
+
+/* define for new kmem_cache init function parameters */
+#undef KMEM_CACHE_INIT
+
+/* define if kmem_cache_create takes a destructor argument */
+#undef KMEM_CACHE_TAKES_DTOR
+
+/* define if your linux kernel uses 5 arguments for sock_create */
+#undef LINUX_KERNEL_SOCK_CREATE_V
+
+/* define if your kernel has keyring support */
+#undef LINUX_KEYRING_SUPPORT
+
+/* define if your refrigerator takes PF_FREEZE */
+#undef LINUX_REFRIGERATOR_TAKES_PF_FREEZE
+
+/* define if linux/semaphore.h exists */
+#undef LINUX_SEMAPHORE_H
+
+#undef HAVE_CONNECT
+#undef HAVE_GETHOSTBYNAME
+#undef HAVE_RES_SEARCH
+#undef HAVE_SOCKET
+#undef STRUCT_SOCKADDR_HAS_SA_LEN
+#if !defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
+# if ENDIANESS_IN_SYS_PARAM_H
+# ifndef KERNEL
+# include <sys/types.h>
+# include <sys/param.h>
+# if BYTE_ORDER == BIG_ENDIAN
+# define WORDS_BIGENDIAN 1
+# endif
+# else
+# if defined(AUTOCONF_FOUND_BIGENDIAN)
+# define WORDS_BIGENDIAN 1
+# else
+# undef WORDS_BIGENDIAN
+# endif
+# endif
+# else
+# if defined(AUTOCONF_FOUND_BIGENDIAN)
+# define WORDS_BIGENDIAN 1
+# else
+# undef WORDS_BIGENDIAN
+# endif
+# endif
+#else
+# if defined(__BIG_ENDIAN__)
+# define WORDS_BIGENDIAN 1
+# else
+# undef WORDS_BIGENDIAN
+# endif
+#endif
+#ifdef UKERNEL
+/*
+ * Always use 64-bit file offsets for UKERNEL code. Needed for UKERNEL stuff to
+ * play nice with some other interfaces like FUSE. We technically only would
+ * need to define this when building for such interfaces, but set it always to
+ * try and reduce potential confusion.
+ */
+#define _FILE_OFFSET_BITS 64
+#endif
+
+#undef AFS_AFSDB_ENV
+#undef AFS_LARGEFILE_ENV
+#undef AFS_NAMEI_ENV
+#undef BITMAP_LATER
+#undef BOS_RESTRICTED_MODE
+#undef BOS_NEW_CONFIG
+#undef FAST_RESTART
+#undef FULL_LISTVOL_SWITCH
+#undef COMPLETION_H_EXISTS
+#undef DEFINED_FOR_EACH_PROCESS
+#undef DEFINED_PREV_TASK
+#undef EXPORTED_KALLSYMS_ADDRESS
+#undef EXPORTED_KALLSYMS_SYMBOL
+#undef EXPORTED_SYS_CALL_TABLE
+#undef EXPORTED_IA32_SYS_CALL_TABLE
+#undef EXPORTED_TASKLIST_LOCK
+#undef INODE_SETATTR_NOT_VOID
+#undef IRIX_HAS_MEM_FUNCS
+#undef RECALC_SIGPENDING_TAKES_VOID
+#undef STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
+#undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
+#undef STRUCT_FS_HAS_FS_ROLLED
+#undef STRUCT_INODE_HAS_I_DEVICES
+#undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
+#undef STRUCT_INODE_HAS_I_ALLOC_SEM
+#undef STRUCT_INODE_HAS_I_TRUNCATE_SEM
+#undef STRUCT_TASK_STRUCT_HAS_PARENT
+#undef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
+#undef STRUCT_TASK_STRUCT_HAS_SIG
+#undef STRUCT_TASK_STRUCT_HAS_SIGHAND
+#undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
+#undef ssize_t
+#undef SIZEOF_TIME_T
+#undef HAVE_STRUCT_BUF
+#undef HAVE_ARPA_NAMESER_COMPAT_H
+/* glue for RedHat kernel bug */
+#undef ENABLE_REDHAT_BUILDSYS
+#if defined(ENABLE_REDHAT_BUILDSYS) && defined(KERNEL) && defined(REDHAT_FIX)
+#include "redhat-fix.h"
+#endif
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* define if your linux kernel uses 3 arguments for posix_lock_file */
+#undef POSIX_LOCK_FILE_WAIT_ARG
+
+/* define if posix_test_lock takes a conflict argument */
+#undef POSIX_TEST_LOCK_CONFLICT_ARG
+
+/* define if posix_test_lock returns the conflicting lock */
+#undef POSIX_TEST_LOCK_RETURNS_CONFLICT
+
+/* Define to 1 if the C compiler supports function prototypes. */
+#undef PROTOTYPES
+
+/* define if your recalc_sigpending takes void */
+#undef RECALC_SIGPENDING_TAKES_VOID
+
+/* define if register_sysctl_table has no insert_at head flag */
+#undef REGISTER_SYSCTL_TABLE_NOFLAG
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to 1 if the `setvbuf' function takes the buffering type as its
+ second argument and the buffer pointer as the third, as on System V before
+ release 3. */
+#undef SETVBUF_REVERSED
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* define if time_t is defined */
+#undef SIZEOF_TIME_T
+
+/* The size of `unsigned int', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_INT
+
+/* The size of `unsigned long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* The size of `unsigned long long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG_LONG
+
+/* The size of `void *', as computed by sizeof. */
+#undef SIZEOF_VOID_P
+
+/* define if solookup takes a sockparams** */
+#undef SOLOOKUP_TAKES_SOCKPARAMS
+
+/* define if your statfs takes a dentry argument */
+#undef STATFS_TAKES_DENTRY
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* define if your struct address_space has gfp_mask */
+#undef STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
+
+/* define if your struct address_space has page_lock */
+#undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
+
+/* define if struct backing_dev_info has a name member */
+#undef STRUCT_BDI_HAS_NAME
+
+/* define if struct ctl_table has a ctl_name member */
+#undef STRUCT_CTL_TABLE_HAS_CTL_NAME
+
+/* define if your struct file_operations has flock */
+#undef STRUCT_FILE_OPERATIONS_HAS_FLOCK
+
+/* define if your struct file_operations has sendfile */
+#undef STRUCT_FILE_OPERATIONS_HAS_SENDFILE
+
+/* define if your struct file_operations has splice_write and splice_read */
+#undef STRUCT_FILE_OPERATIONS_HAS_SPLICE
+
+/* define if struct fs has fs_rolled */
+#undef STRUCT_FS_HAS_FS_ROLLED
+
+/* define if your struct inode has inotify_lock */
+#undef STRUCT_INODE_HAS_INOTIFY_LOCK
+
+/* define if your struct inode has inotify_sem */
+#undef STRUCT_INODE_HAS_INOTIFY_SEM
+
+/* define if your struct inode has alloc_sem */
+#undef STRUCT_INODE_HAS_I_ALLOC_SEM
+
+/* define if your struct inode has i_blkbits */
+#undef STRUCT_INODE_HAS_I_BLKBITS
+
+/* define if your struct inode has i_blksize */
+#undef STRUCT_INODE_HAS_I_BLKSIZE
+
+/* define if you struct inode has i_devices */
+#undef STRUCT_INODE_HAS_I_DEVICES
+
+/* define if your struct inode has data_buffers */
+#undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
+
+/* define if you struct inode has i_mutex */
+#undef STRUCT_INODE_HAS_I_MUTEX
+
+/* define if you struct inode has i_sb_list */
+#undef STRUCT_INODE_HAS_I_SB_LIST
+
+/* define if you struct inode has i_security */
+#undef STRUCT_INODE_HAS_I_SECURITY
+
+/* define if your struct inode has truncate_sem */
+#undef STRUCT_INODE_HAS_I_TRUNCATE_SEM
+
+/* define if your struct nameidata has path */
+#undef STRUCT_NAMEIDATA_HAS_PATH
+
+/* define if struct proc_dir_entry has an owner member */
+#undef STRUCT_PROC_DIR_ENTRY_HAS_OWNER
+
+/* define if you struct sockaddr sa_len */
+#undef STRUCT_SOCKADDR_HAS_SA_LEN
+
+/* define if struct super_block has an s_bdi member */
+#undef STRUCT_SUPER_BLOCK_HAS_S_BDI
+
+/* define if your struct super_operations has alloc_inode */
+#undef STRUCT_SUPER_HAS_ALLOC_INODE
+
++/* define if your struct super_operations has evict_inode */
++#undef STRUCT_SUPER_OPERATIONS_HAS_EVICT_INODE
++
+/* define if struct task has a cred pointer */
+#undef STRUCT_TASK_HAS_CRED
+
+/* define if your struct task_struct has exit_state */
+#undef STRUCT_TASK_STRUCT_HAS_EXIT_STATE
+
+/* define if your struct task_struct has parent */
+#undef STRUCT_TASK_STRUCT_HAS_PARENT
+
+/* define if your struct task_struct has real_parent */
+#undef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
+
+/* define if your struct task_struct has rlim */
+#undef STRUCT_TASK_STRUCT_HAS_RLIM
+
+/* define if your struct task_struct has sig */
+#undef STRUCT_TASK_STRUCT_HAS_SIG
+
+/* define if your struct task_struct has sighand */
+#undef STRUCT_TASK_STRUCT_HAS_SIGHAND
+
+/* define if your struct task_struct has sigmask_lock */
+#undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
+
+/* define if your struct task_struct has signal->rlim */
+#undef STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
+
+/* define if your struct task_struct has tgid */
+#undef STRUCT_TASK_STRUCT_HAS_TGID
+
+/* define if your struct task_struct has thread_info */
+#undef STRUCT_TASK_STRUCT_HAS_THREAD_INFO
+
+/* define if your struct task_struct has todo */
+#undef STRUCT_TASK_STRUCT_HAS_TODO
+
+/* define if you want to have support for nested pts groups */
+#undef SUPERGROUPS
+
+/* define if your kernel has sysctl table checking */
+#undef SYSCTL_TABLE_CHECKING
+
+/* define if your kernel has a usable symlink cache API */
+#undef USABLE_KERNEL_PAGE_SYMLINK_CACHE
+
+/* define if you want to use UNIX sockets for fssync. */
+#undef USE_UNIX_SOCKETS
+
+/* Version number of package */
+#undef VERSION
+
+/* define if your sops.write_inode returns non-void */
+#undef WRITE_INODE_NOT_VOID
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+#undef YYTEXT_POINTER
+
+/* Define like PROTOTYPES; this can be used by system headers. */
+#undef __PROTOTYPES
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef ssize_t