+CONTENTS000644 000000 000000 00000002327 11035617755 012305 0ustar00rootroot000000 000000 @cwd /usr/pkg @src /usr/pkg @pkgcfl gamin-[0-9]* @name fam-2.7.0nb9 @blddep gcc34-3.4.6nb1 @pkgdep gcc34>=3.4.6 @blddep digest-20070803 @blddep tnftp-20070806 @blddep libtool-base-1.5.24nb5 @blddep gmake-3.81 @blddep patch-2.5.4nb2 @comment $NetBSD: PLIST,v 1.6 2005/05/02 20:34:05 reed Exp $ include/fam.h @comment MD5:29a993b2c6c7482cd0260d14f017b4fa lib/libfam.la @comment MD5:7d16313c5de0df19b145e5fc6dae0e75 lib/libfam.a @comment MD5:76160f94102f1d409eeef6f7847ae4af lib/libfam.so @comment Symlink:libfam.so.0.0.0 lib/libfam.so.0 @comment Symlink:libfam.so.0.0.0 lib/libfam.so.0.0.0 @comment MD5:82f52ed62d072904223dd09451cf6dfb man/man3/fam.3 @comment MD5:61dce55ae1d70934a8fc6b16bad7f2f5 man/man5/famd.conf.5 @comment MD5:882f2e6902f20992e450a90339872503 man/man8/famd.8 @comment MD5:934b68d30342b3515144a518af58714f sbin/famd @comment MD5:3bd8cffdaeded5184622283374513641 share/examples/fam/fam.conf @comment MD5:6c5655b7097bb342a012cdc16abc1830 share/examples/rc.d/famd @comment MD5:4f5f34b2678e63e1db1a00e1f6d14b4d @dirrm share/examples/fam @cwd . @ignore +COMMENT @ignore +DESC @ignore +INSTALL @ignore +DEINSTALL @ignore +DISPLAY @display +DISPLAY @ignore +BUILD_VERSION @ignore +BUILD_INFO @ignore +SIZE_PKG @ignore +SIZE_ALL +COMMENT000444 000000 000000 00000000030 11035617755 012135 0ustar00rootroot000000 000000 File Alteration Monitor +DESC000444 000000 000000 00000001676 11035617755 011572 0ustar00rootroot000000 000000 FAM, the File Alteration Monitor, provides an API which applications can use to be notified when specific files or directories are changed. FAM comes in two parts: fam, the daemon which listens for requests and delivers notification, and libfam, a library which client applications can use to communicate with fam. If the monitored files are mounted from a remote host, the local FAM will attempt to contact FAM on the remote host, and will pass the requests on to the remote FAM. FAM can also notify its clients when a file starts and stops execution. (The IRIX Interactive Desktop uses this to change a program's icon while it's running, for example.) FAM was originally written for IRIX in 1989 by Bruce Karsh, and was rewritten in 1995 by Bob Miller. This open-source release of FAM builds and runs on NetBSD, FreeBSD, Linux, and IRIX, and is the same FAM that will be included with IRIX 6.5.8. Homepage: http://oss.sgi.com/projects/fam/ +INSTALL000755 000000 000000 00000062445 11035617725 012165 0ustar00rootroot000000 000000 #!/bin/ksh # # $NetBSD: header,v 1.2 2006/07/19 22:26:26 jlam Exp $ SELF="$0" PKGNAME="$1" STAGE="$2" shift 2 AWK="/usr/pkg/bin/nawk" BASENAME="/usr/bin/basename" CAT="/usr/bin/cat" CHGRP="/usr/bin/chgrp" CHMOD="/usr/bin/chmod" CHOWN="/usr/bin/chown" CMP="/bin/cmp" CP="/bin/cp" DIRNAME="/usr/bin/dirname" ECHO="/usr/ucb/echo" ECHO_N="/usr/ucb/echo -n" EGREP="/usr/xpg4/bin/grep -E" EXPR="/usr/xpg4/bin/expr" FALSE="/usr/bin/false" FIND="/usr/bin/find" GREP="/usr/xpg4/bin/grep" GTAR="" HEAD="/usr/bin/head" ID="/usr/xpg4/bin/id" LINKFARM="/usr/pkg/sbin/linkfarm" LN="/usr/bin/ln" LS="/usr/bin/ls" MKDIR="/usr/bin/mkdir -p" MV="/usr/bin/mv" PERL5="/usr/pkg/bin/perl" PKG_ADMIN="/usr/pkg/sbin/pkg_admin" PKG_INFO="/usr/pkg/sbin/pkg_info" PWD_CMD="/bin/pwd" RM="/usr/bin/rm" RMDIR="/usr/bin/rmdir" SED="/usr/pkg/bin/nbsed" SETENV="/usr/bin/env" SH="/bin/ksh" SORT="/usr/bin/sort" SU="/usr/bin/su" TEST="test" TOUCH="/usr/bin/touch" TR="/usr/bin/tr" TRUE="/usr/bin/true" XARGS="/usr/bin/xargs" CURDIR=`${PWD_CMD}` : ${PKG_METADATA_DIR=${CURDIR}} PKGBASE="fam" LOCALBASE="/usr/pkg" X11BASE="/usr/openwin" DEPOTBASE="/usr/pkg/packages" PREFIX="/usr/pkg" case ${PKG_PREFIX} in ${LOCALBASE}/*) VIEW="${PKG_PREFIX#${LOCALBASE}/}" ;; *) VIEW="" ;; esac PKG_SYSCONFBASE="/usr/pkg/etc" PKG_SYSCONFDEPOTBASE="" PKG_SYSCONFBASEDIR="/usr/pkg/etc" PKG_SYSCONFDIR="/usr/pkg/etc" CONF_DEPENDS="" case ${VIEW} in "") PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}" ;; *) PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}/${VIEW}" ;; esac CONF_IGNORE_FILES="*[~#] *.OLD *.orig *,v .pkgsrc */.pkgsrc" PKG_INSTALLATION_TYPE="overwrite" case "${PKG_CONFIG:-YES}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_CONFIG=yes ;; esac # $NetBSD: files,v 1.5 2008/01/04 21:50:27 heinz Exp $ # # Generate a +FILES script that reference counts config files that are # required for the proper functioning of the package. # case "${STAGE},$1" in UNPACK,|UNPACK,+FILES) ${CAT} > ./+FILES << 'EOF' #!/bin/ksh # # +FILES - reference-counted configuration file management script # # Usage: ./+FILES ADD|REMOVE|PERMS [metadatadir] # ./+FILES VIEW-REMOVE depotdir viewdir # ./+FILES CHECK-ADD|CHECK-REMOVE|CHECK-PERMS [metadatadir] # # This script supports two actions, ADD and REMOVE, that will add or # remove the configuration files needed by the package associated with # . The CHECK-ADD action will check whether any files # needed by the package are missing, and print an informative message # noting those files. The CHECK-REMOVE action will check whether # any files needed by the package still exist, and print an informative # message noting those files. The CHECK-ADD and CHECK-REMOVE actions # return non-zero if they detect either missing or existing files, # respectively. The VIEW-REMOVE action will remove from the # links to the configuration files in . The PERMS action # will correct any ownership or permission discrepancies between the # existing files and the data in this script, and the CHECK-PERMS # action will check whether any files have the wrong ownership or # permission and print an informative message noting those files. The # CHECK-PERMS action will return non-zero if it detects files with # wrong ownership or permissions. # # Lines starting with "# FILE: " are data read by this script that # name the files that this package requires to exist to function # correctly, along with the locations of the example files, e.g. # # # FILE: /etc/bar.conf c /example/bar.conf # # FILE: /etc/baz/conf c /example/baz.conf 0600 foo-user foo-group # # For each FILE entry, if the file path is relative, then it is taken to # be relative to ${PKG_PREFIX}. # # The second field in each FILE entry is a set of flags with the following # meaning: # # c file is copied into place # f ignore ${PKG_CONFIG} # r file is an rc.d script (consider ${PKG_RCD_SCRIPTS}) # AWK="/usr/pkg/bin/nawk" CAT="/usr/bin/cat" CP="/bin/cp" CHGRP="/usr/bin/chgrp" CHMOD="/usr/bin/chmod" CHOWN="/usr/bin/chown" CMP="/bin/cmp" ECHO="/usr/ucb/echo" GREP="/usr/xpg4/bin/grep" LS="/usr/bin/ls" MKDIR="/usr/bin/mkdir -p" MV="/usr/bin/mv" PWD_CMD="/bin/pwd" RM="/usr/bin/rm" RMDIR="/usr/bin/rmdir" SED="/usr/pkg/bin/nbsed" SORT="/usr/bin/sort" TEST="test" TRUE="/usr/bin/true" SELF=$0 ACTION=$1 : ${PKG_PREFIX=/usr/pkg} case "${PKG_CONFIG:-YES}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_CONFIG=no ;; esac case "${PKG_CONFIG_PERMS:-NO}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG_PERMS=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_CONFIG_PERMS=no ;; esac case "${PKG_RCD_SCRIPTS:-NO}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_RCD_SCRIPTS=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_RCD_SCRIPTS=no ;; esac case $ACTION in VIEW-REMOVE) DEPOTDIR="$2" VIEWDIR="$3" ${TEST} -n "${DEPOTDIR}" -a -n "${VIEWDIR}" || exit 0 ;; *) CURDIR=`${PWD_CMD}` PKG_METADATA_DIR="${2-${CURDIR}}" : ${PKGNAME=${PKG_METADATA_DIR##*/}} : ${PKG_DBDIR=${PKG_METADATA_DIR%/*}} : ${PKG_REFCOUNT_DBDIR=${PKG_DBDIR}.refcount} PKG_REFCOUNT_FILES_DBDIR="${PKG_REFCOUNT_DBDIR}/files" ;; esac exitcode=0 case $ACTION in ADD) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -u | while read file f_flags f_eg f_mode f_user f_group; do case $file in "") continue ;; [!/]*) file="${PKG_PREFIX}/$file" ;; esac case $f_flags in *c*) ;; *) continue ;; esac case $f_eg in "") continue ;; [!/]*) f_eg="${PKG_PREFIX}/$f_eg" ;; esac shadow_dir="${PKG_REFCOUNT_FILES_DBDIR}$file" perms="$shadow_dir/+PERMISSIONS" preexist="$shadow_dir/+PREEXISTING" token="$shadow_dir/${PKGNAME}" if ${TEST} ! -d "$shadow_dir"; then ${MKDIR} $shadow_dir ${TEST} ! -f "$file" || ${ECHO} "${PKGNAME}" > $preexist fi if ${TEST} -f "$token" && \ ${GREP} "^${PKG_METADATA_DIR}$" $token >/dev/null; then : else ${ECHO} "${PKG_METADATA_DIR}" >> $token fi case $f_mode$f_user$f_group in "") ;; *) ${ECHO} "$f_mode $f_user $f_group" > $perms ;; esac if ${TEST} ! -f "$file" -a ! -f "$f_eg"; then : else case "$f_flags:$_PKG_CONFIG:$_PKG_RCD_SCRIPTS" in *f*:*:*|[!r]:yes:*|[!r][!r]:yes:*|[!r][!r][!r]:yes:*|*r*:yes:yes) if ${TEST} -f "$file"; then ${ECHO} "${PKGNAME}: $file already exists" elif ${TEST} -f "$f_eg"; then ${ECHO} "${PKGNAME}: copying $f_eg to $file" ${CP} $f_eg $file case $f_user in "") ;; *) ${CHOWN} $f_user $file ;; esac case $f_group in "") ;; *) ${CHGRP} $f_group $file ;; esac case $f_mode in "") ;; *) ${CHMOD} $f_mode $file ;; esac fi ;; esac fi done ;; REMOVE) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | while read file f_flags f_eg f_mode f_user f_group; do case $file in "") continue ;; [!/]*) file="${PKG_PREFIX}/$file" ;; esac case $f_flags in *c*) ;; *) continue ;; esac case $f_eg in "") continue ;; [!/]*) f_eg="${PKG_PREFIX}/$f_eg" ;; esac shadow_dir="${PKG_REFCOUNT_FILES_DBDIR}$file" perms="$shadow_dir/+PERMISSIONS" preexist="$shadow_dir/+PREEXISTING" token="$shadow_dir/${PKGNAME}" tokentmp="$token.tmp.$$" if ${TEST} -f "$token" && \ ${GREP} "^${PKG_METADATA_DIR}$" $token >/dev/null; then ${CAT} "$token" | ${GREP} -v "^${PKG_METADATA_DIR}$" > $tokentmp case `${CAT} $tokentmp | ${SED} -n "$="` in "") if ${TEST} -f "$preexist"; then : elif ${TEST} -f "$file" -a -f "$f_eg" && \ ${CMP} -s "$file" "$f_eg"; then case "$f_flags:$_PKG_CONFIG:$_PKG_RCD_SCRIPTS" in *f*:*:*|[!r]:yes:*|[!r][!r]:yes:*|[!r][!r][!r]:yes:*|*r*:yes:yes) ${RM} -f "$file" ;; esac fi ${RM} -f $perms $preexist $token $token.tmp.* ${RMDIR} -p $shadow_dir 2>/dev/null || ${TRUE} ;; *) ${MV} -f $tokentmp $token ;; esac fi done ;; PERMS) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | while read file f_flags f_eg f_mode f_user f_group; do case $_PKG_CONFIG:$_PKG_CONFIG_PERMS in yes:yes) ;; *) continue ;; esac case $file in "") continue ;; [!/]*) file="${PKG_PREFIX}/$file" ;; esac case $f_user in "") ;; *) ${CHOWN} $f_user $file ;; esac case $f_group in "") ;; *) ${CHGRP} $f_group $file ;; esac case $f_mode in "") ;; *) ${CHMOD} $f_mode $file ;; esac done ;; VIEW-REMOVE) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | while read file f_flags f_eg f_mode f_user f_group; do case $file in ${DEPOTDIR}/*) link="${VIEWDIR}/${file#${DEPOTDIR}/}" ;; [!/]*) link="${VIEWDIR}/$file" ;; *) continue ;; esac dir="${link%[^/]*}" if ${TEST} -h "$link"; then ${RM} -f $link ${RMDIR} -p $dir 2>/dev/null || ${TRUE} fi done ;; CHECK-ADD) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | { while read file f_flags f_eg f_mode f_user f_group; do case $file in "") continue ;; [!/]*) file="${PKG_PREFIX}/$file" ;; esac ${TEST} ! -f "$file" || continue case $f_flags in *c*) ;; *) continue ;; esac case $f_eg in "") continue ;; [!/]*) f_eg="${PKG_PREFIX}/$f_eg" ;; esac case "$printed_header" in yes) ;; *) printed_header=yes ${ECHO} "===========================================================================" ${ECHO} "The following files should be created for ${PKGNAME}:" ;; esac ${ECHO} "" case $f_mode:$f_user:$f_group in ::) ${ECHO} " $file" ;; [!:]*::) ${ECHO} " $file (m=$f_mode)" ;; [!:]*:[!:]*:) ${ECHO} " $file (m=$f_mode, o=$f_user)" ;; [!:]*:[!:]*:[!:]*) ${ECHO} " $file (m=$f_mode, o=$f_user, g=$f_group)" ;; esac ${TEST} ! -f "$f_eg" || ${ECHO} " [$f_eg]" done case "$printed_header" in yes) ${ECHO} "" ${ECHO} "===========================================================================" exit 1 ;; esac; } ${TEST} $? -eq 0 || exitcode=1 ;; CHECK-REMOVE) ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | { while read file f_flags f_eg f_mode f_user f_group; do case $file in "") continue ;; [!/]*) file="${PKG_PREFIX}/$file" ;; esac ${TEST} -f "$file" || continue shadow_dir="${PKG_REFCOUNT_FILES_DBDIR}$file" ${TEST} ! -d "$shadow_dir" || continue # refcount isn't zero case "$printed_header" in yes) ;; *) printed_header=yes ${ECHO} "===========================================================================" ${ECHO} "The following files are no longer being used by ${PKGNAME}," ${ECHO} "and they can be removed if no other packages are using them:" ${ECHO} "" ;; esac ${ECHO} " $file" done case "$printed_header" in yes) ${ECHO} "" ${ECHO} "===========================================================================" exit 1 ;; esac; } ${TEST} $? -eq 0 || exitcode=1 ;; CHECK-PERMS) tmpdir="./.pkginstall.$$" ${MKDIR} -p $tmpdir 2>/dev/null || exit 1 ${CHMOD} 0700 $tmpdir ${SED} -n "/^\# FILE: /{s/^\# FILE: //;p;}" ${SELF} | ${SORT} -ru | { while read file f_flags f_eg f_mode f_user f_group; do case $file in "") continue ;; [!/]*) file="${PKG_PREFIX}/$file" ;; esac ${TEST} -f "$file" || continue case $f_mode:$f_user:$f_group in ::) continue ;; esac perms=`${LS} -l $file | ${AWK} '{ print $1":"$3":"$4 }'` testpath="$tmpdir/file_perms" ${ECHO} > $testpath ${CHMOD} $f_mode $testpath 2>/dev/null longmode=`${LS} -l $testpath | ${AWK} '{ print $1 }'` case $f_mode:$f_user:$f_group in :[!:]*:) case "$perms" in *:$f_user:*) continue ;; esac ;; :[!:]*:[!:]*) case "$perms" in *:$f_user:$f_group) continue ;; esac ;; [!:]*::) case "$perms" in $longmode:*:*) continue ;; esac ;; [!:]*:[!:]*:) case "$perms" in $longmode:$f_user:*) continue ;; esac ;; [!:]*:[!:]*:[!:]*) case "$perms" in $longmode:$f_user:$f_group) continue ;; esac ;; esac case "$printed_header" in yes) ;; *) printed_header=yes ${ECHO} "===========================================================================" ${ECHO} "The following files are used by ${PKGNAME} and have" ${ECHO} "the wrong ownership and/or permissions:" ${ECHO} "" ;; esac case $f_mode:$f_user:$f_group in [!:]*::) ${ECHO} " $file (m=$f_mode)" ;; [!:]*:[!:]*:) ${ECHO} " $file (m=$f_mode, o=$f_user)" ;; [!:]*:[!:]*:[!:]*) ${ECHO} " $file (m=$f_mode, o=$f_user, g=$f_group)" ;; esac done case "$printed_header" in yes) ${ECHO} "" ${ECHO} "===========================================================================" exit 1 ;; esac; } ${TEST} $? -eq 0 || exitcode=1 ${RM} -fr $tmpdir ;; *) ${ECHO} "Usage: ./+FILES ADD|REMOVE|PERMS [metadatadir]" ${ECHO} " ./+FILES VIEW-REMOVE depotdir viewdir" ${ECHO} " ./+FILES CHECK-ADD|CHECK-REMOVE|CHECK-PERMS [metadatadir]" ;; esac exit $exitcode EOF ${SED} -n "/^\# FILE: /p" ${SELF} >> ./+FILES ${CHMOD} +x ./+FILES ;; esac # $NetBSD: dirs,v 1.4 2008/01/04 21:50:27 heinz Exp $ # # Generate a +DIRS script that reference counts directories that are # required for the proper functioning of the package. # case "${STAGE},$1" in UNPACK,|UNPACK,+DIRS) ${CAT} > ./+DIRS << 'EOF' #!/bin/ksh # # +DIRS - reference-counted directory management script # # Usage: ./+DIRS ADD|REMOVE|PERMS [metadatadir] # ./+DIRS CHECK-ADD|CHECK-REMOVE|CHECK-PERMS [metadatadir] # # This script supports two actions, ADD and REMOVE, that will add or # remove the directories needed by the package associated with # . The CHECK-ADD action will check whether any directories # needed by the package are missing, and print an informative message # noting those directories. The CHECK-REMOVE action will check whether # any directories needed by the package still exist, and print an # informative message noting those directories. The CHECK-ADD and # CHECK-REMOVE actions return non-zero if they detect either missing # or existing directories, respectively. The PERMS action will correct # any ownership or permission discrepancies between the existing # directories and the data in this script, and the CHECK-PERMS action # will check whether any directories have the wrong ownership or # permission and print an informative message noting those directories. # The CHECK-PERMS action will return non-zero if it detects directories # with wrong ownership or permissions. # # Lines starting with "# DIR: " are data read by this script that # name the directories that this package requires to exist to function # correctly, e.g. # # # DIR: /etc/foo m # # DIR: /var/log/foo/tmp mo 0700 foo-user foo-group # # DIR: share/foo-plugins fm # # For each DIR entry, if the directory path is relative, then it is taken # to be relative to ${PKG_PREFIX}. # # The second field in each DIR entry is a set of flags with the following # meanings: # # f ignore ${PKG_CONFIG} # m create (make) the directory when ADDing # o directory is owned by the package # AWK="/usr/pkg/bin/nawk" CAT="/usr/bin/cat" CHGRP="/usr/bin/chgrp" CHMOD="/usr/bin/chmod" CHOWN="/usr/bin/chown" ECHO="/usr/ucb/echo" GREP="/usr/xpg4/bin/grep" LS="/usr/bin/ls" MKDIR="/usr/bin/mkdir -p" MV="/usr/bin/mv" PWD_CMD="/bin/pwd" RM="/usr/bin/rm" RMDIR="/usr/bin/rmdir" SED="/usr/pkg/bin/nbsed" SORT="/usr/bin/sort" TEST="test" TRUE="/usr/bin/true" SELF=$0 ACTION=$1 CURDIR=`${PWD_CMD}` PKG_METADATA_DIR="${2-${CURDIR}}" : ${PKGNAME=${PKG_METADATA_DIR##*/}} : ${PKG_DBDIR=${PKG_METADATA_DIR%/*}} : ${PKG_REFCOUNT_DBDIR=${PKG_DBDIR}.refcount} : ${PKG_PREFIX=/usr/pkg} PKG_REFCOUNT_DIRS_DBDIR="${PKG_REFCOUNT_DBDIR}/dirs" case "${PKG_CONFIG:-YES}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_CONFIG=no ;; esac case "${PKG_CONFIG_PERMS:-NO}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG_PERMS=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_CONFIG_PERMS=no ;; esac exitcode=0 case $ACTION in ADD) ${SED} -n "/^\# DIR: /{s/^\# DIR: //;p;}" ${SELF} | ${SORT} -u | while read dir d_flags d_mode d_user d_group; do case $dir in "") continue ;; [!/]*) dir="${PKG_PREFIX}/$dir" ;; esac case $d_flags in *m*) ;; *) continue ;; esac shadow_dir="${PKG_REFCOUNT_DIRS_DBDIR}$dir" perms="$shadow_dir/+PERMISSIONS" preexist="$shadow_dir/+PREEXISTING" token="$shadow_dir/${PKGNAME}" if ${TEST} ! -d "$shadow_dir"; then ${MKDIR} $shadow_dir ${TEST} ! -d "$dir" || ${ECHO} "${PKGNAME}" > $preexist fi if ${TEST} -f "$token" && \ ${GREP} "^${PKG_METADATA_DIR}$" $token >/dev/null; then : else ${ECHO} "${PKG_METADATA_DIR}" >> $token fi case $d_mode$d_user$d_group in "") ;; *) ${ECHO} "$d_user $d_group $d_mode" > $perms ;; esac case $d_flags:$_PKG_CONFIG in *f*:*|*:yes) ${MKDIR} $dir case $d_user in "") ;; *) ${CHOWN} $d_user $dir ;; esac case $d_group in "") ;; *) ${CHGRP} $d_group $dir ;; esac case $d_mode in "") ;; *) ${CHMOD} $d_mode $dir ;; esac ;; esac done ;; REMOVE) ${SED} -n "/^\# DIR: /{s/^\# DIR: //;p;}" ${SELF} | ${SORT} -ru | while read dir d_flags d_mode d_user d_group; do case $dir in "") continue ;; [!/]*) dir="${PKG_PREFIX}/$dir" ;; esac case $d_flags in *m*) ;; *) continue ;; esac shadow_dir="${PKG_REFCOUNT_DIRS_DBDIR}$dir" perms="$shadow_dir/+PERMISSIONS" preexist="$shadow_dir/+PREEXISTING" token="$shadow_dir/${PKGNAME}" tokentmp="$token.tmp.$$" if ${TEST} -f "$token" && \ ${GREP} "^${PKG_METADATA_DIR}$" $token >/dev/null; then ${CAT} "$token" | ${GREP} -v "^${PKG_METADATA_DIR}$" > $tokentmp case `${CAT} $tokentmp | ${SED} -n "$="` in "") ${TEST} -f "$preexist" || { case $d_flags:$_PKG_CONFIG in *f*:*|*:yes) ${RMDIR} -p $dir 2>/dev/null || ${TRUE}; ;; esac; } ${RM} -f $perms $preexist $token $token.tmp.* ${RMDIR} -p $shadow_dir 2>/dev/null || ${TRUE} ;; *) ${MV} -f $tokentmp $token ;; esac fi done ;; PERMS) ${SED} -n "/^\# DIR: /{s/^\# DIR: //;p;}" ${SELF} | ${SORT} -u | while read dir d_flags d_mode d_user d_group; do case $_PKG_CONFIG:$_PKG_CONFIG_PERMS in yes:yes) ;; *) continue ;; esac case $dir in "") continue ;; [!/]*) dir="${PKG_PREFIX}/$dir" ;; esac case $d_user in "") ;; *) ${CHOWN} $d_user $dir ;; esac case $d_group in "") ;; *) ${CHGRP} $d_group $dir ;; esac case $d_mode in "") ;; *) ${CHMOD} $d_mode $dir ;; esac done ;; CHECK-ADD) ${SED} -n "/^\# DIR: /{s/^\# DIR: //;p;}" ${SELF} | ${SORT} -u | { while read dir d_flags d_mode d_user d_group; do case $dir in "") continue ;; [!/]*) dir="${PKG_PREFIX}/$dir" ;; esac ${TEST} ! -d "$dir" || continue case $d_flags in *m*) ;; *) continue ;; esac case "$printed_header" in yes) ;; *) printed_header=yes ${ECHO} "===========================================================================" ${ECHO} "The following directories should be created for ${PKGNAME}:" ${ECHO} "" ;; esac case $d_user:$d_group:$d_mode in [!:]*:[!:]*:[!:]*) ${ECHO} " $dir (m=$d_mode, o=$d_user, g=$d_group)" ;; *) ${ECHO} " $dir" ;; esac done case "$printed_header" in yes) ${ECHO} "" ${ECHO} "===========================================================================" exit 1 ;; esac; } ${TEST} $? -eq 0 || exitcode=1 ;; CHECK-REMOVE) ${SED} -n "/^\# DIR: /{s/^\# DIR: //;p;}" ${SELF} | ${SORT} -ru | { while read dir d_flags d_mode d_user d_group; do case $dir in "") continue ;; [!/]*) dir="${PKG_PREFIX}/$dir" ;; esac ${TEST} -d "$dir" || continue case $d_flags in *o*) ;; *) continue ;; esac shadow_dir="${PKG_REFCOUNT_DIRS_DBDIR}$dir" ${TEST} ! -d "$shadow_dir" || continue # refcount isn't zero case "$printed_header" in yes) ;; *) printed_header=yes ${ECHO} "===========================================================================" ${ECHO} "The following directories are no longer being used by ${PKGNAME}," ${ECHO} "and they can be removed if no other packages are using them:" ${ECHO} "" ;; esac ${ECHO} " $dir" done case "$printed_header" in yes) ${ECHO} "" ${ECHO} "===========================================================================" exit 1 ;; esac; } ${TEST} $? -eq 0 || exitcode=1 ;; CHECK-PERMS) tmpdir="./.pkginstall.$$" ${MKDIR} -p $tmpdir 2>/dev/null || exit 1 ${CHMOD} 0700 $tmpdir ${SED} -n "/^\# DIR: /{s/^\# DIR: //;p;}" ${SELF} | ${SORT} -ru | { while read dir d_flags d_mode d_user d_group; do case $dir in "") continue ;; [!/]*) dir="${PKG_PREFIX}/$dir" ;; esac ${TEST} -d "$dir" || continue case $d_user:$d_group:$d_mode in ::) continue ;; esac perms=`${LS} -ld $dir | ${AWK} '{ print $1":"$3":"$4 }'` testpath="$tmpdir/dir_perms" ${MKDIR} -p $testpath ${CHMOD} $d_mode $testpath 2>/dev/null longmode=`${LS} -ld $testpath | ${AWK} '{ print $1 }'` case $d_mode:$d_user:$d_group in :[!:]*:) case "$perms" in *:$d_user:*) continue ;; esac ;; :[!:]*:[!:]*) case "$perms" in *:$d_user:$d_group) continue ;; esac ;; [!:]*::) case "$perms" in $longmode:*:*) continue ;; esac ;; [!:]*:[!:]*:) case "$perms" in $longmode:$d_user:*) continue ;; esac ;; [!:]*:[!:]*:[!:]*) case "$perms" in $longmode:$d_user:$d_group) continue ;; esac ;; esac case "$printed_header" in yes) ;; *) printed_header=yes ${ECHO} "===========================================================================" ${ECHO} "The following directories are used by ${PKGNAME} and" ${ECHO} "have the wrong ownership and/or permissions:" ${ECHO} "" ;; esac case $d_mode:$d_user:$d_group in [!:]*::) ${ECHO} " $dir (m=$d_mode)" ;; [!:]*:[!:]*:) ${ECHO} " $dir (m=$d_mode, o=$d_user)" ;; [!:]*:[!:]*:[!:]*) ${ECHO} " $dir (m=$d_mode, o=$d_user, g=$d_group)" ;; esac done case "$printed_header" in yes) ${ECHO} "" ${ECHO} "===========================================================================" exit 1 ;; esac; } ${TEST} $? -eq 0 || exitcode=1 ${RM} -fr $tmpdir ;; *) ${ECHO} "Usage: ./+DIRS ADD|REMOVE|PERMS [metadatadir]" ${ECHO} " ./+DIRS CHECK-ADD|CHECK-REMOVE|CHECK-PERMS [metadatadir]" ;; esac exit $exitcode EOF ${SED} -n "/^\# DIR: /p" ${SELF} >> ./+DIRS ${CHMOD} +x ./+DIRS ;; esac # $NetBSD: install,v 1.2 2007/07/18 18:01:03 jlam Exp $ case ${STAGE} in PRE-INSTALL) # # Unpack the helper scriptlets. # ${SH} ${SELF} ${PKGNAME} UNPACK # # Require that necessary users and groups exist or else fail the # installation of the package. # ${TEST} ! -x ./+USERGROUP || { ./+USERGROUP ADD ${PKG_METADATA_DIR} if ./+USERGROUP CHECK-ADD ${PKG_METADATA_DIR}; then : else exit 1 fi; } # # Create package directories at pre-install time. # if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" -a \ "${_PKG_CONFIG}" = "yes" -a -n "${CONF_DEPENDS}" ]; then pkg=`${PKG_ADMIN} -b -d ${DEPOTBASE} -s "" lsbest "${CONF_DEPENDS}"` sysconfdir=`${PKG_INFO} -B -K ${DEPOTBASE} $pkg | \ ${AWK} '/^PKG_SYSCONFDIR=/ { \ gsub("^PKG_SYSCONFDIR=[ ]*", ""); \ print; \ }' \ ` if [ -d $sysconfdir -a ! -d ${PKG_SYSCONFDIR} ]; then ${MKDIR} -p `${DIRNAME} ${PKG_SYSCONFDIR}` ${LN} -sf $sysconfdir ${PKG_SYSCONFDIR} fi fi ${TEST} ! -x ./+DIRS || ./+DIRS ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+DIRS || ./+DIRS PERMS ${PKG_METADATA_DIR} ;; POST-INSTALL) # # Rebuild the system run-time library search path database. # ${TEST} ! -x ./+SHLIBS || ./+SHLIBS ADD ${PKG_METADATA_DIR} # # Copy configuration/support files into place. # ${TEST} ! -x ./+FILES || ./+FILES ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES PERMS ${PKG_METADATA_DIR} # # Set special permissions on any files/directories that need them. # ${TEST} ! -x ./+PERMS || ./+PERMS ${PKG_METADATA_DIR} # # Update any fonts databases. # ${TEST} ! -x ./+FONTS || ./+FONTS ${PKG_METADATA_DIR} # Check for any missing bits after we're finished installing. # ${TEST} ! -x ./+DIRS || ./+DIRS CHECK-ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+DIRS || ./+DIRS CHECK-PERMS ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES CHECK-ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES CHECK-PERMS ${PKG_METADATA_DIR} ;; VIEW-INSTALL) # # Register shells in /etc/shells. # ${TEST} ! -x ./+SHELL || ./+SHELL ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+SHELL || ./+SHELL CHECK-ADD ${PKG_METADATA_DIR} # # Register info files. # ${TEST} ! -x ./+INFO_FILES || ./+INFO_FILES ADD ${PKG_METADATA_DIR} # If ${PKG_SYSCONFBASE} points outside of ${PREFIX}, then add the # package config files to the proper view. # if [ "${_PKG_CONFIG}" = "yes" -a -n "${PKG_SYSCONFDEPOTBASE}" ]; then ${SETENV} PLIST_IGNORE_FILES="${CONF_IGNORE_FILES}" \ ${LINKFARM} -t ${PKG_SYSCONFVIEWBASE} -d ${PKG_SYSCONFDEPOTBASE} ${PKGNAME} fi ;; esac # $NetBSD: install-post,v 1.1 2006/05/21 23:50:15 jlam Exp $ # Ensure that the VIEW-INSTALL action is called for overwrite packages. # This is here to ensure that it's the final POST-INSTALL action (after # any INSTALL_TEMPLATE POST-INSTALL actions). # case ${STAGE} in POST-INSTALL) if [ "${PKG_INSTALLATION_TYPE}" = "overwrite" ]; then ${SETENV} PKG_PREFIX="${PKG_PREFIX}" \ $0 ${PKGNAME} VIEW-INSTALL fi ;; esac # $NetBSD: footer,v 1.1 2006/05/21 23:50:15 jlam Exp $ exit 0 # FILE: /etc/rc.d/famd cr share/examples/rc.d/famd 0755 # FILE: etc/fam.conf c share/examples/fam/fam.conf 0644 # DIR: etc m # DIR: /etc/rc.d m +DEINSTALL000755 000000 000000 00000010136 11035617725 012364 0ustar00rootroot000000 000000 #!/bin/ksh # # $NetBSD: header,v 1.2 2006/07/19 22:26:26 jlam Exp $ SELF="$0" PKGNAME="$1" STAGE="$2" shift 2 AWK="/usr/pkg/bin/nawk" BASENAME="/usr/bin/basename" CAT="/usr/bin/cat" CHGRP="/usr/bin/chgrp" CHMOD="/usr/bin/chmod" CHOWN="/usr/bin/chown" CMP="/bin/cmp" CP="/bin/cp" DIRNAME="/usr/bin/dirname" ECHO="/usr/ucb/echo" ECHO_N="/usr/ucb/echo -n" EGREP="/usr/xpg4/bin/grep -E" EXPR="/usr/xpg4/bin/expr" FALSE="/usr/bin/false" FIND="/usr/bin/find" GREP="/usr/xpg4/bin/grep" GTAR="" HEAD="/usr/bin/head" ID="/usr/xpg4/bin/id" LINKFARM="/usr/pkg/sbin/linkfarm" LN="/usr/bin/ln" LS="/usr/bin/ls" MKDIR="/usr/bin/mkdir -p" MV="/usr/bin/mv" PERL5="/usr/pkg/bin/perl" PKG_ADMIN="/usr/pkg/sbin/pkg_admin" PKG_INFO="/usr/pkg/sbin/pkg_info" PWD_CMD="/bin/pwd" RM="/usr/bin/rm" RMDIR="/usr/bin/rmdir" SED="/usr/pkg/bin/nbsed" SETENV="/usr/bin/env" SH="/bin/ksh" SORT="/usr/bin/sort" SU="/usr/bin/su" TEST="test" TOUCH="/usr/bin/touch" TR="/usr/bin/tr" TRUE="/usr/bin/true" XARGS="/usr/bin/xargs" CURDIR=`${PWD_CMD}` : ${PKG_METADATA_DIR=${CURDIR}} PKGBASE="fam" LOCALBASE="/usr/pkg" X11BASE="/usr/openwin" DEPOTBASE="/usr/pkg/packages" PREFIX="/usr/pkg" case ${PKG_PREFIX} in ${LOCALBASE}/*) VIEW="${PKG_PREFIX#${LOCALBASE}/}" ;; *) VIEW="" ;; esac PKG_SYSCONFBASE="/usr/pkg/etc" PKG_SYSCONFDEPOTBASE="" PKG_SYSCONFBASEDIR="/usr/pkg/etc" PKG_SYSCONFDIR="/usr/pkg/etc" CONF_DEPENDS="" case ${VIEW} in "") PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}" ;; *) PKG_SYSCONFVIEWBASE="${PKG_SYSCONFBASE}/${VIEW}" ;; esac CONF_IGNORE_FILES="*[~#] *.OLD *.orig *,v .pkgsrc */.pkgsrc" PKG_INSTALLATION_TYPE="overwrite" case "${PKG_CONFIG:-YES}" in [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) _PKG_CONFIG=yes ;; [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) _PKG_CONFIG=yes ;; esac # $NetBSD: deinstall-pre,v 1.1 2006/05/21 23:50:15 jlam Exp $ # Ensure that the VIEW-DEINSTALL action is called for overwrite packages. # This is here to ensure that it's the first DEINSTALL action (before # any DEINSTALL_TEMPLATE DEINSTALL actions). # case ${STAGE} in DEINSTALL) if [ "${PKG_INSTALLATION_TYPE}" = "overwrite" ]; then ${SETENV} PKG_PREFIX="${PKG_PREFIX}" \ $0 ${PKGNAME} VIEW-DEINSTALL fi ;; esac # $NetBSD: deinstall,v 1.2 2007/07/18 18:01:03 jlam Exp $ case ${STAGE} in VIEW-DEINSTALL) case ${_PKG_CONFIG} in yes) case ${PKG_SYSCONFDEPOTBASE} in "") ${TEST} ! -x ./+FILES || ./+FILES VIEW-REMOVE ${PREFIX} ${PKG_PREFIX} ;; *) ${SETENV} PLIST_IGNORE_FILES="${CONF_IGNORE_FILES}" \ ${LINKFARM} -D -t ${PKG_SYSCONFVIEWBASE} -d ${PKG_SYSCONFDEPOTBASE} ${PKGNAME} ${RMDIR} -p ${PKG_SYSCONFVIEWBASE} 2>/dev/null || ${TRUE} ;; esac ;; esac # # Unregister info files. # ${TEST} ! -x ./+INFO_FILES || ./+INFO_FILES REMOVE ${PKG_METADATA_DIR} # # Remove shells from /etc/shells. # ${TEST} ! -x ./+SHELL || ./+SHELL REMOVE ${PKG_METADATA_DIR} ${TEST} ! -x ./+SHELL || ./+SHELL CHECK-REMOVE ${PKG_METADATA_DIR} ;; DEINSTALL) # Remove configuration files if they don't differ from the default # config file. # ${TEST} ! -x ./+FILES || ./+FILES REMOVE ${PKG_METADATA_DIR} ;; POST-DEINSTALL) if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" -a \ "${_PKG_CONFIG}" = "yes" -a -n "${CONF_DEPENDS}" ]; then if [ -h ${PKG_SYSCONFDIR} ]; then ${RM} -f ${PKG_SYSCONFDIR} fi ${RMDIR} -p `${DIRNAME} ${PKG_SYSCONFDIR}` 2>/dev/null || ${TRUE} fi # # Update any fonts databases. # ${TEST} ! -x ./+FONTS || ./+FONTS ${PKG_METADATA_DIR} # # Rebuild the system run-time library search path database. # ${TEST} ! -x ./+SHLIBS || ./+SHLIBS REMOVE ${PKG_METADATA_DIR} # # Remove empty directories and unused users/groups. # ${TEST} ! -x ./+DIRS || ./+DIRS REMOVE ${PKG_METADATA_DIR} ${TEST} ! -x ./+USERGROUP || ./+USERGROUP REMOVE ${PKG_METADATA_DIR} # # Check for any existing bits after we're finished de-installing. # ${TEST} ! -x ./+USERGROUP || ./+USERGROUP CHECK-REMOVE ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES CHECK-REMOVE ${PKG_METADATA_DIR} ${TEST} ! -x ./+DIRS || ./+DIRS CHECK-REMOVE ${PKG_METADATA_DIR} ;; esac # $NetBSD: footer,v 1.1 2006/05/21 23:50:15 jlam Exp $ exit 0 +DISPLAY000644 000000 000000 00000001601 11035617743 012144 0ustar00rootroot000000 000000 =========================================================================== $NetBSD: MESSAGE,v 1.5 2006/05/27 14:10:28 jmmv Exp $ Because FAM uses RPC, you have to add the following line to the system's portmapper file (/etc/rpc): sgi_fam 391002 fam # File Alteration Monitor Also make sure that the RPC port mapper is enabled by checking whether rpcbind=YES is in /etc/rc.conf. After that, restart the rpcbind(8) server. Furthermore, you have to enable the FAM daemon. There are two ways to do this: through inetd(8) or as a standalone server. If you prefer the former way, add the following line to /etc/inetd.conf: sgi_fam/1-2 stream rpc/tcp wait root /usr/pkg/sbin/famd famd and reload inetd(8)'s daemon. However, if you prefer the later way, use the provided famd rc.d(8) script. =========================================================================== +BUILD_VERSION000644 000000 000000 00000007066 11035617750 013114 0ustar00rootroot000000 000000 sysutils/fam/buildlink3.mk: $NetBSD: buildlink3.mk,v 1.8 2006/07/08 23:11:08 jlam Exp $ sysutils/fam/builtin.mk: $NetBSD: builtin.mk,v 1.4 2006/04/06 06:22:45 reed Exp $ sysutils/fam/distinfo: $NetBSD: distinfo,v 1.29 2007/12/28 15:00:45 tron Exp $ sysutils/fam/files/famd.sh: $NetBSD: famd.sh,v 1.2 2008/01/09 21:17:32 wiz Exp $ sysutils/fam/files/imon-compat.h: $NetBSD: imon-compat.h,v 1.1 2004/10/17 19:20:53 jmmv Exp $ sysutils/fam/files/IMonKQueue.c++: $NetBSD: IMonKQueue.c++,v 1.4 2007/07/08 23:31:34 minskim Exp $ sysutils/fam/hacks.mk: $NetBSD: hacks.mk,v 1.1 2005/11/04 18:25:33 tv Exp $ sysutils/fam/Makefile: $NetBSD: Makefile,v 1.36 2008/01/09 21:17:32 wiz Exp $ sysutils/fam/MESSAGE.kqueue: $NetBSD: MESSAGE.kqueue,v 1.1 2004/10/17 19:20:53 jmmv Exp $ sysutils/fam/MESSAGE: $NetBSD: MESSAGE,v 1.5 2006/05/27 14:10:28 jmmv Exp $ sysutils/fam/patches/patch-aa: $NetBSD: patch-aa,v 1.9 2007/07/08 23:31:35 minskim Exp $ sysutils/fam/patches/patch-ab: $NetBSD: patch-ab,v 1.7 2007/07/08 23:31:35 minskim Exp $ sysutils/fam/patches/patch-ac: $NetBSD: patch-ac,v 1.4 2004/03/28 22:01:54 minskim Exp $ sysutils/fam/patches/patch-ad: $NetBSD: patch-ad,v 1.5 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ae: $NetBSD: patch-ae,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-af: $NetBSD: patch-af,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ag: $NetBSD: patch-ag,v 1.6 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ah: $NetBSD: patch-ah,v 1.5 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ai: $NetBSD: patch-ai,v 1.3 2004/03/28 22:00:05 minskim Exp $ sysutils/fam/patches/patch-aj: $NetBSD: patch-aj,v 1.6 2004/04/18 17:11:08 jmmv Exp $ sysutils/fam/patches/patch-ak: $NetBSD: patch-ak,v 1.5 2004/04/14 20:53:08 adam Exp $ sysutils/fam/patches/patch-al: $NetBSD: patch-al,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-am: $NetBSD: patch-am,v 1.6 2005/03/01 23:06:55 dmcmahill Exp $ sysutils/fam/patches/patch-an: $NetBSD: patch-an,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ao: $NetBSD: patch-ao,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ap: $NetBSD: patch-ap,v 1.12 2007/07/08 22:22:29 minskim Exp $ sysutils/fam/patches/patch-aq: $NetBSD: patch-aq,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ar: $NetBSD: patch-ar,v 1.5 2004/12/09 18:45:32 minskim Exp $ sysutils/fam/patches/patch-as: $NetBSD: patch-as,v 1.6 2007/01/09 10:21:51 joerg Exp $ sysutils/fam/patches/patch-at: $NetBSD: patch-at,v 1.4 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-au: $NetBSD: patch-au,v 1.5 2004/03/28 22:00:05 minskim Exp $ sysutils/fam/patches/patch-av: $NetBSD: patch-av,v 1.5 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-aw: $NetBSD: patch-aw,v 1.5 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ax: $NetBSD: patch-ax,v 1.12 2007/07/08 23:31:35 minskim Exp $ sysutils/fam/patches/patch-ay: $NetBSD: patch-ay,v 1.1 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-az: $NetBSD: patch-az,v 1.1 2004/11/19 12:35:22 sketch Exp $ sysutils/fam/patches/patch-ba: $NetBSD: patch-ba,v 1.1 2005/01/25 03:30:40 tv Exp $ sysutils/fam/patches/patch-bb: $NetBSD: patch-bb,v 1.1 2005/01/25 03:30:40 tv Exp $ sysutils/fam/patches/patch-bc: $NetBSD: patch-bc,v 1.1 2005/10/10 22:06:51 joerg Exp $ sysutils/fam/patches/patch-bd: $NetBSD: patch-bd,v 1.1 2007/12/16 14:25:14 cjep Exp $ sysutils/fam/patches/patch-be: $NetBSD: patch-be,v 1.1 2007/12/28 15:00:45 tron Exp $ sysutils/fam/PLIST: $NetBSD: PLIST,v 1.6 2005/05/02 20:34:05 reed Exp $ +BUILD_INFO000644 000000 000000 00000011025 11035617755 012515 0ustar00rootroot000000 000000 ABI= BUILD_DATE=2008-07-11 03:55:08 -0500 BUILD_HOST=SunOS marcie.christtrek.org 5.10 Generic_127127-11 sun4u sparc SUNW,Ultra-5_10 CATEGORIES=sysutils devel CC_VERSION=gcc-3.4.6 CFLAGS=-O -O2 -I/usr/pkg/gcc34/include -I/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/include -I/usr/include -I/usr/pkg/include CMAKE_ARGS= CONFIGURE_ARGS=--sysconfdir=/usr/pkg/etc --with-libintl-prefix="/usr/pkg" --with-libiconv-prefix=/usr/pkg --prefix=/usr/pkg --host=sparc-sun-solaris2 --mandir=/usr/pkg/man CONFIGURE_ENV=PTHREAD_CFLAGS=\ -D_REENTRANT PTHREAD_LDFLAGS= PTHREAD_LIBS=-lpthread\ -lrt PTHREADBASE=/usr LIBTOOL="libtool " INSTALL_INFO= MAKEINFO=/usr/pkgsrc/sysutils/fam/work.sparc/.tools/bin/makeinfo AWK=/usr/pkg/bin/nawk CAT=/usr/bin/cat ac_cv_path_CAT=/usr/bin/cat CHMOD=/usr/bin/chmod CMP=/bin/cmp CP=/bin/cp DIFF=/bin/diff ECHO=/usr/ucb/echo ac_cv_path_ECHO=/usr/ucb/echo EGREP=/usr/xpg4/bin/grep\ -E ac_cv_path_EGREP=/usr/xpg4/bin/grep\ -E SETENV=/usr/bin/env ENV_PROG=/usr/bin/env ac_cv_path_ENV=/usr/bin/env FALSE=/usr/bin/false ac_cv_path_FALSE=/usr/bin/false FIND=/usr/bin/find GREP=/usr/xpg4/bin/grep ac_cv_path_GREP=/usr/xpg4/bin/grep HOSTNAME=/bin/hostname LN=/usr/bin/ln LS=/usr/bin/ls MKDIR=/usr/bin/mkdir\ -p MV=/usr/bin/mv RM=/usr/bin/rm RMDIR=/usr/bin/rmdir SED=/usr/pkg/bin/nbsed SORT=/usr/bin/sort TAR=/usr/pkg/bin/tar TEST=test ac_cv_path_TEST=test TOUCH=/usr/bin/touch TR=/usr/bin/tr TRUE=/usr/bin/true ac_cv_path_TRUE=/usr/bin/true PKG_CONFIG= PKG_CONFIG_LIBDIR=/usr/pkgsrc/sysutils/fam/work.sparc/.buildlink/lib/pkgconfig:/usr/pkgsrc/sysutils/fam/work.sparc/.buildlink/share/pkgconfig PKG_CONFIG_LOG=/usr/pkgsrc/sysutils/fam/work.sparc/.pkg-config.log PKG_CONFIG_PATH= MAKE=make WRAPPER_DEBUG=no WRAPPER_UPDATE_CACHE=yes CC=gcc CFLAGS=-O\ -O2\ -I/usr/pkg/gcc34/include\ -I/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/include\ -I/usr/include\ -I/usr/pkg/include CPPFLAGS=-I/usr/pkg/gcc34/include\ -I/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/include\ -I/usr/include\ -I/usr/pkg/include CXX=g++ CXXFLAGS=-O\ -O2\ -I/usr/pkg/gcc34/include\ -I/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/include\ -I/usr/include\ -I/usr/pkg/include\ -O2 COMPILER_RPATH_FLAG=-Wl,-R F77=f77 FC=f77 FFLAGS=-O LANG=C LC_COLLATE=C LC_CTYPE=C LC_MESSAGES=C LC_MONETARY=C LC_NUMERIC=C LC_TIME=C LDFLAGS=-L/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6\ -Wl,-R/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6\ -L/usr/pkg/gcc34/lib\ -Wl,-R/usr/pkg/gcc34/lib\ -lsocket\ -lnsl\ -L/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/\ -Wl,-R/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/\ -L/usr/lib\ -Wl,-R/usr/lib\ -L/usr/pkg/lib\ -Wl,-R/usr/pkg/lib LINKER_RPATH_FLAG=-R PATH=/usr/pkgsrc/sysutils/fam/work.sparc/.wrapper/bin:/usr/pkgsrc/sysutils/fam/work.sparc/.buildlink/bin:/usr/pkgsrc/sysutils/fam/work.sparc/.tools/bin:/usr/pkgsrc/sysutils/fam/work.sparc/.gcc/bin:/usr/pkg/bin:/usr/sbin:/usr/bin:/usr/ucb:/usr/ccs/bin:/usr/X11/bin:/usr/pkg/sbin:/usr/pkg/bin:/usr/openwin/bin:/usr/sfw/sbin:/usr/sfw/bin:/usr/local/bin:/usr/pkg/bin:/usr/openwin/bin PREFIX=/usr/pkg PKG_SYSCONFDIR=/usr/pkg/etc HOME=/usr/pkgsrc/sysutils/fam/work.sparc/.home CONFIG_SHELL=/bin/ksh LIBS= ac_given_INSTALL=/usr/ucb/install\ -c\ -o\ root\ -g\ root CPPFLAGS= -I/usr/pkg/gcc34/include -I/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/include -I/usr/include -I/usr/pkg/include FFLAGS=-O GMAKE=GNU Make 3.81 HOMEPAGE=http://oss.sgi.com/projects/fam/ LDFLAGS= -L/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6 -Wl,-R/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6 -L/usr/pkg/gcc34/lib -Wl,-R/usr/pkg/gcc34/lib -lsocket -lnsl -L/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/ -Wl,-R/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/ -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib LICENSE= LOCALBASE=/usr/pkg MACHINE_ARCH=sparc MACHINE_GNU_ARCH=sparc MAINTAINER=pkgsrc-users@NetBSD.org NO_BIN_ON_CDROM= NO_BIN_ON_FTP= NO_SRC_ON_CDROM= NO_SRC_ON_FTP= OBJECT_FMT=ELF OPSYS=SunOS OS_VERSION=5.10 PKGINFODIR=info PKGMANDIR=man PKG_OPTIONS= PKGPATH=sysutils/fam PKG_SYSCONFBASEDIR=/usr/pkg/etc PKG_SYSCONFDIR=/usr/pkg/etc PKGTOOLS_VERSION=20080423 _PLIST_IGNORE_FILES= PROVIDES=/usr/pkg/lib/libfam.so.0 REQUIRES=/lib/libc.so.1 REQUIRES=/lib/libdoor.so.1 REQUIRES=/lib/libgen.so.1 REQUIRES=/lib/libmd.so.1 REQUIRES=/lib/libmp.so.2 REQUIRES=/lib/libm.so.2 REQUIRES=/lib/libnsl.so.1 REQUIRES=/lib/librpcsvc.so.1 REQUIRES=/lib/libscf.so.1 REQUIRES=/lib/libsocket.so.1 REQUIRES=/lib/libuutil.so.1 REQUIRES=/usr/pkg/gcc34/lib/libgcc_s.so.1 REQUIRES=/usr/pkg/gcc34/lib/libstdc++.so.6 RESTRICTED= _USE_DESTDIR=no +SIZE_PKG000644 000000 000000 00000000007 11035617755 012314 0ustar00rootroot000000 000000 288224 +SIZE_ALL000644 000000 000000 00000000012 11035617751 012273 0ustar00rootroot000000 000000 474809105 include/fam.h000444 000000 000000 00000026505 11035617732 013406 0ustar00rootroot000000 000000 /* Copyright (C) 1999-2003 Silicon Graphics, Inc. All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of version 2.1 of the GNU Lesser General Public License as published by the Free Software Foundation. This program is distributed in the hope that it would be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Further, any license provided herein, whether implied or otherwise, is limited to this program in accordance with the express provisions of the GNU Lesser General Public License. Patent licenses, if any, provided herein do not apply to combinations of this program with other product or programs, or any other product whatsoever. This program is distributed without any warranty that the program is delivered free of the rightful claim of any third person by way of infringement or the like. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. */ #ifndef _FAM_ #define _FAM_ #ifdef __cplusplus extern "C" { #endif /***************************************************************************** * * MODULE: Fam.h - File Alteration Monitor * * Fam allows applications to monitor files - receiving events when they * change. The scheme is simple: Applications register which * files/directories they are interested, and fam will notify the * application when any of these files are changed. * *****************************************************************************/ /* For NAME_MAX - maximum # of chars in a filename */ #include "limits.h" /***************************************************************************** * DATA STRUCTURES * * * FAMConnection Structure: * * The FAMConnection Data structure is created when opening a connection * to fam. After that, it is passed into all fam procedures. This * structure has all the information in it to talk to fam (Currently, * the only data inside this structure is a file descriptor for * the socket to fam). *****************************************************************************/ typedef struct FAMConnection { int fd; void *client; } FAMConnection; /***************************************************************************** * To access the fd inside this structure (so the application writer can * use select for fam events), the following macro is defined (this will * allow us to change the implementation without users having to change * their code): *****************************************************************************/ #define FAMCONNECTION_GETFD(fc) ((fc)->fd) /***************************************************************************** * FAMRequest Structure: * * Every time fam is called on to monitor a file, it passes back a * FAMRequest structure. The main piece of data that this structure * contans is a reqnum. This reqnum is guaranteed to be unique. When * cancelling or suspending a monitor request, you must pass this * data structure into FAMCancelMonitor or FAMSuspendMonitor to * make sure that you are cancelling/suspending the correct request * (You can monitor the same file/directory more than once). *****************************************************************************/ typedef struct FAMRequest { int reqnum; } FAMRequest; /***************************************************************************** * Once again, to access the reqnum inside this structure, use the * following macro: *****************************************************************************/ #define FAMREQUEST_GETREQNUM(fc) ((fc)->reqnum) /***************************************************************************** * FAMEvent Structure: * * When a file/directory has been modified/deleted, fam will pass * a FAMEvent structure to the application (through the callback * in the FAMMonitorFile/Directory routines). This structure will * describe what event happened to the file. The different events * that can happen to a file are listed in the FAMCodes enum. *****************************************************************************/ enum FAMCodes { FAMChanged=1, FAMDeleted=2, FAMStartExecuting=3, FAMStopExecuting=4, FAMCreated=5, FAMMoved=6, FAMAcknowledge=7, FAMExists=8, FAMEndExist=9 }; typedef struct FAMEvent { FAMConnection* fc; /* The fam connection that event occurred on */ FAMRequest fr; /* Corresponds to the FamRequest from monitor */ char *hostname; /* host and filename - pointer to which */ char filename[PATH_MAX]; /* file changed */ void *userdata; /* userdata associated with this monitor req. */ enum FAMCodes code; /* What happened to file - see above */ } FAMEvent; /***************************************************************************** * ERROR HANDLING * * If an error occurs inside of libfam, a global named FAMErrno is set * to a non-zero value and the routine that the error occurred in will * return an error value (usually NULL). FAMErrlist is a global * string array (indexed by FAMErrno) that describes the last error * that happened; * * NOTE: currently FAMErrno and FamErrList are unused *****************************************************************************/ extern int FAMErrno; extern char *FamErrlist[]; /* *[NOTE: Eventually, there will be a bunch of defines right here defining what * errors can happen in using libfam ] */ /***************************************************************************** * PROCEDURES: * * FAMOpen, FAMClose * * The first step that an application has to do is open a connection to * fam. This is done through the FAMOpen. FAMOpen returns a FAMConnection * data structure which is passed to all fam procedures. FAMClose closes * a fam connection. * * On error, FAMOpen will return NULL and FAMClose will return -1 (and * FAMErrno will be set to the value of the error). *****************************************************************************/ extern int FAMOpen(FAMConnection* fc); extern int FAMOpen2(FAMConnection* fc, const char* appName); extern int FAMClose(FAMConnection* fc); /***************************************************************************** * FAMMonitorDirectory, FAMMonitorFile * * These routines tell fam to start monitoring a file/directory. The * parameters to this function are a FAMConnection (received from FAMOpen), * a filename and a user data ptr. A FAMRequest structure is returned. * When the file/directory changes, a fam event structure will be * generated. The application can retrieve this structure by calling * FAMNextEvent (see description under FAMNextEvent). * * The difference between these two routines is that FAMMonitorDirectory * monitors any changes that happens to the contents of the directory * (as well as the directory file itself) and FAMMonitorFile monitors * only what happens to a particular file. * * On error FAMMonitorDirectory/File will return NULL (and FAMErrno will * be set to the value of the error). *****************************************************************************/ extern int FAMMonitorDirectory(FAMConnection *fc, const char *filename, FAMRequest* fr, void* userData); extern int FAMMonitorFile(FAMConnection *fc, const char *filename, FAMRequest* fr, void* userData); extern int FAMMonitorCollection(FAMConnection *fc, const char *filename, FAMRequest* fr, void* userData, int depth, const char* mask); extern int FAMMonitorDirectory2(FAMConnection *fc, const char *filename, FAMRequest* fr); extern int FAMMonitorFile2(FAMConnection *fc, const char *filename, FAMRequest* fr); /***************************************************************************** * FAMSuspendMonitor, FAMResumeMonitor * * FAMSuspendMonitor enables applications to suspend * receive events about files/directories that are changing. This can * be useful in situations when an application is stowed and does not * want to receive events until it is unstowed. FAMResumeMonitor * signals fam to start monitoring the file/directory again. * * Both of these routines take a FAMConnection and a FAMRequest structure. * The FAMRequest Structure is returned from the FAMMonitorFile/Directory * routines. * * On error, FAMResume/SuspendMonitor will return -1 (and the global * FAMErrno will be set to the value of the error). *****************************************************************************/ int FAMSuspendMonitor(FAMConnection *fc, const FAMRequest *fr); int FAMResumeMonitor(FAMConnection *fc, const FAMRequest *fr); /***************************************************************************** * FAMCancelMonitor * * When an application is done monitoring a file/directory, it should * call FAMCancelMonitor. This routine will signal fam not to watch * this directory anymore. Once again, the FAMRequest structure is * returned from the FAMMonitorFile/Directory routines. * * On error, FAMCancelMonitor will return -1 (and the global * FAMErrno will be set to the value of the error). This routine will free * the FAMRequest structure that is passed in. *****************************************************************************/ int FAMCancelMonitor(FAMConnection *fc, const FAMRequest *fr); /***************************************************************************** * FAMNextEvent, FAMPending * * FAMNextEvent will get the next fam event (file/directory change). If * there are no fam events waiting, then FAMNextEvent will wait * until a fam event has been received (from fam). * * FAMPending will return the number of fam events that are waiting. * This routine always returns immediately to the caller. * * Essentially, there are two ways to for applications to receive fam * events: * * 1. The "Polling" approach - Just call FAMPending periodically; * like when the system is waiting for input. If FAMPending returns * with a positive return value, then there are fam events waiting. * Call FAMNextEvent to receive the events. * * 2. The "Select" approach - Use the fd returned from famOpen (in the * FAMConnection structure) as one of the fds that the application * selects on. When select returns saying that data is on the fam * fd, call FAMNextEvent. * * FAMNextEvent reads any information that is on the fam socket, * and returns it to the application (in the form of a FAMEvent). * * On error, FAMNextEvent and FAMPendingEvent will return -1 (and the global * FAMErrno will be set to the value of the error). *****************************************************************************/ int FAMNextEvent(FAMConnection *fc, FAMEvent *fe); int FAMPending(FAMConnection* fc); /***************************************************************************** * FAMDebugLevel * * This doesn't do anything. * *****************************************************************************/ #define FAM_DEBUG_OFF 0 #define FAM_DEBUG_ON 1 #define FAM_DEBUG_VERBOSE 2 int FAMDebugLevel(FAMConnection *fc, int debugLevel); #ifdef __cplusplus } #endif #endif /* _FAM_ */ lib/libfam.la000755 000000 000000 00000001754 11035617734 013373 0ustar00rootroot000000 000000 # libfam.la - a libtool library file # Generated by ltmain.sh - GNU libtool 1.5.24 (1.1220.2.455 2007/06/24 02:13:29) # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libfam.so.0' # Names of this library. library_names='libfam.so.0.0.0 libfam.so.0 libfam.so' # The name of the static archive. old_library='libfam.a' # Libraries that this one depends upon. dependency_libs='-L/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6 -L/usr/pkg/gcc34/lib -L/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/ -L/usr/pkg/lib -lsocket -lnsl -lrpcsvc -lstdc++' # Version information for libfam. current=0 age=0 revision=0 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/pkg/lib' # This file has been modified by buildlink3. lib/libfam.a000644 000000 000000 00000115470 11035617734 013215 0ustar00rootroot000000 000000 ! / 1215766379 0 0 0 2144 ` J_ZN5BTreeIibE4Node4joinERKNS0_7ClosureEPS1__ZN6Client13storeEndExistEi_ZN5BTreeIibEC1Ev_ZN5BTreeIibE16remove_rightmostEPNS0_4NodeE_ZN6Client13storeUserDataEiPv_ZN5BTreeIibE6removeERKi_ZN6Client15croakConnectionEPKc_ZNK5BTreeIibE4Node4findERKi_ZNK5BTreeIibE4findERKi_ZN5BTreeIibE9underflowEPNS0_4NodeEj_ZN6Client11getEndExistEi_ZN6Client9readEventEb_ZTI5BTreeIibE_ZN5BTreeIiPvE4NodeD1Ev_ZNK5BTreeIiPvE4Node4findERKi_ZN5BTreeIibE4Node6removeEj_ZN5BTreeIibE6removeEPNS0_4NodeERKi_ZN5BTreeIibE4NodeC1EPS1_RKNS0_7ClosureE_ZNK5BTreeIiPvE4findERKi_ZN5BTreeIibE4NodeC1EPS1_j_ZN6Client9nextEventEP8FAMEvent_ZN5BTreeIiPvE4NodeC1EPS2_RKNS1_7ClosureE_ZN5BTreeIiPvED0Ev_ZN5BTreeIiPvE4Node4joinERKNS1_7ClosureEPS2__ZTI5BTreeIiPvE_ZN6ClientD1Ev_ZN6Client12eventPendingEv_ZN5BTreeIiPvED1Ev_ZN6ClientD2Ev_ZN5BTreeIiPvE4Node6insertEjRKNS1_7ClosureE_ZTS5BTreeIibE_ZTV5BTreeIiPvE_ZN6ClientC1Elji_ZN5BTreeIiPvE4NodeC1EPS2_j_ZN5BTreeIiPvEC1Ev_ZN5BTreeIibE6insertERKiRKb_ZN6Client19checkBufferForEventEv_ZN6ClientC2Elji_ZN5BTreeIiPvE16remove_rightmostEPNS1_4NodeE_ZN5BTreeIiPvE9underflowEPNS1_4NodeEj_ZN6Client11freeRequestEi_ZN5BTreeIiPvE4Node6removeEj_ZN5BTreeIiPvE6insertERKiRKS0__ZN6Client13writeToServerEPci_ZN5BTreeIibED0Ev_ZN5BTreeIibE6insertEPNS0_4NodeERKiRKb_ZN5BTreeIiPvE6removeEPNS1_4NodeERKi_ZN5BTreeIiPvE6removeERKi_ZN5BTreeIibE4NodeD1Ev_ZN5BTreeIibED1Ev_ZN6Client11getUserDataEi_ZN5BTreeIibE4Node6insertEjRKNS0_7ClosureE_ZTV5BTreeIibE_ZN5BTreeIiPvE6insertEPNS1_4NodeERKiRKS0__ZTS5BTreeIiPvEFAMCloseFAMCancelMonitorFAMOpenFAMNextEvent_ZN10GroupStuff11groupStringEPciFAMSuspendMonitorFAMMonitorDirectoryFAMPendingFAMDebugLevelFamErrlist_ZN10GroupStuffC2Ev_ZN10GroupStuffC1EvFAMOpen2FAMResumeMonitorFAMMonitorFileFAMMonitorDirectory2FAMMonitorFile2FAMErrnoFAMMonitorCollectionClient.o/ 1215766361 0 0 100644 31284 ` ELFl4(W.shstrtab.ctors.dtors.gnu.linkonce.r._ZTV5BTreeIibE.gnu.linkonce.r._ZTI5BTreeIibE.gnu.linkonce.r._ZTS5BTreeIibE.gnu.linkonce.r._ZTV5BTreeIiPvE.gnu.linkonce.r._ZTI5BTreeIiPvE.gnu.linkonce.r._ZTS5BTreeIiPvE.rodata.text.gnu.linkonce.t._ZN5BTreeIiPvEC1Ev.gnu.linkonce.t._ZN5BTreeIibEC1Ev.gnu.linkonce.t._ZN5BTreeIiPvE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIiPvED1Ev.gnu.linkonce.t._ZN5BTreeIiPvED0Ev.gnu.linkonce.t._ZN5BTreeIibE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIibED1Ev.gnu.linkonce.t._ZN5BTreeIibED0Ev.gnu.linkonce.t._ZN5BTreeIiPvE4NodeC1EPS2_RKNS1_7ClosureE.gnu.linkonce.t._ZNK5BTreeIiPvE4Node4findERKi.gnu.linkonce.t._ZNK5BTreeIiPvE4findERKi.gnu.linkonce.t._ZN5BTreeIibE4NodeC1EPS1_RKNS0_7ClosureE.gnu.linkonce.t._ZNK5BTreeIibE4Node4findERKi.gnu.linkonce.t._ZNK5BTreeIibE4findERKi.gnu.linkonce.t._ZN5BTreeIiPvE4Node6insertEjRKNS1_7ClosureE.gnu.linkonce.t._ZN5BTreeIiPvE4NodeC1EPS2_j.gnu.linkonce.t._ZN5BTreeIiPvE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIiPvE6insertEPNS1_4NodeERKiRKS0_.gnu.linkonce.t._ZN5BTreeIiPvE6insertERKiRKS0_.gnu.linkonce.t._ZN5BTreeIibE4Node6insertEjRKNS0_7ClosureE.gnu.linkonce.t._ZN5BTreeIibE4NodeC1EPS1_j.gnu.linkonce.t._ZN5BTreeIibE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIibE6insertEPNS0_4NodeERKiRKb.gnu.linkonce.t._ZN5BTreeIibE6insertERKiRKb.gnu.linkonce.t._ZN5BTreeIiPvE4Node4joinERKNS1_7ClosureEPS2_.gnu.linkonce.t._ZN5BTreeIiPvE9underflowEPNS1_4NodeEj.gnu.linkonce.t._ZN5BTreeIiPvE16remove_rightmostEPNS1_4NodeE.gnu.linkonce.t._ZN5BTreeIiPvE6removeEPNS1_4NodeERKi.gnu.linkonce.t._ZN5BTreeIiPvE6removeERKi.gnu.linkonce.t._ZN5BTreeIibE4Node4joinERKNS0_7ClosureEPS1_.gnu.linkonce.t._ZN5BTreeIibE9underflowEPNS0_4NodeEj.gnu.linkonce.t._ZN5BTreeIibE16remove_rightmostEPNS0_4NodeE.gnu.linkonce.t._ZN5BTreeIibE6removeEPNS0_4NodeERKi.gnu.linkonce.t._ZN5BTreeIibE6removeERKi.eh_frame.bss.symtab.strtab.rela.ctors.rela.dtors.rela.gnu.linkonce.r._ZTV5BTreeIibE.rela.gnu.linkonce.r._ZTI5BTreeIibE.rela.gnu.linkonce.r._ZTV5BTreeIiPvE.rela.gnu.linkonce.r._ZTI5BTreeIiPvE.rela.text.rela.gnu.linkonce.t._ZN5BTreeIiPvEC1Ev.rela.gnu.linkonce.t._ZN5BTreeIibEC1Ev.rela.gnu.linkonce.t._ZN5BTreeIiPvE4NodeD1Ev.rela.gnu.linkonce.t._ZN5BTreeIiPvED1Ev.rela.gnu.linkonce.t._ZN5BTreeIiPvED0Ev.rela.gnu.linkonce.t._ZN5BTreeIibE4NodeD1Ev.rela.gnu.linkonce.t._ZN5BTreeIibED1Ev.rela.gnu.linkonce.t._ZN5BTreeIibED0Ev.rela.gnu.linkonce.t._ZNK5BTreeIiPvE4Node4findERKi.rela.gnu.linkonce.t._ZNK5BTreeIiPvE4findERKi.rela.gnu.linkonce.t._ZNK5BTreeIibE4Node4findERKi.rela.gnu.linkonce.t._ZNK5BTreeIibE4findERKi.rela.gnu.linkonce.t._ZN5BTreeIiPvE4Node6insertEjRKNS1_7ClosureE.rela.gnu.linkonce.t._ZN5BTreeIiPvE6insertEPNS1_4NodeERKiRKS0_.rela.gnu.linkonce.t._ZN5BTreeIiPvE6insertERKiRKS0_.rela.gnu.linkonce.t._ZN5BTreeIibE4Node6insertEjRKNS0_7ClosureE.rela.gnu.linkonce.t._ZN5BTreeIibE6insertEPNS0_4NodeERKiRKb.rela.gnu.linkonce.t._ZN5BTreeIibE6insertERKiRKb.rela.gnu.linkonce.t._ZN5BTreeIiPvE4Node4joinERKNS1_7ClosureEPS2_.rela.gnu.linkonce.t._ZN5BTreeIiPvE9underflowEPNS1_4NodeEj.rela.gnu.linkonce.t._ZN5BTreeIiPvE16remove_rightmostEPNS1_4NodeE.rela.gnu.linkonce.t._ZN5BTreeIiPvE6removeEPNS1_4NodeERKi.rela.gnu.linkonce.t._ZN5BTreeIiPvE6removeERKi.rela.gnu.linkonce.t._ZN5BTreeIibE4Node4joinERKNS0_7ClosureEPS1_.rela.gnu.linkonce.t._ZN5BTreeIibE9underflowEPNS0_4NodeEj.rela.gnu.linkonce.t._ZN5BTreeIibE16remove_rightmostEPNS0_4NodeE.rela.gnu.linkonce.t._ZN5BTreeIibE6removeEPNS0_4NodeERKi.rela.gnu.linkonce.t._ZN5BTreeIibE6removeERKi.rela.eh_frame.comment5BTreeIibE5BTreeIiPvEN0 %d %d sockmeister%c0 libfam killing connection: %sbad message size! (%d max)l == n || k < key[l]../include/BTree.hj == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]p->n > fanout / 20thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairsCouldn't find reqnum in message!path too long! (%d max)change info too long! (%d max)unrecognized code '%c'!؂   & ? &. & & ?7'@    "7@2  `2  @(  7†`?&  @ ?@  M u&@@ Ě @@ @  ' @@̂? @ n 7 8 $@@ 0 8`k- $@@ @?@?@(~  @ &@ n  @0@?@?@@?@|?؂   & ? &. & & ?7'@    "7@2  `2  @(  7†`?&  @ ?@  M u&@@ Ě @@ @  ' @@̂? @ n 7 8 $@@ 0 8`k- $@@ @?@?@(~  @ &@ n  @0@?@?@@?@|?㿐 & @ ` ` @@`@ `@`@㿐 & @ ` ` @@`@ `@`@㿈 ` ?'@ ?@ *@ *` *` *`㿐` ` @@?&.  `$   @`. '` da+ !,  @쀠@   . @@`=? `9 ``2   p?h  @2 +   ?+@ @ #?   @h   & @` @ @& `   `"  ?㿐 @   @ 㿐 H'H` @㿐 H'H` @ 㿐'H'L `  H@L0 @@&  H@L㿈  `'H@@&  / H@㿐 'H H ` 0@ `H@㾸`? `I   @ `&`@,= &d `c3 ` 'L@ ` @  #* 'L@ ` @  `p``$J*(``@@  ?0i' d@ `X +@`' L `N(@@L 2 ` @ @?``&d `""`'@  @ & @. =  d@@!?@܂ ڂ ؂ ւ Ԃ  &d@  d$  dۖ d㿐?8@`? `?@   `?1@ @@?c` ?c` `"" " `"" " 㿐  @ `@@(@㿐 ` &@@㿐 ` &@@@@㿐  @ `@@(@㿐 ` &@@㿐 ` &@@@@ ""  " " "!㿐   @ @ 3`. @`&   @, @@`  `@ ̰㿐   @* @ @"!` 2  ""   " " *!㿐   @ @ 3`. @`&   @, @@`  `@ ̰㿐  " @* `@@  ` 2 a㿐`9 @  *@a`#`#`#a.` `#`#a#``$@ @``@   `@   ` @ 㿐@ @ @&.@ &&&`@  (`@ +@`'`#㿐.`@``@` a.```a`# ` a?# #@#`#`#` p`+@@@ * #@`@&& & s& `@  && & g&  && & _& @ 2)& 8 '@!@ @@`>#@ @''&& & & '1'& & @!@ $ && & & @!@ ?@@`8ς `@!ǂ `@!Ё 㿀#@ @`  `` ! `@! @ @```$`$`` ``$`㿐 < *`@@ `*#`@#`.`  @+a# # `&@ 6?@ ``@   `@    `@ 㿐@ @ #. @ ` @`&&! . ` (`@ +@ `'`"㿐.`@`@a`@@`. @ ``#.@ `# ## + # p`+@@@ * #@`@&& & t& `@  && . h&  && . `& @ 2*& 9 (@!(@ @@`?#@ @'''&& . & 1'& . @!(@ $ && . & @!(@ ?@@`8΂ `@!Ƃ `@!Ё 㿀#@ @`  `` !( `@! @ @```$`$`` ``$`㿐*`8+@`` a `@!(`@"""`@  `@! `@!`&+`(`@`@ `&&p`@@ H. `@@   ` `? `1 `l N`2#@@@ !`''''ܐ @&@$`$!h  `@!. `@!̀ `@! #@@@`"@@@@`` ; `#@ @ '! '''@@$!$$ #@@@@А `@!d@ `@!S@㿀@, @`?`@ #@@&& & $& #@@@` & & & &@& &&  & && & & ``O @@ * `@ ?2`@#@@``@`` ' `#@@܀`Ԃ ''''̐@Ѐ`2@@0 `@"Yԁ㿐@  " 4 "  `@!^ `[ @`W `@!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2&  `@! @@՚ `@!  `@!   `@! 㿐.` , @`` `+!$ *`@""@ ! (a`  `@! `@!`&+`(`@`@ `&&p`@@ H.@ @@   @` `? `1 `m N`2#@@@  !''/'ܐ @&@$,!i  `@!. `@!̀ `@! #@@@"@@@@`` < `#@ @@ ' a '/'@$ ,a$#@@@@ϐ `@!c@ `@!R@㿀@, @`?`@ #@@&& & $& #@@@` & . & &@& &.  & && . & ``O @@ * `@ ?2`@#@@``@`` ' `#@@܀`Ԃ ''/'̐@Ѐ`2@@0 `@"Yԁ㿐@  " 4 "  `@!^ `[ @`W `@!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2&  `@! @@՚ `@!  `@!   `@! zP|P   - < - X - t - L - D -  -  - 4 - P - 8< - TD - pP - < - D -  - h - 4 -  - 4p - P4 - l - T -  - h -  - X -  - 0P - L - h -  - L -  -  -  -  - ,L - H - d\ -  - h -  . ("-+/)  /#*$!$ *`h  Z ,v & %'") P " "+:AHN d h "-(D "p" "*8 4 R i!xP"""!L",(",;h"T" ou  ("D""$!%8 4; 4 V<"i~ "  ! ! 3 DR"n " "#l  "&0H"%n p\ ""L D"  X""4L"'Y h"(P"<" P4 "!T"2 ! BClient.c++_ZSt8__ioinit_Z7getwordPKcPj_Z41__static_initialization_and_destruction_0ii_GLOBAL__I__ZN6ClientC2Elji_GLOBAL__D__ZN6ClientC2Elji_ZN5BTreeIibE4Node4joinERKNS0_7ClosureEPS1__ZN6Client13storeEndExistEipthread_mutex_lockstrlengeteuid_ZN5BTreeIibEC1Ev_ZN5BTreeIibE16remove_rightmostEPNS0_4NodeEmemsetselect_Znwjpthread_mutex_trylock_ZN6Client13storeUserDataEiPv_ZN5BTreeIibE6removeERKiwritestrncpy_ZN6Client15croakConnectionEPKc_ZNK5BTreeIibE4Node4findERKi_ZNK5BTreeIibE4findERKipthread_mutex_unlock_ZN5BTreeIibE9underflowEPNS0_4NodeEj_ZN6Client11getEndExistEi_ZN6Client9readEventEb_ZTI5BTreeIibE_ZN5BTreeIiPvE4NodeD1Ev_ZNK5BTreeIiPvE4Node4findERKipmap_getmaps_ZN5BTreeIibE4Node6removeEjgetegid_ZN5BTreeIibE6removeEPNS0_4NodeERKi_ZN5BTreeIibE4NodeC1EPS1_RKNS0_7ClosureE__xnet_connect_ZNK5BTreeIiPvE4findERKi_ZN5BTreeIibE4NodeC1EPS1_jclose_ZN6Client9nextEventEP8FAMEventmemmovesyslog_ZN5BTreeIiPvE4NodeC1EPS2_RKNS1_7ClosureE_ZN5BTreeIiPvED0Ev_ZN5BTreeIiPvE4Node4joinERKNS1_7ClosureEPS2__ZTI5BTreeIiPvEstrtol_ZN6ClientD1Ev_ZdlPv_ZN6Client12eventPendingEv_ZN5BTreeIiPvED1Ev__gxx_personality_v0_ZN6ClientD2Ev_ZN5BTreeIiPvE4Node6insertEjRKNS1_7ClosureEpthread_setspecific_ZTS5BTreeIibEpthread_key_delete_ZNSt8ios_base4InitC1Ev_ZTV5BTreeIiPvE__assertpthread_key_create_ZN6ClientC1Elji__xnet_socket_ZN5BTreeIiPvE4NodeC1EPS2_j_ZTVN10__cxxabiv117__class_type_infoEpthread_once_ZN5BTreeIiPvEC1Ev_ZN5BTreeIibE6insertERKiRKb_ZN6Client19checkBufferForEventEv_ZN6ClientC2Elji_ZN5BTreeIiPvE16remove_rightmostEPNS1_4NodeE_ZNSt8ios_base4InitD1Ev_ZN5BTreeIiPvE9underflowEPNS1_4NodeEj_ZN6Client11freeRequestEi_ZN5BTreeIiPvE4Node6removeEj_ZN5BTreeIiPvE6insertERKiRKS0__ZN6Client13writeToServerEPci_ZN5BTreeIibED0Evreadpthread_getspecific_ZN5BTreeIibE6insertEPNS0_4NodeERKiRKb_ZN5BTreeIiPvE6removeEPNS1_4NodeERKipthread_create_ZN5BTreeIiPvE6removeERKi_ZN5BTreeIibE4NodeD1Ev_ZN5BTreeIibED1Ev_ZN6Client11getUserDataEisnprintf_ZN5BTreeIibE4Node6insertEjRKNS0_7ClosureE_ZTV5BTreeIibE_ZN5BTreeIiPvE6insertEPNS1_4NodeERKiRKS0__ZTS5BTreeIiPvEisspaceK }pg]b [p<NnS9P ! (! 4<8P8pBV<~~V$V<CTnlSVVVVVVNnS9P! ! 8,8LB`Vx<~~VVC0nHS\VhVxVVVVVLVBB,! 4! HYPV! @! @D`<=~t (J pT F { > r { 8> @: \s  A ^ !  0!  < !  !    J 4 |!   I X t !  !  ( 8D Ly 6 !  !  !   \           H               |  t      $ ( l, 0 4 8 < @ D H L P T dX \     wi ` ` ` `j j   (L0`j  j  L(`j  j  `(L0`8`(0`   (`   `(0`8`! `! x! `! xkM! `! x! `! xkE! ! ! x! ! xk! x! x! kMPe>o(e<! Pz>o>oe! ! x! ! x k0! x4! 8! x<kP! T! xX! \! x`kp>Z! ! ! x! ! xk! x! ! xkEP>U(<! PO>U>U! ! x!  ! x$k4! x8! <! x@kP! T! xX! \! x`kp>R ! $! ! x! ! xk! x! ! xk !  ! (4! 8x! @! `ze8! x<! (@! xDkT! xX! `\! x`kp! xt! @x! x|kz\L`z8elz\L! x! 8! xk! x!  ! xk<vzxM<zv! ex(! x,! 0! x4k 0! 4! x8! <! x@kh! l! xp! t! xxk! ! ! ! 0! 4! x8! <! x@kPLX`h! xl! p! xtk! x! ! xk! x! ! xk ! $! ! x! ! xk! x! ! xk !  ! (4! 8x! @! `O8! x<! (@! xDkT! xX! `\! x`kp! xt! @x! x|kO5`O<pO5! x! 8! xk! x!  ! xk<;OHE<QO;! H(! x,! 0! x4k Q0! 4! x8! <! x@kh! l! xp! t! xxk! ! ! ! 0! 4! x8! <! x@kPX`h! xl! p! xtk! x! ! xk! x! ! xkc$@\x8(l  <)X$t"  P8T p#. ( 4 Pl204 0,L h p `as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.64  8W v0@H X(x)PQ<t 4D xP <!D!H(<!pj"$h"("#hp!#]$%X%T(,(Z)*+X-`.Q/ 13L4T#6_70: ;L07C <C 15DKJLT( 0 XT4 0 dT@$0 Td0 T|$0 T0 T0  [0  )[0  P[0 }\00 \DH0 \0 \00 \H0 G]<0 z]X 0 ]d<0 ] 0 ]x0 H^$0 _,`0 _x0 `0" 7a `0# halx0$ a0% c$0& 'c0' ad<0( ex0) fL0* g$0+ Lh 0, h0- j<0. lX? fam.o/ 1215766369 0 0 100644 6120 ` ELF4( .shstrtab.bss.rodata.text.gcc_except_table.data.eh_frame.symtab.strtab.rela.text.rela.eh_frame.commentsgi_famN0 %d %d %s %d %d%c%d %d %d path too long F%d %d %d %s 0 %d %s %c%d %d %d %s }cZ@ 2 @+`@ `& &`"! @@( Ȗ@@  @  @@@@& ?` 㿐  @@ 㿐 # *@ @@``@ 1@, @  @ @ `@&.@. @8#\> +@@ `@  ` S ` U ` C"@` `  㿐`  `??@ @$`  @?@ N"㿐@ & @* &@ & Ȑג A? @@@#\0@@+@쀠` +"@@+"@@@@耢   0 耢 @@0@ Ȁ`N@`/"=? @@@@0#\#`@+@쀠`  +"@ @耢  @ 0 耢 @@0 ` W㿐B  W? ` M㿐2  M?㿐@ & @* &@ & '<dl'<D'8LzPL|P   - @X, - x - \ - 0h - P4 - p$ -  - , - , -  4 -  X;\ph,Tl$"($:Xe,y44%:C<Te,tt4$fam.c++_Z10FAMMonitorP13FAMConnectionPKcP10FAMRequestPvi_Z17sendSimpleMessagecP13FAMConnectionPK10FAMRequest_Z12checkRequestP10FAMRequestPKc_ZZ14findFreeReqnumvE6reqnum__sysconf_xpg5strlengeteuidFAMCloseFAMCancelMonitor_ZnajFAMOpenFAMNextEvent_ZN10GroupStuff11groupStringEPci_ZnwjFAMSuspendMonitor_ZN6Client13storeUserDataEiPvgetrpcbynameFAMMonitorDirectoryFAMPendingFAMDebugLevelFamErrlistgetegid_ZN10GroupStuffC2Ev_ZN6Client9nextEventEP8FAMEventsyslog_ZN6ClientD1Ev_ZdlPv_ZN6Client12eventPendingEv_ZN10GroupStuffC1Ev__gxx_personality_v0FAMOpen2FAMResumeMonitor_ZN6ClientC1EljiFAMMonitorFile_Unwind_ResumeFAMMonitorDirectory2FAMMonitorFile2getgroups___errnoFAMErrnoFAMMonitorCollection_ZN6Client13writeToServerEPcisnprintf_ZdaPv  $<(dl|  2 1"*!"& &  !"H L X2` | 2   ( (2 1, 0 D H \ ` p t # #      8 8 .  -dp$x H H2  X X210*83D3$ h h2 1<3X*`3x X| X X X -%$-D\|$$<Tl4Tt4}+XVt$as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.64s w (H06<@ @ H LPT8 [ j?lib/libfam.so000777 000000 000000 00000000000 11035617734 015632 2libfam.so.0.0.0ustar00rootroot000000 000000 lib/libfam.so.0000777 000000 000000 00000000000 11035617734 015770 2libfam.so.0.0.0ustar00rootroot000000 000000 lib/libfam.so.0.0.0000755 000000 000000 00000106770 11035617734 014056 0ustar00rootroot000000 000000 ELF44 (LKOdOdOdOd QQCB  !"#$%'()*+,-./0234578;=>@ &169:<?A $":B&T"l y*,ZF*\, Z<G%@'(5 HN]erOd9  ZDG*$DQ;P:*08? R f'qx '8&Od8&Z@G*D" 1F%T,O&`n__sysconf_xpg5_Jv_RegisterClasses__register_frame_infomemmoveFAMSuspendMonitor__deregister_frame_infopthread_onceFAMMonitorDirectory_ZTVN10__cxxabiv117__class_type_infoE_edataFAMMonitorFilepthread_mutex_trylockFamErrlist_ZdaPvgetegidFAMOpen_ZdlPvFAMDebugLevelmemset_ZNSt8ios_base4InitD1Evpthread_mutex_lock_Znaj__xnet_connectisspacepmap_getmaps_GLOBAL_OFFSET_TABLE_getgroupspthread_key_createclose_ZNSt8ios_base4InitC1Evpthread_setspecific_endFAMMonitorDirectory2writeselectFAMOpen2_DYNAMIC_PROCEDURE_LINKAGE_TABLE__Znwjstrncpystrtolpthread_key_deletepthread_getspecificFAMPendingstrlengeteuidpthread_mutex_unlock_Unwind_ResumeFAMMonitorCollection___errnoFAMNextEvent_etextsyslogsnprintfFAMResumeMonitorFAMErrnoreadgetrpcbynameFAMMonitorFile2pthread_create__gxx_personality_v0FAMCloseFAMCancelMonitor__xnet_socket__assertlibfam.so.0.0.0libsocket.so.1SUNW_1.1libnsl.so.1SUNW_0.7libgcc_s.so.1GCC_3.0librpcsvc.so.1libstdc++.so.6libm.so.2/usr/pkg/gcc34/lib:/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6:/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/:/usr/pkg/lib =' =( y&P ֆ`wOhROlZ OpZOtYdOxY`O|MOMOMOMOMONON(ONPON8ONONpONXONOLOLOLOMOM OM8OMXOMOMOMOZ8ONONONONONOOOOOO(OO8PRPRPYP YhPPPR$R$ S S<SXSt(SSShST$T+T8,TT,hTp,T-T-`T-T.TXU/8U40UPUl0pU2U4UU5U8V:|V0(VL;LVh? Y@I@ 0#\ #`@I+@I쀠`  +" o耢  @I 0 耢 @IԐ@I0  W@㿐3  W?  M@㿐"  M?㿐@I & @I* &@I & 㿐/IP`@?㿐㿐/HW``&& & 㿐/HJĂ``&& & 㿐  @ `@I](@㿐/H)@` ` &@IF㿐/H` ` &@I4@I0@I.㿐  @ `@I(@㿐/HH` ` &@I㿐/H׮` ` &@H@H@H ""  " " "!㿐 /Ht  @ @ 3`. @`&   @, @@`  `X`\ @HΔ ̰㿐   Ȓ* @ @"!` 2  ""   " " *!㿐 /H`  @ @ 3`. @`&   @, @@`  `X`\ @Hx ̰㿐  " Ȓ* `@@  ` 2 a㿐/G䀢`= @  *@a`#`#`#a.` `#`#a#``$@ @``@  `d`\ @H    ```\ @H 㿐@ @ @&.@ &&&`@  (`@ +@`'`#㿐.`@``@` a.```a`# ` a?# #@#`#`#` p/G̀`+@̒@ * #@`&& & w& `@  && & k&  && & c& > 2)& 8 '@G^!v ,@`@#@ ''&& & & '5'& & @G9!Q $ && & #& @G*!B ?@`8ς`h`\ @GC!ł`h`\ @G:!Ё 㿀#@/FX Z`" `` !`l`\ @G! @F  ```$`$`` ``$`㿐/Fጀ @ *`@@ `*#`@#`.`  @+a# # `&@ ?@ ``@ 6 `d`\ @Fǔ   ```\ @F 㿐@ @ #. @ ` @`&&! . ` (`@ +@ `'`"㿐.`@`@a`@@`. @ ``#.@ `# ## + # p/E-P`+@Ò@ * #@`&& & x& `@  && . l&  && . d& 6 2*& 9 (@E!(p $@`A#@ '''&& . & 5'& . @Eِ!(J $ && . #& @Eʐ!(; ?@`8΂`h`\ @E!Ă`h`\ @Eڔ!Ё 㿀#@/E Y`" `` !(`l`\ @E! @E ```$`$`` ``$`㿐/E],`8+@`` a `@%(`@"""`@ ``\ @Et!`p`\ @Ej!`&+`(`@`@ `&&p/D`@@ H. `@@   ` `C `3 `r T`8#@/@ !`''''ܐ &@$`$!r ` `\ @E!.`,`\ @D!ɀ`(`\ @D! #@C`"@]@D@`` ? `#@  '! '''@j$!$$ #@,А`$`\ @D!\@``\ @D!I@㿀@, @`?`@ #@&& & $& #@@` & & & & & &&  & && & & `/CԀ`Q N@ * ` A2`@#@>``@`` ) `#@܀`Ԃ ''''̐Ѐ`2@0 `0`\ @C"Yԁ㿐/Ct  " 8 " `l`\ @C!h `e @`a`8`\ @CԔ!X @`2  `#` `,&  `"5`& @`$>   `". `& @`2. `8`\ @C!$ @CӚ`8`\ @C! `4`\ @C!  `4`\ @C~! 㿐/B5p0` , @`` `+!( *`@""@ ! (a` ``\ @CH!`p`\ @C>!`&+`(`@`@ `&&p/B@`@@ H.@ @@   @` `C `3 `s T`8#@`@  !''/'ܐ &@$,!s ` `\ @B֔!.`,`\ @B͔!ɀ`(`\ @BĔ! #@)?"@o@B@`` @ `#@ @ ' a '/'$ ,a$#@ =ϐ`$`\ @Bw![@``\ @Bn!H@㿀@, @`?`@ #@&& & $& #@@` & . & & & &.  & && . & `/A `Q w@ * ` A2`@#@n``@`` ) `#@܀`Ԃ ''/'̐Ѐ`2@0 `0`\ @AҔ"Yԁ㿐/A  " 8 " `l`\ @A!h `e @`a`8`\ @A!X @`2  `#` `,&  `"5`& @`$>   `". `& @`2. `8`\ @As!$ ,@AUӚ`8`\ @Ad! `4`\ @A[!  `4`\ @AQ! N0 %d %d sockmeister%c0 libfam killing connection: %sbad message size! (%d max)l == n || k < key[l]../include/BTree.hj == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]p->n > fanout / 20thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairspath too long! (%d max)change info too long! (%d max)unrecognized code '%c'!Couldn't find reqnum in message!sgi_famN0 %d %d %s %d %d%c%d %d %d path too long F%d %d %d %s 0 %d %s %c%d %d %d %s 5BTreeIibE5BTreeIiPvEQ00<0H0T0`0l0x00000000000000 0,080D0P0\0h0t000000 H d y oo oo Lo L ooPzPR|PP   - < - X - t - L - P -  -  - 4 - P - 8P - TX - pP - P - X -  - h - 4 -  - 4p - P4 - l - p -  - h -   - t -  - 0P - L  - h  -  - ` -  - 0 -  -  - ,` - H - d\ -  - x - zPLR|PPP  $ -  H, -  l -  p -  | -  4 -  8 -   , -  D, -  h, -  4 - ' Ltp'<P'DX L   Lht  8 D h Hdx+`++,,h,--`--.//8 0!0p"1#2 $2%4&5'6(7)8*:|+;L,R?Y`@YdAYhBYxCYDYEYFZGHIJKA0,X4FZDGLdRHX.hqYD;L ,4&:|+OX 8!,P8YEHR<U]1#yH,3(*4'4E27),YhB;OH 7JYxCY0p"/(6(L+4-`X+-P=8t*dL6M]x8X,R<R=R>R?sZ GZGYdAY`@M6M6M6M6M6N6N(6#NP6*N861N68Np6?NX6FN6ML6SL6YL6_M6eM 6kM86qMX6wM6}M6M6Z8G$#x$$ ),I&8pMN6SN6YN6_N6eN6kO6qO6wO(6}O86~'0|R<MR>++TR=R<Y`@Y\?  ~ "  & " *,  0ZF 7*\, F \Z<G g n v%@ ~ '(       Od9   " ( @ TZDG Y* n t {$D Q; P:    '    !'8 6 ?& LOd8 S Z c& tZ@G }  *D  %T, &  .libs/libfam.so.0.0.0crti.svalues-Xa.cBbss.bssDdata.dataDrodata.rodatacrtstuff.ccall___do_global_dtors_auxcall_frame_dummyforce_to_data__CTOR_LIST____DTOR_LIST____EH_FRAME_BEGIN__object.2completed.1p.0__JCR_LIST__Client.c++.LLC10.LLC11.LLC12.LLC13.LLC14.LLC15.LLC16.LLC17.LLC18.LLC19.LLC20.LLC21.LLC22.LLC0.LLC1.LLC2.LLC3.LLC4.LLC5.LLC6.LLC7.LLC8.LLC9_ZSt8__ioinit_Z7getwordPKcPj_Z41__static_initialization_and_destruction_0ii_GLOBAL__I__ZN6ClientC2Elji_GLOBAL__D__ZN6ClientC2Eljifam.c++_Z10FAMMonitorP13FAMConnectionPKcP10FAMRequestPvi_Z17sendSimpleMessagecP13FAMConnectionPK10FAMRequest_Z12checkRequestP10FAMRequestPKc_ZZ14findFreeReqnumvE6reqnum__DTOR_END__call___do_global_ctors_aux__CTOR_END____JCR_END____FRAME_END__crtn.s_ZN5BTreeIiPvE6removeERKi_ZN6Client11getUserDataEi_END__fini_init_ZNK5BTreeIiPvE4findERKi_ZTV5BTreeIiPvE_ZN5BTreeIiPvE4Node4joinERKNS1_7ClosureEPS2__ZN5BTreeIiPvE6insertERKiRKS0__ZN5BTreeIibE6insertERKiRKb_ZN6Client9readEventEb_ZN6ClientC1Elji_ZTS5BTreeIiPvE_ZN5BTreeIibE4NodeD1Ev_ZTI5BTreeIiPvE__dso_handle_START__ZN5BTreeIiPvE4NodeC1EPS2_j_ZN5BTreeIibE16remove_rightmostEPNS0_4NodeE_ZN6ClientD1Ev_ZN6ClientD2Ev_ZN10GroupStuffC2Ev_ZN10GroupStuffC1Ev_ZN5BTreeIibE9underflowEPNS0_4NodeEj_ZN5BTreeIibE4Node6removeEj_ZTV5BTreeIibE_ZTS5BTreeIibE_ZTI5BTreeIibE_ZN5BTreeIiPvE4Node6insertEjRKNS1_7ClosureE_ZN6Client9nextEventEP8FAMEvent_ZN5BTreeIibE4NodeC1EPS1_RKNS0_7ClosureE_ZN5BTreeIibE4NodeC1EPS1_j_ZN6Client13writeToServerEPci_ZN5BTreeIibEC1Ev_ZN5BTreeIibED0Ev_ZN5BTreeIibED1Ev_ZN5BTreeIibE6insertEPNS0_4NodeERKiRKb_ZN5BTreeIiPvE9underflowEPNS1_4NodeEj_ZN5BTreeIiPvE4NodeC1EPS2_RKNS1_7ClosureE_ZN5BTreeIiPvE4Node6removeEj_ZN5BTreeIibE6removeEPNS0_4NodeERKi_ZN5BTreeIibE4Node4joinERKNS0_7ClosureEPS1__ZN5BTreeIiPvEC1Ev_ZN5BTreeIiPvED0Ev_ZN5BTreeIiPvED1Ev_ZN6Client11getEndExistEi_ZNK5BTreeIibE4findERKi_lib_version_ZN6Client15croakConnectionEPKc_ZN5BTreeIibE4Node6insertEjRKNS0_7ClosureE_ZN5BTreeIiPvE4NodeD1Ev_ZNK5BTreeIibE4Node4findERKi_ZN6Client13storeUserDataEiPv_ZN5BTreeIiPvE6removeEPNS1_4NodeERKi_ZN5BTreeIibE6removeERKi_ZN10GroupStuff11groupStringEPci_ZNK5BTreeIiPvE4Node4findERKi_ZN5BTreeIiPvE16remove_rightmostEPNS1_4NodeE_ZN6Client11freeRequestEi_ZN6Client12eventPendingEv_ZN6Client13storeEndExistEi_ZN6Client19checkBufferForEventEv_ZN5BTreeIiPvE6insertEPNS1_4NodeERKiRKS0___sysconf_xpg5_Jv_RegisterClasses__register_frame_infomemmoveFAMSuspendMonitor__deregister_frame_infopthread_onceFAMMonitorDirectory_ZTVN10__cxxabiv117__class_type_infoE_edataFAMMonitorFilepthread_mutex_trylockFamErrlist_ZdaPvgetegidFAMOpen_ZdlPvFAMDebugLevelmemset_ZNSt8ios_base4InitD1Evpthread_mutex_lock_Znaj__xnet_connectisspacepmap_getmaps_GLOBAL_OFFSET_TABLE_getgroupspthread_key_createclose_ZNSt8ios_base4InitC1Evpthread_setspecific_endFAMMonitorDirectory2writeselectFAMOpen2_DYNAMIC_PROCEDURE_LINKAGE_TABLE__Znwjstrncpystrtolpthread_key_deletepthread_getspecificFAMPendingstrlengeteuidpthread_mutex_unlock_Unwind_ResumeFAMMonitorCollection___errnoFAMNextEvent_etextsyslogsnprintfFAMResumeMonitorFAMErrnoreadgetrpcbynameFAMMonitorFile2pthread_create__gxx_personality_v0FAMCloseFAMCancelMonitor__xnet_socket__assertas: Sun Compiler Common 10 Patch 09/04/2007 @(#)SunOS 5.10 Generic January 2005as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.489.hash.dynsym.dynstr.SUNW_version.SUNW_versym.rela.got.rela.ctors.rela.dtors.rela.eh_frame.rela.data.rel.local.rela.gnu.linkonce.d._ZTV5BTreeIibE.rela.gnu.linkonce.d._ZTI5BTreeIibE.rela.gnu.linkonce.d._ZTV5BTreeIiPvE.rela.gnu.linkonce.d._ZTI5BTreeIiPvE.rela.plt.init.fini.text.gnu.linkonce.t._ZN5BTreeIiPvEC1Ev.gnu.linkonce.t._ZN5BTreeIibEC1Ev.gnu.linkonce.t._ZN5BTreeIiPvE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIiPvED1Ev.gnu.linkonce.t._ZN5BTreeIiPvED0Ev.gnu.linkonce.t._ZN5BTreeIibE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIibED1Ev.gnu.linkonce.t._ZN5BTreeIibED0Ev.gnu.linkonce.t._ZN5BTreeIiPvE4NodeC1EPS2_RKNS1_7ClosureE.gnu.linkonce.t._ZNK5BTreeIiPvE4Node4findERKi.gnu.linkonce.t._ZNK5BTreeIiPvE4findERKi.gnu.linkonce.t._ZN5BTreeIibE4NodeC1EPS1_RKNS0_7ClosureE.gnu.linkonce.t._ZNK5BTreeIibE4Node4findERKi.gnu.linkonce.t._ZNK5BTreeIibE4findERKi.gnu.linkonce.t._ZN5BTreeIiPvE4Node6insertEjRKNS1_7ClosureE.gnu.linkonce.t._ZN5BTreeIiPvE4NodeC1EPS2_j.gnu.linkonce.t._ZN5BTreeIiPvE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIiPvE6insertEPNS1_4NodeERKiRKS0_.gnu.linkonce.t._ZN5BTreeIiPvE6insertERKiRKS0_.gnu.linkonce.t._ZN5BTreeIibE4Node6insertEjRKNS0_7ClosureE.gnu.linkonce.t._ZN5BTreeIibE4NodeC1EPS1_j.gnu.linkonce.t._ZN5BTreeIibE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIibE6insertEPNS0_4NodeERKiRKb.gnu.linkonce.t._ZN5BTreeIibE6insertERKiRKb.gnu.linkonce.t._ZN5BTreeIiPvE4Node4joinERKNS1_7ClosureEPS2_.gnu.linkonce.t._ZN5BTreeIiPvE9underflowEPNS1_4NodeEj.gnu.linkonce.t._ZN5BTreeIiPvE16remove_rightmostEPNS1_4NodeE.gnu.linkonce.t._ZN5BTreeIiPvE6removeEPNS1_4NodeERKi.gnu.linkonce.t._ZN5BTreeIiPvE6removeERKi.gnu.linkonce.t._ZN5BTreeIibE4Node4joinERKNS0_7ClosureEPS1_.gnu.linkonce.t._ZN5BTreeIibE9underflowEPNS0_4NodeEj.gnu.linkonce.t._ZN5BTreeIibE16remove_rightmostEPNS0_4NodeE.gnu.linkonce.t._ZN5BTreeIibE6removeEPNS0_4NodeERKi.gnu.linkonce.t._ZN5BTreeIibE6removeERKi.rodata.gnu.linkonce.r._ZTS5BTreeIibE.gnu.linkonce.r._ZTS5BTreeIiPvE.dynamic.data.jcr.gcc_except_table.bss.symtab.strtab.comment.shstrtab  "yo L L`o %o 2B L L9 <Bhh = HBtt > TB? cB88 A xBDD$B BhhC B$D BE  B: HHdd xx&+`+`4I++4k++P,,P,h,hX,,P--P"-`-`XD--(~--..h//(/8/8;00pc0p0p112 2 22p244a55 667788t*:|:|V;L;L  .P .B "extern int FAMOpen(FAMConnection* fc);" .PP .B "extern int FAMClose(FAMConnection* fc);" .PP .B "extern int FAMMonitorDirectory(FAMConnection *fc," .B " char *filename," .B " FAMRequest* fr," .B " void* userData);" .PP .B "extern int FAMMonitorFile(FAMConnection *fc, .B " char *filename," .B " FAMRequest* fr," .B " void* userData);" .PP .B "int FAMSuspendMonitor(FAMConnection *fc, FAMRequest *fr);" .PP .B "int FAMResumeMonitor(FAMConnection *fc, FAMRequest *fr);" .PP .B "int FAMCancelMonitor(FAMConnection *fc, FAMRequest *fr);" .PP .B "int FAMNextEvent(FAMConnection *fc, FAMEvent *fe);" .PP .B "int FAMPending(FAMConnection* fc);" .PP .B "typedef struct {" .B " int fd;" .B "} FAMConnection;" .PP .B "#define FAMCONNECTION_GETFD(fc) (fc->fd)" .PP .B "typedef struct {" .B " int reqnum;" .B "} FAMRequest;" .PP .B "enum FAMCodes { FAMChanged=1, FAMDeleted=2, FAMStartExecuting=3, " .B " FAMStopExecuting=4, FAMCreated=5, FAMMoved=6, FAMAcknowledge=7," .B " FAMExists=8, FAMEndExist=9 };" .PP .B "typedef struct {" .B " FAMConnection* fc;" .B " FAMRequest fr;" .B " char hostname[MAXHOSTNAMELEN];" .B " char filename[NAME_MAX];" .B " void *userdata;" .B " FAMCodes code;" .B "} FAMEvent;" .PP .B "extern int FAMErrno;" .PP .B "extern char *FamErrlist[];" .PP .SH DESCRIPTION \fBFAM\fR, the File Alteration Monitor, is a subsystem that applications can use to be notified when specific files or directories are changed. It is intended as a replacement for mechanisms such as \fBpoll\fR and \fBselect\fR. .P FAM comes in two parts: \fBfamd\fR, the daemon that listens for requests and provides notifications, and \fBlibfam\fR\, a library that client applications can use to communicate with FAM. .P \fBlibfam\fR's routines are found in \fIlibfam.a\fR, which is loaded if the option \fB\-lfam\fR is used with \fBcc\fR or \fBld\fR. .PP An application calls routines described here to establish a list of files for \fBfamd\fRto monitor. \fBfamd\fRgenerates events on a socket to communicate with the application. The \fBfamd\fR process is started when the first connection from any application to it is opened. It exits after all connections to it have been closed. .PP .SH USAGE Here are the steps required to use \fBFAM\fR in an application: .PP .AL .LI .IP 1. Create a connection to \fBfamd\fR by calling FAMOpen. This routine will pass back a FAMConnection structure used in all \fBFAM\fR procedures. .IP 2. Tell \fBfamd\fR which files and directories to monitor by calling FAMMonitorFile and FAMMonitorDirectory to express interest in files and directories, respectively. .IP 3. Select on the \fBfamd\fR socket file descriptor and call FAMPending when the \fBfamd\fR socket is active, and FAMNextEvent when FAMPending indicates that an event is available. Alternatively, call FAMPending (or FAMNextEvent) periodically to check the socket connection to \fBfamd\fR to see if any new information has arrived. If there are no events pending, FAMNextEvent blocks until an event occurs. .IP 4. When the application is through monitoring a file or directory, it should call FAMCancelMonitor. If the application wants to temporarily suspend monitoring of a file or directory, it may call FAMSuspendMonitor. When the application is ready to start monitoring again, it calls FAMResumeMonitor. .IP 5. Before the application exits, it should call FAMClose to free resources associated with files still being monitored and to close the connection to \fBfamd\fR. .PP .SH "DATA STRUCTURES" .B "The FAMConnection Structure" .PP The FAMConnection data structure is created when opening a connection to \fBfamd\fR. Subsequently it is passed into all \fBFAM\fR procedures. This structure has all the information in it to communicate to \fBfam\fR. .PP Use the macro FAMCONNECTION_GETFD to access the file descriptor inside the FAMConnection, rather than accessing it directly. .PP .B "The FAMRequest Structure" .PP When \fBfamd\fR is called on to monitor a file, it passes back a FAMRequest structure. This structure uniquely identifies the request so that it may be cancelled, using FAMCancelMonitor or suspended, using FAMSuspendMonitor. .PP .B "The FAMEvent Structure" .PP Changes to files and directories are encoded in the FAMEvent structure. The \fIcode\fR field of this structure contains one of the following enumeration constants: .TP .90i .SM FAMChanged Some value which can be obtained with \fBfstat\fR changed for a file or directory being monitored. .TP .SM FAMDeleted A file or directory being monitored was deleted or its name was changed. This event is also generated when monitoring starts on a nonexistent file or directory. .TP .SM FAMStartExecuting An executable file or shared library being monitored started executing. If multiple processes execute the same file, this event only occurs when the first process starts. .TP .SM FAMStopExecuting An executable file being monitored which was running finished. If multiple processes from an executable are running, this event is only generated when the last one finishes. .TP .SM FAMCreated A file was created in a directory being monitored. Note: this event is only generated for files created directly in a directory being monitored; subdirectories are not automatically monitored. .TP .SM FAMMoved FAMMoved events never occur. The name remains defined so that programs that reference it will still compile. .TP .SM FAMAcknowledge After a FAMCancelMonitor, \fBfamd\fR generates a FAMAcknowledge event. Also, if an invalid pathname is specified, \fBfamd\fR generates a FAMAcknowledge event. .TP .SM FAMExists When the application requests a file be monitored, \fBfamd\fR generates a FAMExists event for that file. When the application requests a directory be monitored, \fBfamd\fR generates a FAMExists event for that directory and every file directly contained in that directory. .TP .SM FAMEndExist When the application requests a file directory be monitored, a series of FAMExists events is generated as described above. After the last FAMExists message, \fBfamd\fR generates a FAMEndExist message. .PP If a FAM event applies to a file or directory being monitored, the FAMEvent's \fIfilename\fR field contains the full pathname that was passed to \fBfamd\fR. If an event applies to an entry in a monitored directory, the \fIfilename\fR field contains the relative path only. For example, if the directory \fI/tmp/xyzzy\fR were monitored, and the file \fI/tmp/xyzzy/plugh\fR were deleted, a FAMDeleted event would be generated containing "plugh" in \fIfilename\fR. If the directory itself were deleted, \fIfilename\fR would contain "/tmp/xyzzy". .SH PROCEDURES .B "FAMOpen, FAMClose" .PP The application opens a connection to \fBfamd\fR by calling FAMOpen. FAMOpen initializes the FAMConnection structure passed in to it and returns 0 if successful, otherwise -1. The variable char* appName should be set to the name of your application. The FAMConnection structure is passed to all subsequent \fBFAM\fR procedure calls. FAMClose frees resources associated with files still being monitored and closes a \fBfamd\fR connection. It returns 0 if successful and -1 otherwise. .PP .B "FAMMonitorDirectory, FAMMonitorFile" .PP FAMMonitorDirectory and FAMMonitorFile tell \fBfamd\fR to start monitoring a directory or file, respectively. The parameters to this function are a FAMConnection (initialized by FAMOpen), a FAMRequest structure, a filename and a user data pointer. The FAMRequest structure is modified to subsequently identify this request. When the file or directory changes, a \fBFAM\fR event structure will be generated. The application can retrieve this structure by calling FAMNextEvent (see description under FAMNextEvent). .PP FAMMonitorDirectory monitors changes that happens to the contents of the directory (as well as the directory file itself); FAMMonitorFile monitors only what happens to a particular file. Both routines return 0 if successful and -1 otherwise. .PP The filename argument must be a full pathname. .B "FAMSuspendMonitor, FAMResumeMonitor" .PP FAMSuspendMonitor temporarily suspends monitoring of files or directories. This is useful when an application is not displaying information about files, when it is iconified, for example. FAMResumeMonitor signals \fBfamd\fR to start monitoring the file or directory again. Changes which occur while monitoring is suspended are enqueued and delivered when monitoring is resumed. .PP Both of these routines take a FAMConnection and a FAMRequest structure. The FAMRequest Structure is returned from the FAMMonitorFile or FAMMonitorDirectory routines and return 0 if successful and -1 otherwise. .PP Because \fBfamd\fR runs as an asynchronous process, FAMNextEvent may return a few events regarding a given request after that request has been suspended. .B "FAMCancelMonitor" .PP When an application is finished monitoring a file or directory, it should call FAMCancelMonitor. This routine will signal \fBfamd\fR not to monitor this directory anymore. The FAMRequest structure is returned from the FAMMonitorFile or FAMMonitorDirectory routines. FAMCancelMonitor returns 0 if successful and -1 otherwise. .PP .B "FAMPending, FAMNextEvent" .PP FAMPending returns 1 if an event is waiting and 0 if no event is waiting. It also returns 1 if an error has been encountered. This routine returns immediately to the caller. .PP FAMNextEvent will get the next \fBFAM\fR event. If there are no \fBFAM\fR events waiting, then the calling application blocks until a \fBFAM\fR event is received. If blocking is not desirable, call FAMPending before FAMNextEvent, and only call FAMNextEvent when FAMPending says an event is available. .PP There are two ways to for applications to receive \fBFAM\fR events: .PP .AL .LI 1. The Select approach - The application selects on the file descriptor returned from FAMOpen, in the FAMConnection structure. When this file descriptor becomes active, the application calls FAMPending to determine whether a complete event is ready, and FAMNextEvent to retrieve the pending \fBFAM\fR event. .PP 2. The Polling approach - The application calls FAMPending periodically (usually when the system is waiting for input). When FAMPending returns 1, the application calls FAMNextEvent to retrieve the pending \fBFAM\fR event. .PP FAMNextEvent reads any information that is on the \fBfamd\fR socket, and returns it to the application in the form of a FAMEvent. .PP FAMNextEvent returns 1 if successful and -1 otherwise. .SH SEE ALSO famd(8), fstat(1), poll(2), select(2) .SH BUGS The FAMMoved event is not currently supported. .PP FAMNextEvent may not initialize the FAMEvent's filename field for FAMEndExist and FAMAcknowledge events. Use the request number to determine the file or directory to which those events refer. .PP FAMErrno and FamErrlist are not set when errors occur. .PP When a shell script is run, notification is generated for the shell executing the script. .PP Each process is limited to 1000 active requests at a time. .PP When using the Linux DNotify kernel monitor, a file handle will be opened for each file \fBfamd\fR is asked to monitor, meaning the file system the file resides on can not be unmounted. man/man5/famd.conf.5000444 000000 000000 00000004656 11035617737 014413 0ustar00rootroot000000 000000 .TH FAMD.CONF "5" "January 19, 2003" "famd.conf (fam 2.6.10)" "SGI" .SH NAME famd.conf \- The File Alteration Monitor (FAM) configuration file .SH SYNOPSIS In addition to its command line options, \fBfamd\fR's behavior can also be controlled through its configuration file. By default, this is \fI/usr/pkg/etc/fam.conf\fR. The \fB\-c\fR command line option can be used to specify an alternate file. .SH "FILE FORMAT" Configuration lines are in the format \fBoption=value\fR. Lines beginning with \fB#\fR or \fB!\fR are ignored. \fBfamd\fR recognizes the following options: .TP 26 \fBinsecure_compatibility\fR If set to \fItrue\fR, this disables authentication and reduces access security as described under SECURITY below. This is \fIfalse\fR by default. Setting this option to \fItrue\fR is the same as using the \fB\-C\fR command line option. .TP \fBuntrusted_user\fR This is the user name or UID of the user account which \fBfamd\fR will use for unauthenticated clients. If a file can't be \fBstat\fRed by this user, \fBfamd\fR will not tell unauthenticated clients about the file's existence. If an untrusted user is not given in the configuration file, \fBfamd\fR will write an error message to the system log and terminate. .TP \fBlocal_only\fR If set to \fItrue\fR, \fBfamd\fR will ignore requests from remote \fBfamd\fRs. This is \fIfalse\fR by default. Setting this option to \fBtrue\fR is the same as using the \fB\-L\fR command line option. This option is ignored if \fBfamd\fR is started by \fBinetd\fR. .TP \fBidle_timeout\fR This is the time in seconds that famd will wait before exiting after its last client disconnects. The default is \fI5\fR seconds. This option is overridden by the \fB-T\fR command line option. .TP \fBnfs_polling_interval\fR This is the interval in seconds between polling files over an NFS filesystem. The default is \fI6\fR seconds. This option is overridden by the \fB-t\fR command line option. .TP \fBxtab_verification\fR If set to \fItrue\fR, \fBfamd\fR will check the list of exported filesystems when remote requests are received to verify that the requests fall on filesystems which are exported to the requesting hosts. This is \fItrue\fR by default. If this option is set to \fIfalse\fR, \fBfamd\fR will service remote requests without attempting to perform the verification. If the \fBlocal_only\fR configuration option or \fB-L\fR command line option is used, \fBxtab_verification\fR has no effect. .SH "SEE ALSO" man/man8/famd.8000444 000000 000000 00000004363 11035617740 013462 0ustar00rootroot000000 000000 .TH FAMD "8" "January 19, 2003" "famd (fam 2.6.10)" SGI .SH NAME famd \- The File Alteration Monitor (FAM) daemon .SH SYNOPSIS \fBfamd\fR [\fB\-CdflLv\fR] [\fB\-C\fR \fIconffile\fR] [\fB\-p\fR \fIprog.vers\fR] [\fB\-t\fR \fIperiod\fR] [\fB\-T\fR \fItimeout\fR] .SH DESCRIPTION \fBFAM\fR, the File Alteration Monitor, is a subsystem that applications can use to be notified when specific files or directories are changed. It is intended as a replacement for mechanisms such as \fBpoll\fR and \fBselect\fR. .P \fBFAM\fR comes in two parts: \fBfamd\fR, the daemon that listens for requests and provides notifications, and \fBlibfam\fR\, a library that client applications can use to communicate with \fBFAM\fR. For further information on \fBlibfam\fR, see the \fBfam(3)\fR manual page. .P \fBfamd\fR is normally started by an Internet superserver such as \fBinetd\fR or \fBxinetd\fR, but can also be started independently. Only one instance of \fBfamd\fR can be run at a time. .P \fBfamd\fR can be configured by editing the famd configuration file (see \fIfamd.conf(5)\fR for further details) or by providing the following command line options: .SH OPTIONS .TP \fB\-c\fR \fIconffile\fR Read configuration information from \fIconffile\fR. .TP \fB\-C\fR Run in backwards compatibilty mode. This is disables authentication and is not recommended. .TP \fB\-f\fR Run in the foreground. .TP \fB\-v\fR Enable verbose messages. .TP \fB\-d\fR Enable verbose messages and debug messages. .TP \fB\-l\fR Disable polling of files on remote NFS servers. .TP \fB\-L\fR Only accept connections from local clients. .TP \fB\-p\fR \fIprog\fR.\fIvers\fR Register with the portmapper using the specifed RPC program and version numbers. .TP \fB\-t\fR \fIperiod\fR Poll a remote NFS server every \fIperiod\fR seconds to obtain file updates if the remote server is not running \fBfamd\fR. .TP \fB\-T\fR \fItimeout\fR Exit \fItimeout\fR seconds after the last client disconnects. A value of 0 causes \fBfamd\fR to run forever. .SH SECURITY \fBfamd\fR never opens the files it's monitoring, and only monitors files that the client can \fBstat\fR. .SH FILES .TP \fI/usr/pkg/etc/famd.conf\fR Default \fBfamd\fR configuration file. .SH "SEE ALSO" fam(3), famd.conf(5), inetd(8), portmap(8), stat(1), xinetd(8) .SH BUGS sbin/famd000555 000000 000000 00000542210 11035617737 012640 0ustar00rootroot000000 000000 ELF44 (44JQ%%/usr/lib/ld.so.1  !"#%'(,.01234789:;<=@BCDEFHKLNOPRSUVXYZ\]_`bdefghkmqrstwxz{|}~     "#&'()+/23479:<=>@ABCEFGIJKLMNSTUWYZ[\^_`adfghkmnprtuvwxz|     #$%&'(*,-./01346789:;<?@ACEGJMNOPRSTUVXY\]^`abegikmprstvxyz|} $&)*+-/56>?AGIJMQTW[^acijlnopuvy !$%*,-.01568;?DHOPQRVX]bceijloqsy{}~ !")+25=>BDFHIKLQWZ[_cdfhjlnoquw{~ %#D+P Dm"!!" $4!$L4 F8 A"0HW@ v";4  "m7<"]U( pkD $ kh"!j:|("Ksod H 0< !d #kXh"J8"?$D~tP",t` !@"l|P"*Y( X "<"^=$ ^k`v   !   t"0opX" ?!H!pN0 ig o!u! <"` T tH 0"u t 5` Bl VT"O<"h !"j TP i$"&l< 3& @"6~$@vt"$("2`!  L < <"[ W  ^T vp   ! ! 8(! !4 |  $" k< +" 03$ a! |D"A "` i<" Ƙ"q @ \@ .qX, TwL"% :  l 0 mP" !J =$ ^@  ! & Lx Xh ! hT$"   KH ^ʀP x\d h \8 " hL"| ( 3,@ Lob3L ), "N$ hD @!0 T   1   !@ &   x$"8N|` f|t 8  <   !$| ;$BRLD kjkm(("j=4 $H P"F@kQz"(uh $"(! P"5$  d  h =TP"5g#m`!<< ɠ I( !@L (  h ! pX"oR+ #TD "Q"p! -38 S$ g"v"=$( !| <4 ,4 FM!o;h H"d"Th$ 4$"BlH  H!%h"VEp!]oxsH op\"U8 xp j # X!* <( R|$"~m$ ~< P"(!h!d  $$ T}`"+|l` x p  P 2$ RL co 4 "x@!p  < = T#h\ (   !#,!o$ $"8GT"9\4  qq(,D<"Go$ T C/,< _#gH  "S"88 T"Y9![$g v$d} !!r""XH  n"5"<D"_W, u`("f(! 4X $ /& Dd |" !d T İD X D !l !9 !?8!!P&!q3 !!!XP ! !!#!$!d "!@!"8Pd "TjpD""vS "|"E"!"(L "$h #lP #/"<#gL #{ L #X #h"W#"r$ou$)k\$<j$"$[< $h#$p$"$$$8H $P $!$o%("b%F!%Z%%c( %"l%$"%$"X%j%&%H &<"@&+P &<  &PlP"Z&p$ &, &&&"&iH"&k@'j'$`  'V)p '4 'h"y'H 'P"\( !(!Q (E!(d(L ( (h0$"(TX"w( )!)@X"{)xP )@  )T!)  )8 *!*4 *Ex!*YD"I*#*<H *<  *6 *L + j+"v+Dz,"'+p4".+H + +kT+5 ,'` ,?  ,j ,p ,  ,h , -G -."i-ex - !-4 -g" -{`").L0D .4".X!h\ .y4 .fT .!.@ !.!.$.|L . /o/0kD/O( !/]$/e( /uj/|!/T /B@ /#8/H"n0j"0?"M0z !0` 0 08 0"$0X 1 81o1%ø| 1[ИL"t1 18( 1!1 !1#`8 1@!2 !2*g8 2Fx"&2q 2"2"k2g 2#2( 2D8 3o@3X"e3M !3b2 3T"-3!3o3#4 4o4,$468 4E"4R!4ZGt 4t4 !4k4$` 4ӌ 1!4 5 "L58#(8 5_#5f٬"x5$5"H5*4 5 6q"!6<|"z6mj6\P"6` 60 6@  78p 7"?< 7?"7G\ 7[U8P 7} 7#7 !7$(7!7o8!d 8/D"H8QQth 8w` !8#8"g8LD"a8#\8q!8@ 9(!9)hxh"9P"<9[!9v|"D9 9 $ 98$ 9[$ 0 9 :$  :Hh :hZpL :}t4 :X4 :"?;CX ;#X ;=p, ;`"R;s"#;8"3;k8<X <-P L >/o>Nj>jq >w&  >Z$L >j>X !>D >T ?"? L">?WH ?mP ?8 ?o ?H ?$X?k@4L @!$ @<@ @p!@y 8!@  @ @ @H( @ H Ad A,$A:"AIެD AZ, Au L A"1AL Ag AP!B B(`H B=$|BBT0 BqVP BT$"B !B$ B%B,@ C@ C5!(C?l|"Ci !CwH CkC>8 C:<H C!CR D# D1g$" DK!DW DnfTp D tD D"D"7D< Dp( DHX( E)$ E!'E5!E<) ELEYoEw.   Ei`P"EH Et"PEHT"F)h FA9 F_<\ FuL8"/Fp0!8#PFL F<X F8 Gp GoG:$GA$pGH !GV  Gh!Gr G&GH !Gg0 G8h HQX HDP!HZ8!HpX$"CH$ H H$HH"Hx"sI !IH I3!IR !Iap!I!XI":IL"TIDH I$ Jp J!J7kJK@ J~ J$"J@ JX@!J"cK  K-!K7!K? 4 KUkKhH Ky!KL K\d Kh(!K  L  L0 L? LFL LW( Ld!L#tL"}4- L@ Lo| L!M0h MҴd MD  MVh"4Md MotM4| M9 N #,_ZN9DirectoryC2EPKcP6ClientiRK4Cred.umul_ZN6ClientC2EPKc7in_addr_ZN5BTreeIP14ClientInterestbE4Node6insertEjRKNS2_7ClosureE_ZTS5BTreeIP10ServerHostbE_ZTS11StringTableIP10FileSystemEmemsetclnttcp_create_ZTS3SetIP10ServerHostExdr_u_short_ZN6ClientD1Ev_ZN10ServerHost12send_monitorEP14ClientInterestNS0_4TypeEPKcunlink_ZN10TCP_Client17dequeue_from_scanEP8Interest_ZN5BTreeIiP17NegotiatingClientE4Node4joinERKNS2_7ClosureEPS3__ZN16ClientConnectionC1EiPFbPKcjPvEPFvS2_ES2__ZN14ClientInterest10filesystemEP10FileSystem_ZNK5BTreeIP10ServerHostbE4nextERKS1__ZN5BTreeIP10ServerHostbED2Ev_ZN4IMon7expressEPKcP4stat_ZN5Event7CreatedE_ZNK13NFSFileSystem19dir_entries_scannedEv_ZN11LocalClientC2EiPK11sockaddr_unR4Cred_ZNK5BTreeIP14ClientInterestbE4Node4nextERKS1__ZTI13NetConnection_ZN4Cred14Implementation4lastE_ZN5BTreeIiP14ClientInterestE4NodeC1EPS3_RKNS2_7ClosureEnegotiating_clients_ZN8DirEntry14notify_createdEP8Interest_ZN13NetConnection13write_handlerEiPv_ZN8Pollster6forgetEP10ServerHostabort_ZN4IMon8ehandlerE_ZNK5BTreeIiP14ClientInterestE4findERKiputenvsend_ZN11StringTableIP10FileSystemE6insertEPKcRKS1__ZN8Listener17set_rendezvous_fdEiseteuid_ZNK5BTreeIP10ServerHostbE4Node4nextERKS1__ZN11StringTableIP10FileSystemE6removeEPKc_Z5usagev_ZN10TCP_Client15unblock_handlerEPv_ZN5BTreeIP8InterestbED1Ev_ZN15LocalFileSystemC1ERK6mnttab_ZN8Interest9hashtableE_ZN8Interest7do_statEv_ZTI16ClientConnection_ZN13NetConnection13deliver_inputEv_ZN3Log5debugEv_ZNK10SmallTableImP10FileSystemE8positionERKm_ZN5BTreeIP14ClientInterestbE6insertEPNS2_4NodeERKS1_RKbclosedirchdir_ZN9Directory9scan_taskEPv_finifopen_ZTI6Client___errno_ZN5BTreeIP10ServerHostbED1Ev_ZN15LocalFileSystem10hl_suspendEi_ZN10TCP_ClientD2Ev_ZN8DirEntry4scanEP8Interest_ZN5BTreeIP8InterestbE6removeERKS1__ZN3Log6vfglogEPKcPv_ZN4CredC2Ev_ZN10FileSystemD0Ev_ZN5BTreeIiP14ClientInterestE6insertEPNS2_4NodeERKiRKS1__ZN5BTreeIP10ServerHostbE4Node6removeEj_ZTS10TCP_Client_ZNK5BTreeIP8InterestbE4Node4nextERKS1_getpwuid_ZN4CredC2Eli_ZN3SetIP14ClientInterestED1Ev_ZN4CredD1Ev__dso_handle_ZN5BTreeIiP17NegotiatingClientE4Node6insertEjRKNS2_7ClosureExdr_pmap_ZN5BTreeIP14ClientInterestbE16remove_rightmostEPNS2_4NodeE_ZN5BTreeIiP17NegotiatingClientE4NodeC1EPS3_RKNS2_7ClosureE_ZTV5BTreeIP14ClientInterestbE_ZN8Pollster5watchEP8Interest_ZN5BTreeIP8InterestbED2Ev_ZdlPv_ZN14InternalClientD0Ev_ZNK14ClientInterest6activeEv_ZTS7Scanner_ZTI8Interest_ZTV14InternalClientsetegid_ZN8Listener16accept_ugly_hackEiPv_ZN3SetIP8InterestED0Ev_ZN15FileSystemTable12mtab_watcherEread_ZN9Scheduler21install_write_handlerEiPFviPvES0__ZTI5BTreeIP10ServerHostbE_ZN5BTreeIiP17NegotiatingClientED0Ev__xnet_socket_ZN5BTreeIP14ClientInterestbED2Ev_ZN5BTreeIP8InterestbE4Node4joinERKNS2_7ClosureEPS3__ZN8ListenerC2Ebbmm_ZN8ListenerC1Ebbmm_ZTVN10__cxxabiv117__class_type_infoE_ZN5BTreeIP14ClientInterestbE6removeEPNS2_4NodeERKS1__ZN10ServerHost18disconnect_handlerEPv_ZN3Log5auditEbPKcz_ZNK5Event4nameEv_ZN3Log3logENS_8LogLevelEPKcz_ZN5BTreeIP14ClientInterestbE4Node6removeEj_ZN13ServerHostRef4findEPKc_ZN4Cred18set_untrusted_userEPKc_ZN13NFSFileSystem10hl_monitorEP14ClientInterestNS0_4TypeE_ZTI8DirEntry_ZN8Activity9idle_timeE_ZN8MxClient11monitor_dirEiPKcRK4Cred_ZN4IMon9is_activeEv_ZTV16ServerConnection_ZN4FileD0Ev_ZN14InternalClient10post_eventERK5EventiPKc_ZN3Log5debugEPKcz_ZN16DirectoryScannerD1Ev_ZN4FileC2EPKcP6ClientiRK4Cred_ZN4Cred14ImplementationD2Ev_ZN8Listener19create_local_clientER10TCP_Clientlfree_ZN5BTreeIP10ServerHostbE6removeEPNS2_4NodeERKS1__ZN13NetConnectionD0Ev_ZN9Scheduler8do_tasksEv_ZN9Scheduler6ntasksE_ZN9Scheduler9handle_ioEPK6fd_setMNS_6FDInfoENS3_11FDIOHandlerE_ZN9Scheduler20install_onetime_taskERK7timevalPFvPvES3__ZN5BTreeIiP14ClientInterestE4NodeC1EPS3_jrecv_ZN8InterestD1Ev_ZTV14ClientInterest_ZN9Directory17scan_done_handlerEPv_ZN14InternalClientC2EPKcPFvRK5EventPvES5_setgrent_ZN9Scheduler18install_io_handlerEiPFviPvES0_PNS_10IOTypeInfoE_ZTS8DirEntry_ZNK4Cred14Implementation5equalElljPKlPv_ZN3Log5levelE_ZN3Log4nameEPKc_ZN16ServerConnectionD0Ev_GLOBAL_OFFSET_TABLE__ZN14ClientInterestD2Ev_ZN15FileSystemTable12destroy_fsesEP11StringTableIP10FileSystemE_ZN13NFSFileSystem11hl_map_pathEPcPKcRK4Cred_ZN15LocalFileSystem9hl_resumeEi_ZN8MxClientC1E7in_addr_ZTI16ServerConnection_ZN8Interest7do_scanEvgetuid_ZN10TCP_Client10post_eventERK5EventiPKc_ZN4Cred9SuperUserE_ZN5Event11AcknowledgeE_ZN5BTreeIP14ClientInterestbE4NodeC1EPS3_RKNS2_7ClosureE_ZN8Activity5countE_ZN10ServerHostD1Ev_ZN13NFSFileSystem10hl_suspendEi_ZN5BTreeIiP14ClientInterestE4NodeD1Ev_ZN5Event5ErrorE_ZN11StringTableIP10FileSystemED1Ev_ZN16ClientConnectionD0Ev_ZTS5BTreeIP14ClientInterestbE__register_frame_info_ZN16ServerConnectionC2EiPFvPK5EventiPKcPvEPFvS5_ES5__ZdaPv_ZN4FileC1EPKcP6ClientiRK4Cred_ZN4Cred14ImplementationD1Ev_ZN5BTreeIiP17NegotiatingClientE4NodeD1Evchown_ZTS11StringTableIP10ServerHostE_ZN4IMonC1EPFvmmiE_ZN16DirectoryScannerdlEPv_ZN13ServerHostRefD2Ev_ZTS11LocalClient__assert_ZN7ScannerD1Evgettimeofday_ZTV3SetIP8InterestE_ZN5BTreeIP8InterestbE6insertEPNS2_4NodeERKS1_RKb_ZN9Scheduler21remove_recurring_taskEPFvPvES0_ioctl_ZN8DirEntryD0Ev_ZN5BTreeIiP14ClientInterestE4Node4joinERKNS2_7ClosureEPS3__ZNK5BTreeIiP14ClientInterestE4nextERKi_ZTS14InternalClient_ZN8MxClient9check_newEiPKc_ZN9Scheduler20remove_write_handlerEi_ZN8ActivityC1ERKS___xnet_sendmsg_ZN5BTreeIiP17NegotiatingClientE16remove_rightmostEPNS2_4NodeE_ZN8Interest12imon_handlerEmmiopendir_ZN13NFSFileSystemD1Ev_ZN14ClientInterest14findfilesystemEv_ZN15LocalFileSystem10ll_monitorEP8Interestb_etext_ZTS5BTreeIiP17NegotiatingClientE_ZN10ServerHost10defer_scanEiiiPKc_ZN5BTreeIP8InterestbE4Node6removeEjinet_ntoa_ZN4CredC2ERKS__ZN15LocalFileSystemD1Ev_ZN13NFSFileSystem9hl_resumeEi_ZTS3SetIP14ClientInterestE_ZNK5BTreeIP8InterestbE5firstEv_ZTV3SetIP10ServerHostE_ZN8Pollster7pollingE_ZN8DirEntry14notify_deletedEP8Interest_ZN3Log5countE_ZN5BTreeIiP14ClientInterestE6removeERKi_ZN8MxClient6resumeEi_ZN4IMonD2Ev_ZN4Cred11nimpl_allocEstrncpy_ZTS14ClientInterest_ZN9DirectoryD1Ev_ZN4IMon6revokeEPKcmm_ZN3SetIP10ServerHostED1Ev_ZNK4File4typeEv_ZN8MxClientC2E7in_addr_ZN11StringTableIP10ServerHostE6insertEPKcRKS1__ZTV11LocalClient_ZTS13NFSFileSystem_ZN11LocalClientD1Ev_ZN4Cred3addEPNS_14ImplementationE_ZNK15LocalFileSystem22get_attr_cache_timeoutEv_ZN11StringTableIP10FileSystemEaSERKS2__ZNK4Cred14Implementation17addl_groups_equalEjPKl_ZN13NetConnection12set_handlersEbb_ZN15LocalFileSystem17ll_notify_deletedEP8Interest_ZN6ClientC1EPKc7in_addr_ZN9Scheduler17remove_io_handlerEiPNS_10IOTypeInfoE_ZN8ActivityC1Ev_ZN9Scheduler18recurring_intervalE_ZN15LocalFileSystem9hl_cancelEi_ZN8Pollster12polling_taskEPvchmod_ZTV11StringTableIP10ServerHostE_ZN8ActivityD2Ev_ZN13NetConnectionC1EiPFvPvES0__ZN13NetConnectionC2EiPFvPvES0__ZN8DirEntry7do_scanEvvsyslog_ZN4Cred14ImplementationC2ElljPKlPv_ZN14ClientInterest9find_nameEPKc_ZN9DirectoryC1EPKcP6ClientiRK4Cred_ZTS10FileSystemstrncmp_ZTV8Interest_ZN9Scheduler4nfdsE_ZNK8DirEntry6activeEv_ZN5BTreeIiP17NegotiatingClientE4Node6removeEj_ZN5BTreeIiP17NegotiatingClientE6insertEPNS2_4NodeERKiRKS1__ZN6ClientD2Ev_ZNK15LocalFileSystem19dir_entries_scannedEv_end_ZTVN10__cxxabiv120__si_class_type_infoE_ZN5BTreeIiP14ClientInterestED1Ev_ZN8Pollster6pintvlE_ZN13NFSFileSystemC1ERK6mnttab_ZN9Scheduler10fd_to_infoEigeteuid_ZN8DirEntryC1EPKcP9DirectoryPS__Unwind_Resume_ZN5BTreeIiP14ClientInterestE16remove_rightmostEPNS2_4NodeE_ZNK5BTreeIiP14ClientInterestE4Node4nextERKi_ZN10ServerHost8activateEv_ZN5BTreeIP10ServerHostbEC2Ev_ZTI5BTreeIiP17NegotiatingClientEgethostname__sysconf_xpg5select_ZTI9Directory_ZTV11StringTableIP10FileSystemE_ZN5BTreeIP14ClientInterestbE4Node4joinERKNS2_7ClosureEPS3__ZN8DirEntryC2EPKcP9DirectoryPS__ZN5BTreeIP14ClientInterestbE4NodeC1EPS3_jlisten_ZN5BTreeIP8InterestbED0Ev_ZN8DirEntry13scan_no_chdirEv_ZN5BTreeIP10ServerHostbE4NodeC1EPS3_RKNS2_7ClosureE_ZTS16ServerConnection_ZN13NFSFileSystem17ll_notify_deletedEP8Interest_ZN14InternalClientD2Ev_ZN16ClientConnection9input_msgEPKcj_ZN9Scheduler5writeE_ZN16ClientConnection16send_sockaddr_unERK11sockaddr_un.uremgetpwnam_ZN14ClientInterest7do_scanEv_ZN16DirectoryScanner10match_nameEPP8DirEntryPKc_ZN8Listener14read_ugly_hackEiPv_ZN8Listener15dirty_ugly_hackEv_ZN8Pollster13start_pollingEv_Znwj_ZTV10FileSystem_ZN8Interest17xtab_verificationE_ZN9Scheduler19remove_read_handlerEi_ZTI10FileSystem_ZN10TCP_Client16enqueue_for_scanEP8Interest_ZTI10TCP_Clientmkdirstrdup_ZN16ClientConnection10send_eventERK5EventiPKc_ZTS16DirectoryScanner_ZN10FileSystemC2ERK6mnttab_ZN5BTreeIP14ClientInterestbED0Ev_ZN10TCP_ClientD1Ev_ZNK5BTreeIiP14ClientInterestE5firstEv_ZTI5BTreeIP8InterestbE_ZN8DirEntry10post_eventERK5EventPKc_ZN17RPC_TCP_Connector14try_to_connectEv_ZN9Directory7do_scanEv_ZN5BTreeIiP17NegotiatingClientE9underflowEPNS2_4NodeEj_ZN10FileSystemD1Ev_ZN5Event18getEventFromOpcodeEc_ZN15FileSystemTable4findEPKcRK4Cred_ZNK5BTreeIP10ServerHostbE5firstEv_ZN5BTreeIP8InterestbE9underflowEPNS2_4NodeEj_ZN3Log13log_to_stderrE_ZN8Interest4imonE_ZN3SetIP14ClientInterestED0Ev_ZN4CredD2Evmemmove_PROCEDURE_LINKAGE_TABLE_getpidfgets_ZN16ServerConnection12send_monitorEN14ClientInterest4TypeEiPKcRK4Cred_ZN4CredC1Eligetgrent_ZN9Scheduler14recurring_procE_ZN5BTreeIP8InterestbE4NodeC1EPS3_RKNS2_7ClosureE_ZTS13NetConnection_DYNAMIC_ZN15FileSystemTable9mtab_nameE__xnet_bind_ZN3SetIP8InterestED1Ev_ZN5BTreeIP8InterestbEC2Ev_ZN16DirectoryScanner5cacheE_ZN4IMon6imonfdE_ZN8Interest6revokeEv_ZN5BTreeIiP17NegotiatingClientED1Ev_ZN8MxClientD1Ev_ZN3Log6perrorEPKcz_ZN5BTreeIP8InterestbE4NodeD1Ev_ZN15LocalFileSystemC2ERK6mnttab_ZN3Log5errorEv_ZN8Pollster22remote_polling_enabledEpmap_set_ZN5BTreeIP14ClientInterestbEC2Ev_ZN15FileSystemTable10fs_by_nameE_ZN4Cred5nimplE_ZN14InternalClient17dequeue_from_scanEP8Interest_ZN9Scheduler19remove_onetime_taskEPFvPvES0__ZN3Log10foregroundEv_ZN5BTreeIP10ServerHostbE4Node4joinERKNS2_7ClosureEPS3__ZN9Directory5chdirEv_ZN5BTreeIP10ServerHostbE4NodeD1Ev_ZTS16ClientConnection_ZN10TCP_Client16ready_for_eventsEv_ZTI5BTreeIiP14ClientInterestE_ZN17RPC_TCP_Connector10retry_taskEPv_ZN4Cred14ImplementationC1ElljPKlPv_ZN4FileD1Ev_ZN5BTreeIP10ServerHostbE6insertEPNS2_4NodeERKS1_RKb_ZN15LocalFileSystem11hl_map_pathEPcPKcRK4Cred_ZTI10SmallTableImP10FileSystemE_ZN5BTreeIP10ServerHostbE16remove_rightmostEPNS2_4NodeE_ZN16DirectoryScannerD2Ev_ZN14InternalClient16enqueue_for_scanEP8Interest_ZTI11StringTableIP10ServerHostE_ZN3Log10backgroundEv_ZN9Directory16new_done_handlerEPv_ZTV16ClientConnection_ZN8MxClientD2Ev_ZTV13NetConnection_ZNK5BTreeIiP14ClientInterestE4Node4findERKisscanf_ZN10ServerHost11send_resumeEi_ZN8Interest23verify_exported_to_hostEv_ZN16ServerConnection9input_msgEPKcj_ZN8InterestD0Ev_ZN4Cred8impllistE_ZN5BTreeIP10ServerHostbE4NodeC1EPS3_j_ZN10SmallTableImP10FileSystemE9removeAllEv_ZN10SmallTableImP10FileSystemED1Ev_ZN8MxClient8interestEi_ZNK4Cred14Implementation11become_userEv_ZN15FileSystemTable5countE_ZN16ServerConnectionC1EiPFvPK5EventiPKcPvEPFvS5_ES5__ZN14ClientInterestD1Ev_ZN14InternalClientC1EPKcPFvRK5EventPvES5__ZN13NetConnection8shutdownEb_ZNK13NetConnection16ready_for_outputEv_ZN3Log4infoEv_ZN4CredaSERKS__ZN8InterestC1EPKcP10FileSystem7in_addrNS_18ExportVerificationE_ZN10ServerHost11send_cancelEi_ZN5BTreeIP10ServerHostbE4Node6insertEjRKNS2_7ClosureE_ZN8MxClient12monitor_fileEiPKcRK4Cred_ZTI3SetIP10ServerHostE_ZN8Listener18accept_localclientEiPv_ZN6Client23suggest_insecure_compatEPKc_ZN11StringTableIP10FileSystemED0Ev_ZN10TCP_Client9input_msgEPKci_ZN11StringTableIP10ServerHostED1Ev_ZN8Pollster5watchEP10ServerHost_ZN9Scheduler6selectEv_ZmIR7timevalRKS__ZTS6Client_ZTI15LocalFileSystem_ZTI7Scannerstrcasecmp_ZN14ClientInterest7suspendEv_ZN9Directory9find_nameEPKc_ZN13ServerHostRef5countE_ZN15FileSystemTable8fs_by_idE_ZTS8Intereststrtoul_ZN7ScannerD2Ev_edata_ZTV5BTreeIiP17NegotiatingClientE_ZN9Directory6resumeEv_ZN10ServerHost13event_handlerEPK5EventiPKcPvstrerror_ZN5BTreeIP8InterestbE4NodeC1EPS3_j_ZNK5BTreeIP14ClientInterestbE4Node4findERKS1__ZN5BTreeIiP14ClientInterestE4Node6insertEjRKNS2_7ClosureE_ZTI3SetIP14ClientInterestE_ZN15LocalFileSystem17ll_notify_createdEP8Interest_Jv_RegisterClasses_ZN8MxClient7suspendEimemcpy_ZN13NFSFileSystemD2Ev_exitprogram_name_ZN16DirectoryScannerC2ER9DirectoryRK5EventbPFvPvES5__ZN5BTreeIP8InterestbE6removeEPNS2_4NodeERKS1__ZN13NFSFileSystem10ll_monitorEP8Interestb_ZN4CredC1Eifclose_ZTI4File_ZN17RPC_TCP_ConnectorC1EmmmPFviPvES0__ZTV9Directory_ZTI11StringTableIP10FileSystemE_ZN4IMon11imon_revokeEPKcmm_ZN5BTreeIP14ClientInterestbE6removeERKS1__ZN6Client4nameEv__xnet_connect_ZNK5BTreeIP8InterestbE4nextERKS1__initstrcat_ZN14ClientInterest10post_eventERK5EventPKc_ZN10ServerHost15connect_handlerEiPv__iob_ZN5BTreeIP8InterestbE4Node6insertEjRKNS2_7ClosureE_ZTI3SetIP8InterestE_ZN9Scheduler20install_read_handlerEiPFviPvES0__ZNK11StringTableIP10FileSystemE8positionEPKc_ZTS5BTreeIP8InterestbE_ZN13ServerHostRef13hosts_by_nameEstrrchr_ZN9DirectoryD0Ev_ZN9Scheduler7runningEvsnprintf_ZN6ClientD0Evbindresvportreaddir_ZN13ServerHostRefaSERKS__ZTI16DirectoryScanner_ZN5Event6ExistsE_ZN11LocalClientD0Ev_ZN15FileSystemTable14longest_prefixEPKc_ZNK4Cred14Implementation19getAddlGroupsStringEv_ZN5BTreeIiP14ClientInterestE4Node6removeEj_ZN17RPC_TCP_ConnectorC2EmmmPFviPvES0_strstr_ZN5BTreeIP10ServerHostbE6insertERKS1_RKb__cxa_pure_virtualaccept_ZN9Scheduler22install_recurring_taskERK7timevalPFvPvES3__ZN11LocalClientC1EiPK11sockaddr_unR4Cred_ZN5BTreeIP14ClientInterestbE6insertERKS1_RKb_ZN5BTreeIP10ServerHostbE9underflowEPNS2_4NodeEj_ZN4Cred15insecure_compatE_ZN11StringTableIP10ServerHostE6removeEPKc_ZN14ClientInterest6resumeEv_ZN14ClientInterest4scanEP8Interest_ZN10ServerHostC2ERK7hostent_ZN8ActivityD1Ev_ZN10ServerHostC1ERK7hostenttempnam_ZN6Client4nameEPKc_ZN10TCP_ClientC1E7in_addriR4Cred_ZN15LocalFileSystem10hl_monitorEP14ClientInterestNS0_4TypeEsetreuid_ZTV16DirectoryScannerrresvporthasmntopt_ZN9Scheduler17recurring_closureE_ZN8Pollster6forgetEP8Interest_ZN5BTreeIiP14ClientInterestED0Ev_ZN10TCP_Client13input_handlerEPKcjPv_ZTI14InternalClientsetrlimit_ZNK5BTreeIP10ServerHostbE4Node4findERKS1__ZN5BTreeIP10ServerHostbED0Evvfprintf_environ_ZN10ServerHost18deferred_scan_taskEPv_ZTV10TCP_Client_ZNK5BTreeIP14ClientInterestbE5firstEvpmap_unset_ZTV5BTreeIP10ServerHostbE_ZN5BTreeIiP14ClientInterestEC1Ev_ZN4CredC1Ev_ZN17NegotiatingClientC1EilP11sockaddr_un_ZN17NegotiatingClientC2EilP11sockaddr_unmain_ZN13NetConnection15ready_for_inputEb_ZN4Cred4dropEPNS_14ImplementationE_ZN8Listener13accept_clientEiPv_ZN11config_optsC2Ev_ZN16ClientConnectionC2EiPFbPKcjPvEPFvS2_ES2__ZN10FileSystem6cancelEP14ClientInteresti_ZN5BTreeIiP17NegotiatingClientE6removeERKi_ZN10ServerHost4pollEv_ZN17RPC_TCP_Connector10deactivateEv_ZN4Cred22enable_insecure_compatEv_ZN5BTreeIiP14ClientInterestE9underflowEPNS2_4NodeEj_ZN5BTreeIP14ClientInterestbE9underflowEPNS2_4NodeEj_ZNK5BTreeIiP17NegotiatingClientE4Node4findERKi_ZN15FileSystemTable4rootE_ZN14InternalClientD1Ev_ZNK5Event4codeEv_ZN17RPC_TCP_Connector8activateEv_ZTS5BTreeIiP14ClientInterestE_ZN5Event7ChangedE_start_ZN4Cred27get_cred_for_untrusted_connEi_ZN13NFSFileSystem17ll_notify_createdEP8Interest_ZN9Scheduler6fdinfoE_ZN15FileSystemTable17create_fs_by_nameEv_ZN3Log13disable_auditEv_ZN5BTreeIP14ClientInterestbED1Ev_ZN5BTreeIP8InterestbE6insertERKS1_RKb_ZN10TCP_ClientD0Ev_ZN13NetConnection12read_handlerEiPv_ZTV6Clientstrchr_ZN10FileSystemD2Ev_ZN8ListenerD1Ev_ZN8Interest24enable_xtab_verificationEb_ZN9Scheduler14next_task_timeE_ZN9Directory11current_dirE__ctype_mask_ZN17RPC_TCP_Connector13write_handlerEiPv_ZN11config_optsC1Ev_ZN4Cred9untrustedE_ZTI13NFSFileSystem_ZN16DirectoryScanner4doneEv_ZN13NFSFileSystemC2ERK6mnttablstat_ZN5BTreeIiP17NegotiatingClientE6removeEPNS2_4NodeERKi_ZN3Log8criticalEPKcz_ZN3Log4vlogENS_8LogLevelEPKcPv_ZN14InternalClient16ready_for_eventsEv_ZN8Pollster16polled_interestsE_ZN3Log5errorEPKczclnt_sperrno_ZN5Event6ExitedE_ZN16DirectoryScannerD0Ev_ZN17RPC_TCP_ConnectorD2Ev_ZN10FileSystem7monitorEP14ClientInterestNS0_4TypeErealpath_ZTV13NFSFileSystem_ZN4Cred8new_implElljPKlPv_ZN8Interest17report_exec_stateEv_ZN8MxClientD0Ev_ZN13NetConnectionD1Ev_ZN8DirEntry6unscanEP8Interest_ZN13NetConnection5inputEvgethostbyname__xnet_recvmsg_ZN8InterestD2Ev_ZN4IMon12read_handlerEiPv_ZN15FileSystemTable18mtab_event_handlerERK5EventPv_ZN5BTreeIiP17NegotiatingClientEC1Ev_ZN9Directory10chdir_rootEv_ZN4IMon9imon_openEv_ZTV5BTreeIP8InterestbE_ZN8ListenerD2Ev_ZN8Activity4taskEPv.div_ZN14ClientInterest14notify_createdEP8Interest_ZN10TCP_ClientC2E7in_addriR4Cred_ZN16ServerConnectionD1Ev_ZTS3SetIP8InterestE_ZN17RPC_TCP_Connector9try_againEv__gxx_personality_v0_ZNK10FileSystem7matchesERK6mnttab_ZN8Interest7dev_inoEmmsetgroups_ZNK5BTreeIP14ClientInterestbE4nextERKS1__ZTS8MxClient_ZN13NetConnection7mprintfEPKcz_ZN5Event9ExecutingE_ZN10ServerHostD2Ev_ZN10ServerHost12send_suspendEiendgrent_ZN10TCP_Client23suggest_insecure_compatEPKc_ZN17RPC_TCP_ConnectorD1Ev_ZN16ClientConnectionD1Evresetmnttab_ZN6Client9LOCALHOSTEv_ZpLR7timevalRKS_strlen__deregister_frame_info_ZN5BTreeIiP17NegotiatingClientE4NodeC1EPS3_j_ZN4IMonC2EPFvmmiE_ZN13NetConnectionD2Ev_ZN13ServerHostRefD1Ev_ZN7Scanner4doneEv_ZN9Scheduler4readEstrcmp_ZN7ScannerD0Ev_lib_version_ZN9Scheduler13nfdinfo_allocE_ZN9Scheduler12calc_timeoutEv_ZN5BTreeIP14ClientInterestbE4NodeD1Ev_ZN8DirEntryD1Ev_ZN5BTreeIiP14ClientInterestE6insertERKiRKS1__ZNK11StringTableIP10ServerHostE8positionEPKc_ZN4Cred11disable_macEv_ZN10ServerHost10deactivateEv_ZN8MxClient6cancelEi_ZN10SmallTableImP10FileSystemED0Ev_ZTV8DirEntry_ZN13NetConnection5flushEv_ZN14ClientInterestD0Ev_ZNK13NFSFileSystem22get_attr_cache_timeoutEv_ZN13NFSFileSystemD0Ev_ZN9Scheduler10first_taskEsignalstrtol_ZTI8MxClient_ZN4CredC2EljPKligetmntent_ZN8InterestC2EPKcP10FileSystem7in_addrNS_18ExportVerificationE_ZN3Log12program_nameE_ZTI14ClientInterest_ZN4IMon12imon_expressEPKcP4stat_ZN16DirectoryScannernwEj_ZN10TCP_Client15enqueue_scannerEP7Scanner_ZTS15LocalFileSystem_ZTV15LocalFileSystem_ZN15LocalFileSystemD0Ev_ZN8ActivityC2ERKS__Znajfstat_ZN11StringTableIP10ServerHostED0Ev_ZN5BTreeIP8InterestbE16remove_rightmostEPNS2_4NodeE_ZTI11LocalClient_ZN13NFSFileSystem9hl_cancelEi_ZTV5BTreeIiP14ClientInterestE_ZTS9Directory_ZTV10SmallTableImP10FileSystemEatoi_ZN5BTreeIiP17NegotiatingClientE6insertERKiRKS1__ZN5BTreeIiP14ClientInterestE6removeEPNS2_4NodeERKi_ZN3Log4infoEPKcz_ZN4CredC1ERKS__ZN4IMonD1Ev_ZTV3SetIP14ClientInterestE_ZN5Event8EndExistE_ZN14ClientInterestC1EPKcP6ClientiRK4CredNS_4TypeE_ZN9DirectoryD2Ev_ZN3SetIP10ServerHostED0Ev_ZN14ClientInterestC2EPKcP6ClientiRK4CredNS_4TypeE_ZTV4File_ZNK5BTreeIP8InterestbE4Node4findERKS1__ZN8Pollster12stop_pollingEv_ZTS4Filesprintf_ZNK9Directory4typeEv_ZN5Event7DeletedE_ZN8DirEntryD2Ev_ZTS10SmallTableImP10FileSystemE_ZN14ClientInterest6cancelEv_ZN11LocalClientD2Ev_ZTV8MxClient_ZN14InternalClient15enqueue_scannerEP7Scanneratexit_ZN14ClientInterest14notify_deletedEP8Intereststrcpy_ZN8ActivityC2Ev_ZN4CredC2Ei_ZTI5BTreeIP14ClientInterestbEopenlog_ZN5BTreeIP10ServerHostbE6removeERKS1__ZN14ClientInterest6unscanEP8Interest_ZN8Pollster12polled_hostsE_ZTV7Scanner_ZN9Scheduler11trim_fdinfoEv_ZN10FileSystem18relocate_interestsEv_ZN4CredC1EljPKli_ZNK5BTreeIiP17NegotiatingClientE4findERKi_ZN10FileSystemC1ERK6mnttab_ZN3Log11syslog_openE_ZN16DirectoryScannerC1ER9DirectoryRK5EventbPFvPvES5__ZN10ServerHost12timeout_taskEPvcloseloglibsocket.so.1SUNW_1.1SUNWprivate_1.1libnsl.so.1SUNW_0.7libgcc_s.so.1GCC_3.0libc.so.1SUNW_1.20librpcsvc.so.1libstdc++.so.6libm.so.2/usr/pkg/gcc34/lib:/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6:/usr/pkg/gcc34/lib/gcc/sparc-sun-solaris2.10/3.4.6/:/usr/pkg/libN0 ='N" NqN+N;0 =(NG NqN+NP y&PN^NfyNp NqN+qqXgq(q"q 3o  , 8 Dq P \ h tp    T   ;  *  H !M!x!i!(b!4Z!@'!L,!X!d$!p6!|!!5!!9!m!!!!F!"#" ":"$"0 "<"H"T"`b"lS"x""""I"^""`"O"#""}## # #,#8#D#P#\#h#t##1## ##}#####G$$$$$($4$@N$L $XA$d$p$|Y$$N$$$$J$2$$$%_ @D# @#@@3d, @ "@0;@{@|㿐#/d`  @  `@@`" `@$@```$``@X`  +㿐㿐/ͮଂ` ` @B ```  `@7㿐bԂ`` #b bg!`` abԂ`` #b bg!`` a㿈bԂ! `#bԢ" ` @"@g'a`@#& 㿈ϐ㿈Ɛא㿈bԂ! `#bԢ" ` @"@g'a`@" 㿐 "!`aa@(c@` "㿐łc&`  @@ @& & 㿐łc&`  @@ @& & 㿐 c `&@㿐 c `&@z㿐 c &@q@l@m  a㿐   ` @O@P @Q@P`& 㿐@łc&$T&&$P㿐@łc&$T&&$P㿐$T$P@ 㿐@ Sc* 3a;` @3a;` @``Hb㿐Ƃ`& @  @ 0@@@ 0@y㿐Ƃ`& @  @ 0@h@@ 0@a㿐Ƃ`& @  @ @Q@́@M@̐@y 0㿐 @ n @&  ` c` `@& `0@@ B& `@ 㿐 @   @΁  㿐`@   .  `@ 㿐`@ `. ` @  `@ 㿐`@ "b    @  `  @㿈'@ h$ @0 Ƣ `&& & @$  . `&  ,``c  @ "$ @@c 0c@ `  ,`@ ,@0㿈'@ $ @ Ƣ `&& & @Ԑ  . `&  ,``cj  @ b"$ @C@c[ 0c@`  ,`@ ,@V0㿐` ` + @ &` `@ @` @  `@ 0 㿐`"`` `@㿐 ` `@ " @ @ 㿐`" ` @㿐`" `$@㿐 `. c` `@  "b쀣`"@`#@b쀣`"@`#@"@`"@`"@@`"@`"@㿐#b"܀@ !%@  2  #"@*  b +   $ 䀢  b@ bb(``#@ $b㿐1 "8(b@ @"8㿐 & .&& @&   &   "  + @ &  ** "@ & ` @   5 .@  @h  㿐 & .&& @y&   &   "  + @j &  ** "@b & ` @m   5 .@  @`h      `*@@ **  㿐 @   @  㿐b"+`@ 2 *@ E&@@@`&#@ `@k`   `@k`  㿐@ @ۑ* @ 3 @ @@  `   `@ @` ,`-``@ %@ר @b쀠` ?` "p@ʒu 㿐@ @* @ 3 @ @@  `   `@ @` ,`-``@ %@8 @Vb쀠` ?` "p@v! 㿐!"耦u`0 "耠`"  `` T @M  [ b`<"耠`` @ G@?  F#h@i   `"!E$"``"@Z#@* "#@@ܐ @ *#@F ($"@B#$$" `   @   @4 0""@/"@+# #P@ 0ѐ H#@ 0΁㿐b耦    ` @@ qb 㿐`#!#"b(`@  @"  *А@"`%b䀢  b#b ``p@ !"`# b `p@ٔ "@k㿐 2 @`&@` &@`"@`  @`#@la㿐#b`@! "` `p!-b(0 @ "ؒ`  㿈3b쀠`5b؀`cNa (``0J(`` (``?@ *@+@ A ?b  @A04 `p@K (``?@ @  Ȓ@" ?b]0t@Ð!@@ !X`  @`#@la㿐b耦    ` @@ Ob 㿐?8@`?  `?"  @ ?`?@"0 yG"쀠`?@"1"?cmb ?cmb 㿈'@ I ƚ `x. && & 㿈'@ 7 ƚ `x. && & 㿐 `@ 㿐`!a K@ `@㿐Ƃ`x& @ @ @ @ 㿐Ƃ`x&ג 0@ |@@ x㿐Ƃ`x&Œ 0@ j@@ f㿐!a 4@> `@ 㿐`!a ;@+ `@ 㿐 `. @ . 㿐 `  `@ " `  Z`@   @ ɐ `@c 㿐@!Вa e@ `@㿐@!Вa l@ ` @㿐 Mp `Ș?&& `& &.  . @t (o  @*`@ " `@0 .@9@s0`@㿐 M5 `Ș?&& `& &.  . @9 (o  @`@ " `@0 @@80`@㿐 . `c@ 㿐 !b` [@? M㿐 `X 2 0  ` `@ 2 0!b@ b0㿐 `N@`/ @  2   !b@ lN@㿐`@ "L  `& F `2C = @  2# , `@ `. @ (o #@G@`@ " @`@<@ @ " `c@  @@F`@㿐 . `@  * 㿐!""`  @U@s"$"`?㿐%@" @C`"(@`` "8$ @*`@` "`  `@`@` 㿐 `Ƞ`&`&o "Ȑ`@b@Đ@̑!b@- H `" o#@ @0㿐 `Ƞ`&`#o "`@b@0!b@ H `" o#@Β x@Tr㿐 `Ƞ`&`#o "Q`@b@0!b@ H `" o#@ <@G6㿐ƚ`a(&& & & . & & & & & $@b`  & 0@7@'@(& 㿐ƚ`a(&& & & . & & & & & $@C`  & 0@@@ & 㿐 @@   2  㿐 ``@ `  2F   ΀" 5  "` @ ``@`@  2 `װ @  @k  @` @   ``@`&   86@  bP@ " bX@ "  @@ "  $w " @&#@ `c&   ̀5  !"  $5 `#` @ ``@`@ `  $   " 5 & $`@  ``@`@ $  2  `28  @`23 20 "-  @ ( `$@ ``@& @1 & ? 9 $" @& ${#@@@㿐! ("`b @9" $"@"`㿐 #b "$b?+`@ (`@@@b@?@ $b"b@  #㿐 a( &@@ϑ@@㿐 a(  &@0@@@㿐 a(  &@0@{@k@w㿐?``$r(`c@*`:`"@ g `cccc c ccccˀPPPPˌ˘PPPPPPPPˤ˰PPPPPP˼PPPPPPPPPPPt㿐 ` s(`a(@!bؔ @>##bccc c  c(c0c8cH̘ ̸㿐#`c`  u `cPH@ #c ? w0@ ' `cPH@ #c ? w@  (c (c (c (c (c (c (c (c (c㿐 WƂa`&c$ 0v@㿐 WƂa`&c  0]@h W㿐`@w     @q@  㿐 `a`&    Ƃb$ @&~@9#c@  +  " @*  @$Ƃb$ @&e@ Ƃb@&^$ @㿐 `a` &    "0#c@ g +  " @  " @ Ƃb@&0$ @b$ @&*㿐 `a` &    "0#c@ 3 +  " @  " @ Ƃb@%$ @b$ @%㿐Ƃa&@`@ @`& @@@ @@& @%Ő Ƃb& 㿐Ƃa&@`@ @`& @~@@ @@& @% Ƃb& 㿈 @%o '@&h쀢  '@&`쀢 '㿈 /H @''H`(@H㿐'H`,@ @)VH㿐c@c8? ` ) ` *@ #  @K `N `?`/`? "$ `@   ` @` 8` !8aH@ u!㿐  ,   @   @ ``, @`@ `P@ Ƃb3"" " " c@''''''''܀`@*b%a@( a)@ %#8@ c@b '\ wa@ b@ג : [ b`"@ ,@ y'@*c@`b@ %#82ɐ@֐#8`c@  c@ )䀠@y,@ `s"@ @(@(@n"(@ }(`@0`@   * @ `!@ @V @ H'@C0Ґ!@ @)`@ * ܚ@` @)a@r "P@ p0u  '"aH@ v  @)~sbH )Ԁ@#,܂@ `"@ Kx`@`@f"aH@ I x"@ 1"@(b@(`㻐N`/"ؒaH@ 2!Ec@`@ΐ va( @ז  c<@@r@p@@d㿐c"耦 a(@ @(#D?8@ `? `?#D Ƃbx##D" " "  `?`?cvbX ?cvbX 㿐!#X`#c( 6@ $#X㿐!#X`#c( 6@ $#X㿐! "`@@" #8@ #P?$"@ ? cX㿐! "`@@{" #8@ u#P?$"@? cX㿐1 "2"@"#h` &"@ Zwa"@ "86 㿐 @"?㿐 @"?㿐#1@3#c(@ D  * 㿐 ` ,@0 @@"!* c`` @"` @"````@ 1 #\@` `"`㿐Ƃb&@Ő  @@@㿐Ƃb&@ `@㿐Ƃb&@ `@o㿐b&& @[@\ @]  +  @ `?@ &  & .   & @#\R 4  (&  *& `"     @!* c`&  ("`@`?0` I >׀`@q 6 @5# @c  㿐b&& @@ @  +  @ `?@ &  & .   & @@#\ 4  (&  *& `"     @"!* c`&  ("`@`?0` ߐ Ԑ׀`@ 6 @ː# @  㿐@ @ #\ @& & &   !     @֐@* c`$ "h @Β p| @  , @  `@  7   @ h @ x A"V  x@  "J 2G `c@ ` @9  X@2ɰ  2ư  4@2  8@2  H@2  (x@2 `c@ `2 `@ ` @Q |㿐 0`0`` `@ `@  c 0``c`@ 3  `++`@ & 㿐 `$ `@  ,  @ +@& B `  ,`c `@㿐@ @ @2@!* c``8/c+'%`/ @` @`8 ! @`@ `0 `8@̔ ̐ @n$ ր` @㿐?8@`? `?y@ #\ b$`?1@#\?cycT ?cycT 㿈#@j`HiƂc@&& `*& "! X@fN@`/ `h@o '@ " $`i@ P`h@[ %0 `h@T $Ӏ@0㿈#@"`H!Ƃc@&& `*& "!d X@N@`/ `h@' '@ʐ "> $`!@ P`h@ %0 `h@  $Ӏ@0㿐 c@  &`@0@㿐 c@  &`@0@z㿐 c@ &`@Ґ@bΐ@a  `hb@ 9 `hb@ ? `hb@ E㿐 @ 㿐 `&  `" @   @~ @  `@u1@!@@o   @ 0㿐 `&  `" @[   @U @  `@L1@Y!@Z@F   @ 0㿐 `@}@4 {ah`$ @m1 @)!` 'Đ@3Ķ Z`@B``0†cȴ'@؀`)a!@@$'Ԓ@ĖO08#@Y,Dܴ!ha@ ΢9@ؖaȐ!@@Ԓؐ#@;@$'Ԕ@0@F!0@i00݁ "" 2  `  @Đ # hb O% @ @b@ n  !B"@  ?@| cܔS8`% |<@ 0 n@ ܐ@ !   'D?X D'\'X?H?P'`H@ "@@ @W0" "@"H!@u@E"PC@p  2 @"xa@H! @s@\& @,"㿀?   `&& & . & . ސk0=@/    %`??  `7 '@47•  @ & @  @& 0"@k@q ""@#0㿀?   `&& & . & . 0=@ߒ    %`??  `7 '@7•  @ & @  @ _0"@@! ""@M#0`@#0a!@ n|'|@}`X @0@#Ph?  '? ??''' @ #X@@O#``#a! b@0 @@@80@H "" 2  `@` 0`@@^ H`N n@$@ j  @є k@O0p@@Hob  @ "'t<@ @t@  n @ ! "!0@g@t0B!@_!H0<@? $@ xtp'pt@$#dx @^x`<~'x`@ pt@ڒ   }ϐ!͐!x@X@Yc @t!@t ,95'Dd@"D =`N n@ n'tD@t &(~ @ r" @yx7@)$@@D@hDd@%cD@0@ @!0 @0"a@d!㿐"@I@%B#d@@@?@&  @  @D  ` @@ف@@ @6  ` @@@Ɂ㿐?8@`? `?@  #d`?1@#d@%x@!?c~a ?c~a 㿈#@@cȢ`&#c @ # 4dd@# l,d@x@㿈#@@cȢ`&#c @ʔ # 4dd@ l,d@Q@Z㿐ƂcȠ@& ` @$0@:@C@6㿐ƂcȠ@& ` @$0@!@*@㿐ƂcȠ@& `Ր @v$@ @@@㿐qǂ`&㿐hǂ`& 㿐#0cH@V /   ` 㿐#`@-`@ہa ` 㿐! #t  (cu@a,#t(cu  b㿐N` Q(`8``%`K@d` @`E@@A @@@@:@ +``8``%"N ,  +``8` ,@,  !bc@  @`@e`m@\ @TޠĤcx¤c㿐cu`1#t`       2 @ b @  .#t㿐'L'P'T'X֔L㿐 b`'H'L'P'T'X@@ @@ :, *  % m* * *  H @㿐 b H'H'L'P'T'X`㿐 b H'H'L'P'T'X`㿐 b H'H'L'P'T'X`v㿐 ! $"# $"  #baD#  #baD#㿐 b H'H'L'P'T'X`I㿈! @"@ @"c@ː#  @6 "@3!퀢 $@ 'c'' @'耢  @_@ 8 X4 8@!퀢 , H@ 6$ P㿈@' 懔ǂ`p&@#2 㿈@' xǂ`p&@## 㿐N `/'HH` c@H  @$H   棰  H㿐'HH@$ `   H㿐 @`(@㿐ސ @`$@㿈'H @ِ ĠH' H@&60@@㿈'H @ 0H' H@&0@@㿐'H ` H@)~@`4@@`@㿈  `p`&@"|'r "@`@@)Z `@"ΐ0@"ːϐ@b0ʐ@Z㿈  `p`&@"N'D "@`@@), `@"0@"塐@40圐㿈  `p`&@""' "@`@@) `@"t0@"qu@0ppf#cǚ`a(@&& $cؐ :@ & "0bPH F$@z({@Wc؂`"`'$cؐ@@ bh@ " @$ @ @$@$$ <` $(bp@s      bx@h b@e܀ " b@[  b@W؀ " @Mb b@JԀ "   `('$$(#(0F@\@n#(bP̔ ?z@N0$(i"؀@ $(Y#0 <؀`;4$( <$(`4$(H#D#hp#cǚ`a(@&& $cؐ :@C & "0bPs F$@({@c؂`"`'$cؐ@ǒ@ bh@  " @ߐ$ @ߐ @$@$$ <` $(bp@      bx@ b@܀ " b@  b@؀ " @xb b@uԀ "   `('$$(#(0F@@#(bP ?z@y0$("؀@ $(#0 <؀`;4$( <$(`4$(s#o#h㿐ǂa(& @B "  0@2 a@D @) 00@50S㿐ǂa(& @ "  0@ >@! @ 00@00㿐ǂa(& @ "  h0@  @  @  @0@0㿐  `` 1J `4`? (㻐`K@ bP`/ 5` `@`  `` 0# @ 㿐  `  0@ D  @ ?㿐  `  0@  @ 㿐  `  0@  @ 㻐;@Ȓ  @9 $ 2 @d $  @_N@`1 /.@..` 0bP  @O%# /@ bP .@  / @; $  @6&@@N@.㿐 `BK ` `2  `@m ? & `0. `@ a0 `i d@T ? & `. ` @ 0@ a4 `N ` 㿐ǂa& @ځ㿐ǂa& 㿐ǂa& 㿈 'ǖ & $? a b~&. &$@&$D&$H&$L. & & @ a4 @; 0| w 㿈 'ǖ & $? a b~&. &$@&$D&$H&$L. & & @W a4 @ 0S N 㿈  `/ `+ $D@ (  / / / /  d(:`@ `@ 6 ``` `$Dۀ $D  @`$@@ &$D  ` $D ` 0 !  .$( 㿐 `/$D$@@ " ` @ܖ  2dDՓ @&dD@`  0` T $D$@@`!8` 0㿐` @!P` u9 㿐 @ Ba0 @` !h`!* `  `2 `` 2 ". ` 4@: a4 `!8 . . $H````(@$L0+@' a0 `ߔ!% ``a4 @ !h`ʔ!4 !x`Ô!C$H㿐 `" 3!5 d0@'  d0@a!  d4 @ & @8 `2 `? d& @1` " @+` !5  p  㿐 $8'L'P'T`+'X@"$4L$)@   `?)`? ! `" &  d4& '@'d00 & !`N  `ax 㿐` @!`!N:{㿐# cx`"b  Sc`!c`"0b   T0!#"`#c4@   ,cx㿐1#x`"b  ]c`"b  ^c`"b   _#4@G .#x1ԑ"c`"b  ^c`"b  _#4@' .#x1"p @K!@$)#'܀  @ `@ #@'Xܚ` ' b`  @? b`; 0%@$;| '@ؐ|@'؀  'ꀔ@@#@'#c' L?`chcp chcp#\#xU㿈 /'D#D@)cx`㿐!# 'DD@,@   `?c`3㿈 b#|D` 'D @./cx`㿐!#| 'DD@/@   `?c`㿐?8@`? !`?#@  #`?@ c|@#ǂa$#@#c|ǂbx$c|`?@c|ǂbx@$#c|`cǂa@##c?cb( ?cb( ?" "  " " " " $" (2 "" " ?" "  " " " " $" (2 "" " 㿐 `& @@ ?& ` @z&cc㿈耠` ` ˂ & @ @ c`'@ & o @&㿈  В`^ ^`+b#'@͐젒 &3  'b~@耢 - @X  "& @~`' @$0%@%0!` _* b#'@젒 ӂ  0 m0b@J& P'D@H`D@!` D`@  T@` `F!` 0f oa7b D!@`!7 T? <'   ??#\'` `?'''@  @ L П@ ( `@@~D? &``"$0(?&`&@`(`$@D0 @~D` @~`?&`@U!0  &@6` '0J!P0́㿐`!x`  E  o$ 4 $s  o$ 4 $㿐`!` _ o 4 $ǂb"ǂb"ǂb"` 㿐c     @ @& @}Ր " " `" "$" " 㿐c c!  @2 @2@}#@#$#x!#` `2`' b?@ `2+ `2'!Вb0 c!b0ܔ `ހ`"b0Ք d!b0Δ b!b0ǔ a#c  c#`" c $#@}@''ܒ@?"㬘# 㿐#c!"@b0 q#@"Xb0 rc$##c$c# "㤁pc`r@} 㸀`!#@^#@  `?#`#''@?#c؀@,c@6%''Вc@S?$###` %9`` @`.``耣@ @0# 㸟@c##@)c#耣@#@6%''ؒc@ @  pc`= c``'`' @|''Ԓ@?ܰ#& `####cc`'耠`'`  ` ܠ& `@ Ԡ㠁㿐 >' Ȁ@C)+c@ )Ȃ@ @ 0`` @8@|?, Ƞ)#ă*@$@ ` `  ` #Ā  c%cȔ&#ĕ** @@||  $"xb0 '@|. #ā@㿐#ě(`@ ` @` ``#Ȃ##Ȁ`Ȁ`#Ā  c#c@{㿐 b0"x 6 2 `b0"/ t#`"6 ,`@ `0@`"b0!,`@  +@@ 0@``#  &,` 0с㿐 b0"'! cȀ "5@"~#` "Вb0!6 (` @ +@ (@ 0@ ``" &`06  a b$c a b$b㿐 -' Ȁ(`?` `?@ -+ )@@`@ Ȁ4 (` 3@ `, Ģb"0!:@㾐p c$ @{ b @{zwcȔ @|? `  0 @{`֐#@zܐ 㿐 c"  c  @{F  b & #b  @{= 㿐 B ǂc&&$X`&$P &$T#@c(- '􀦠#Hc(% (# c( )0@z㿐  ǂc&&$X`&$P &$T#@c( '􀦠#Hc( (# c( )0@z㻀`9H`"'Ɛ#P0V  '@{] , < `c3< `'K``  c:  '+{J```* H{` %Z#`0)$T@$X0% ({ $X$P@0`'a  `'J(`` 0` 1# 㿀Jc` ``#\#d #```#\c㿐 4 `18!㿈 D耠`cА# e 4` @yc@ 'a0  0/ 4㿐 4`#c v c   4`@ c  4`@`@& 4㿐 4’`h`y1  x㿐 ڐ  D!`!  4cА#`  ` $ 4P 4`@`@$ 4A 4`@`@$ 4㿀 @y>@`@yT$" " " K" @y3#)’ @yה#,$ H`"'$ @@6#$  L@4( # & L P`!@1`+ ܘ  ?'& P ܔ80$ Ȓcw Ւ L`& H& L@y@y``" @@&  $ # * <֘ 㿐 4’``1 6 㿐 < `#c9 A `4 !2! ` `H@x2@0@`@x`@`@x`H0s`㿐 < `#c A Ւ`4 !2!˒` `H@x{2@ސ0@ېD`@xr`@`@xa`H02`㿐`@&@ }cZ 8   <& 8@>& 4& H& L& P@@xl . @"@x2& @@x֔  @@x2@x!@(@㿐`@&@ }cZ 8 ɐ  <& 8@ & 4& H& L& P@@x8 . @"@w& @@x  @gА@w@w@(@x H e P@wݒ 耣@L <   H`& H& L@w M@;  'ܐ@Ғ܀ " L `  `,@ " !8` @`@ 2  !h L `    P    $ ?'`ܔ0 $!c!+㿐'Hp!H̖3cc/<@mH 5cc2,`,@ '`@  ` @    @x>?H0 cҐ<c0ݴ 㿈 <@1 '@+`@ @(%쀢 'x`D`m`4`c@w$\\O&`4!e`f[P?'@w! 2V”b `4"0F``<@ N'ܴ1@'܀ F'ܒ@  ` @`0@`4"P``@ ې$ܐ@'܀ '0@v@v"c 0!c `4"c 㿈 < `'H 8`& 8'@ "c!d 4`H 8b "P  4@ݔH㿐 <H'H@b #c!w 4`cВH@? `0 4`c,H#H H@) `L㿐 2 @`&@` &@`$?@v@㿐`$ %c؂`;#c!#Ԁ 6 `2+À 2#-$#`@,`` @ `@ @2`@'`@,` "@uې`@ $#Ð 0`H6 C#ԁ㿐`$ %c؂`;#c!#Ԁ 6 `2+À 2#-$#`@,`` @ `@ @2`@&`@,` "@u`@ $#Ð 0`H C#ԁ`3cԀ`@   * @ ``L'0 @ut ǂcH"" " " &c@vY - `Ð p`H s@u[ TcԔ@''c@'`"c@'Ķ`2@u1@u2''Ԃ '''''''ɶЁh'̘`@'̐ @v  ̀@ '̒@u ̀@'@u 'Às `'K`   '+{K `+{K{` "+{̩,`= `Ng'̦ϒ `=@̀@! @u  @tҐ \@t. д@"̒@u .`̀@ & `@'̠ؔ׫ 88@tI``(`a @Ð  욐  = Ð 쐖 * @@ 8 @tl0Ð!쉔 ÔapØaxÐ!졖O耠` Òa@t_ YkV ͐Ð!쇔=0Ð!|@0ӷÐ"o]0ӨÐ"(`00әÐ"PSa0Ð"p KӇÐ" ӄPOONNNNNNNP\O0NNNNONOOP 㿐  X"Ѐ`@ 㿐 , 㿐 (ð ,` #c!0$ ($ (㿐i ,&~1ð#(ݙ㿐$`   b؀`?b` `@  ÖcP 4 .$㿐ǂc&@$łc& , ,ǂa& @  $@sKǂa$ @  @sCłc$ ,n ,00㿐ǂc&$łc& ,^ ,ǂa& @ ֐ 0ǂa$ @x ΐ @słc$ ,F ,00㿐ǂc&$łc& ,1 ,ǂa& @S ש 0ǂa$ @K ס Đ@rłc$ , ,00췐p@'렒Ǣ c&ɐ @+ǂa ,& & (tҀ$ю(.$Ē`0@rMD @0a@$ Ux@r0łc$ ,̐azÐ Xc /նЁp@'LǢ c&u @+ǂa ,& & (t,$:(.$Ē`0@r꫐ @0a@$ $@rN0łc$ ,xa&Ð Xcꠔ /նЁ㿐 H'H@Ґ  ,` F㿈 (  `@ #& (@`'@`@ `@ `@  , 㿈  'H` ,  /H@㿐!cܔa@r Ēb(@r~ ĒbH@rz ĒbX@rv Ēbh@rr Ēb@rn Ēb@rj Ēb@rf Ēc@rb ĒcH@r^ Ĕc@rX Ēc@rT Đ @rPc@q Ăc"" "    " " * * " * * * * * Ăc"" "    " " * * " * * * * * 㿐Ēc@rvĀ c @rmĀ c@q  " 㺠 @r]P<d@ 0@ @`?J`}-cZ  ܘ   +``""+`8``/ K` `/2 +`"{ܪ ` ' !.@H@`-2H``"H``2`dӀ`c`f`v2M/.@r 0Ēc@q=ؤ  $@@q 4O!! (``` N(``(` (`8` `?#`? ߐ!ݒ$@@pJ?` ,Đ#$@@qɔ Т@q .@K@`-K``}K``y ```3|(`a@*?@pŒ = ".N!! (`` N(``2@pzJ?!(`! @ ? *?J(` @ @pbJ?! (``?* *?J(` @ Ő 觘Œ`@pi k ŀ` @qOM% y .X.@'R@ ```3Io.造`뀥`뀠`쀠`y퀠`q܀ ": c  b (b造`hܒax@  @q @o 7 .㜀`0`@o PŒa@o TŒa@o aŒa@o Œa@o Œa@oܐ Œb@o֐ <- 8 "-  `"- - "H纔>禐 s/-  8眔 @p  H@`2% Ő"  @p~  H@ @ `?2m% 筴Z/u, @@pf H@`f "_'$T.@@ok .  '(@ '@pH @S@@p? @@ /', @@p( H@`'逦 / //+#ܴ 'U"@n@nڃ, .@"ƴ  , ;"@a- ]- !@@n #H0 d````````dx```````d,``````````````d ` `` `````d```c```c4`` 㿐` @@жb? ?/a`@##`@  @ " `  Дb@ ` "" 㿐扐#`???㿐/nt`@?㿐㿠㿠̦㿐łcؐ^&㿐łcؐU&@n 㿐Ƃa`&㿐Ƃa`&@n㿐 ` @`  ``2  `#c^!< 㿐 ` @`  ``2  `#cD!< Ƃbh"" " 㿐  @ `@mŐ(@㿐 bh &@m㿐Ƃb&㿐Ƃb&@m㿐 bh &@m㿐 bh &@m@m@m㿐   @ @ 3`. @`*   @, @@` #c廔 ̰㿀 %@Β@@ $@, `@ "- #@&& & &  && . &  c兔!d@@@" && &. & ՗, &  㿀 `% @`#c!K#@ `  ` cR!W L"    " "" *!㿐.`@`@a`@@`. @ ``#.@ ` ### + # 㿐 < *`@@ `*#`@#`.`  @+a# # `&@ :?@ ``@   0c    cߔ 㿐@ @ #. @ ` @`&&! . ` (`@ +@ `'`"p`+@˒@ * #@`&& & t& `@  && . h&  && . `& b 2*& 9 (@l!( P@`?#@ $'''&& . & 1'& . @k!(o $ && . & @k!(` ?@`8΂ Xc+!Ƃ Xc$!Ё 㿀#@ c`  `` !( c! @k ```$`$`` ``$`㿐.` , @`` `+!$ *`@""@ ! (a`  xcĔ! pc㼔!`&+`(`@`@ `&&p`@@ H. @@   ` `? `1 `m N`2#@8@  !''/'ܐ L&@$,!i  cY!. ؒcR!̀ cK! #@O"@@j@`` < `#@    a''/'$ ,a$#@ϐϐ c!c@ c!R@㿀@, @`?`@ #@&& & $& #@@` & . & && &.  & && . & ``O ǒ@ * ` ?2`@#@S``@`` ' `#@܀`Ԃ ''/'̐VЀ`2@0 cb"Yԁ㿐  " 4 "  cL!^ `[ @`W!c>!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2& !c ! А@i՚!c! ! c!  ! c! 㿐 &  & @iz& 㿐 b&   ,  ` @ic  " & 0 "& @iU & & & 㿐 b&   ,  ` @i<   & & & @i3 "& @i* & & & @i(㿐`@   @.` `! * " `  " 3& /& !`axb .` `" @h @h    *&@ @  ` &  @h& 㿐A  5  , `@h  &`& & @h*  `&  ` ,@h@h @h` $`  @$ 0  "`@h`㿐`@ *  @ F `  : @hl@hm @hn +  , @ $@#`/& 2  & @hZ*     *@$@   ``  & !axଔ    @h; 㿐 ` ` . @hJ  @. ?㿐 bx `&@h㿐 bx &@h@h @h    @ @   0`(` @ *@ `"" ""  Ƃc"" "  ""  " " "!㿐   @ @ 3`. @`&   @, @@` #c ̰㿐   ͒* @ @"!` 2 㿐  @ `@g(@㿐`9 @  *@a`#`#`#a.` `#`#a#``$@ @``@  #cߵ   c#߮ 㿐@ @ @&.@ &&&`@  (`@ +@`'`#㿐.`@``@` a.```a`# ` a?# #@#`#`#` p`+@@ * #@`&& & s& `@  && & g&  && & _& H 2)& 8 '@fʐ!y 6@`>#@ ''&& & & '1'& & @f!T $ && & & @f!E ?@`8ς cߔ!ǂ cؔ!Ё 㿀#@ d`  `` ! (c޺! @f[ f```$`$`` ``$`㿐*`8+@`` a `@!(`@"""`@ !c|!!ct!`&+`(`@`@ `&&p`@@ H. `@@   ` `? `1 `l N`2#@@ !`''''ܐ 7&@$`$!h "c!."Hc !̀"(c! #@tS`"@@e@`` ; `#@ [ '! '''@$!$$ #@@ŐА" cݹ!d@"cݲ!S@㿀@, @`?`@ #@&& & $& #@@` & & & && &&  & && & & ``O !@ * ` ?2`@#@``@`` ' `#@܀`Ԃ ''''̐BЀ`2@0"hc"Yԁ㿐  " 4 "  (c!^ `[ @`W"xc!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2& "xcŔ! Ɛ@dX՚"xcܸ! "cܱ!  "cܩ! 㿐 c &@d2㿐 c &@d%@d!@d㿐ǂ`6&㿐ǂ`-&@d ǂ`"" " ǂ`"" " 㿐 ` @`  ``2 ` p`xQ!<  ``2 `㿐 ` @` ‚ ``2 ` H`P2!<  ``2 `㿐  @ `@c(@㿐  @ `@c(@㿐 ` &@c㿐 ` &@c㿐 ` &@cr@cn@cl㿐 ` &@ca@c]@c[㿐   @ @ 3`. @`&   @, @@`  `xۗ ̰㿐   @ @ 3`. @`&   @, @@` ! `Pj ̰㿐   * @ @"!` 2 㿐   * @ @"!` 2  ""  " " "! ""  " " "!㿐.`@``@` a.```a`# ` a?# #@#`#`#` 㿐.`@``@` a.```a`# ` a?# #@#`#`#` 㿐`9 @  *@a`#`#`#a.` `#`#a#``$@ @``@  !0`xګ   `x!ڤ 㿐`9 @  *@a`#`#`#a.` `#`#a#``$@ ‚@``@  "`Pl   ’`P"e 㿐@ @ @&.@ &&&`@  (`@ +@`'`#㿐@ @ @&.@ &&&`@  (`@ +@`'`#p`+@X@ * #@`&& & s& `@  && & g&  && & _&  2)& 8 '@a!x @`>#@ ''&& & & '1'& & @a[!S $ && & & @aL!D ?”@`8ς!X`xٕ!ǂ!X`xَ!Ё p`+@Ò@ * #@`W&& & s& `@  && & g&  && & _& s 2)& 8 '@`! a@`>‚#@ ''&& & & '1'& & @`Ɛ! $ && & & @`! ?-@`8ς"В`P!ǂ"В`P!Ё 㿀#@ `  `` !!p`x۔! @`| ```$`$`` ``$`㿀#@ `  `` !!`Pج! @`M s```$`$`` ``$`㿐*`8+@`` a `@!(`@"""`@ !`xn!!x`xf!`&+`(`@`@ `&&㿐*`8ƒ+@`` a `@!(`@"""`@ #`P-!#`P%!`&+`(`@`@ `&&p`@@ H. `@@   ` `? `1 `l N`2#@@ !`''''ܐ &@$`$!h !`x”!.!`x׻!̀!`x״! #@`"@{@_8@`` ; `#@ v '! '''@$!$$ #@[ޔJА!`xj!d@!`xc!S@p`@@ H§. `@@   ` `?€ `1€ `l N`2#@ @ !`''''ܐ <&@$`$!h #0`P !.#h`P!̀#H`P! #@\`"@Ő@^@`` ; `#@  '! '''@$!$$ #@(А#@`Pִ!d@#(`P֭!S@㿀@, @`?`@ #@&& & $& #@h@` & & & &c& &&  & && & & 㿀@, @`?`@ #@&& & $& #@$@` & & & && &&  & && & & ``O [@ * ` ?2`@#@``@`` ' `#@J܀`Ԃ ''''̐Ѐ`2@Ŕ0"`xҔ"Yԁ``O @ * ` ?2`@#@``@`` ' `#@܀`Ԃ ''''̐Ѐ`2@r0#`P"Yԁ㿐W  " 4 " !p`xi!^ `[ @`W"`x[!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2& "`x)! @\՚"`x! "(`x!  "(`x ! 㿐  " 4 " !`P!^ `[ @`W#`P!P @`2  `#` `*&  `1‚`& @`"6  2 `(‚ `& @`2& #`PԷ! @\J՚#`PԪ! #`Pԣ!  #`Pԛ! 㿐 ` @`  ``2  `"ؒbԁ!< 㿐 ` @`  ``2  `Ð"bg!< 㿐 ` @`  ``2  `"ؒbM!< ǂbX"" " ǂbX"" " ǂb"" " 㿐  @ `@[(@㿐  @ `@[(@㿐 bX &@[㿐 bX &@[㿐  @ `@[|(@㿐 bА &@[j㿐 bX &@[[㿐 bX &@[L㿐 bX &@[?o@[;@[9㿐 bX &@[.^@[*@[(㿐 bА &@[㿐 bА &@[@[ @["    " "" *!"    " "" *!㿐   @ @ 3`. @`*   @, @@` "b0 ̰㿐   @ @ 3`. @`*   @, @@` Ð `b ̰㿐.`@`@a`@@`. @ ``#.@ ` ### + # 㿐.`@`@a`@@`. @ ``#.@ ` ### + # 㿐 < *`@@ `*#`@#`.`  @+a# # `&@ :?@ ``@  #0b҆   #b 㿐 < *`@@ `*#`@#`.`  @+a# # `&@ :Ă?@ ``@  Ð bE   Ð xb> "    " "" *!㿐   @ @ 3`. @`*   @, @@` "b ̰㿐.`@`@a`@@`. @ ``#.@ ` ### + # 㿐 < *`@@ `*#`@#`.`  @+a# # `&@ :?@ ``@  #0bѫ   #bѤ 㿀 %@A@@ $@, `@ "- #@&& & &  && . & #Xbm!d@@@" && &. & ՗, &  㿀 `% @`"ؒb!K#@ `  `#`b:!W 4㿀 %@@@ $@, `@ "- #@&& & &  && . & #Xb!d@@@" && &. & ՗, &  㿀 `% @`"ؒb!K#@ `  `#`bʔ!W 㿐@ @ #. @ ` @`&&! . ` (`@ +@ `'`"㿐@ @ #. @ ` @`&&! . ` (`@ +@ `'`"p`+@@ * #@`&& & t& `@  && . h&  && . `&  2*& 9 (@Wא!(p p@`?#@ "'''&& . & 1'& . @W!(J $ && . & @W!(; ?;@`8΂#b!Ƃ#b!Ё p`+@@ * #@`V&& & t& `@  && . h&  && . `&  2*& 9 (@WA!(ڔ ڔ@`?Ă#@ '''&& . & 1'& . @W!( $ && . & @W !( ?@`8΂Ð!bU!ƂÐ!bN!Ё 㿀#@ `  `` !(#`b0! @VѰ ```$`$`` ``$`㿀#@ `  `` !(Ð!Xb! @V ```$`$`` ``$`㿐.` , @`` `+!$ *`@""@ ! (a` #ؒbο!#Вbη!`&+`(`@`@ `&&㿐.` ă, @`` `+!$ *`@""@ ! (a` Ð Ȓbz!Ð br!`&+`(`@`@ `&&p`@@ H. @@   ` `? `1 `m N`2#@,@  !''/'ܐ b&@$,!i  b!. 8b!̀ b! #@ "@@U@`` < `#@    a''/'$ ,a$#@Քϐ bͶ!c@#bͯ!R@p`@@ Hĩ. @@   ` `?Ā `1Ā `m N`2#@u@  !''/'ܐ &@$,!i Ð bX!.Ð!(bQ!̀Ð!bJ! #@DS"@@T@`` < `#@ +   a''/'`$ ,a$#@ѐϐÐ!b!c@Ð b!R@㿀@, @`?`@ #@&& & $& #@@` & . & &a& &.  & && . & 㿀@, @`?`@ #@&& & $& #@@` & . & && &.  & && . & ``O  @ * ` ?2`@#@L``@`` ' `#@J܀`Ԃ ''/'̐qЀ`2@Ô0 Xb"Yԁ``O @ * ` ?2`@#@``@`` ' `#@܀`Ԃ ''/'̐Ѐ`2@p0Ð!Hbʔ"Yԁ㿐W  " 4 " #`b˴!^ `[ @`W hb˦!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2&  hbt! ;@S՚ hbg!  b`!   bX! 㿐  " 4 " Ð!XbB!^ `[ @`WÐ!`b4!P @`2  `#` `*&  `1Ă`& @`"6  2 `(Ă `& @`2& Ð!`b! ɐ@R՚Ð!`b! Ð!xb!  Ð!xb! 㿐@ @ #. @ ` @`&&! . ` (`@ +@ `'`"p`+@@ * #@`&& & t& `@  && . h&  && . `&  2*& 9 (@R!( @`?#@ f'''&& . & 1'& . @Q!(o $ && . & @Q!(` ?]@`8΂#b2!Ƃ#b+!Ё 㿀#@ c`  `` !(#`b ! @Q ```$`$`` ``$`㿐.` , @`` `+!$ *`@""@ ! (a` #ؒb˔!#ВbÔ!`&+`(`@`@ `&&p`@@ H. @@   ` `? `1 `m N`2#@z@  !''/'ܐ &@$,!i  b`!. 8bY!̀ bR! #@IO"@Q@P@`` < `#@ 0   a''/'C$ ,a$#@ϐ b!c@#b!R@㿀@, @`?`@ #@&& & $& #@@` & . & && &.  & && . & ``O @ * ` ?2`@#@``@`` ' `#@܀`Ԃ ''/'̐Ѐ`2@0 Xbi"Yԁ㿐  " 4 " #`bS!^ `[ @`W hbE!P @`2  `#` `*&  `1`& @`"6  2 `( `& @`2&  hb!  @O՚ hb!  b!   b! 㿐ǂbx&㿐ǂbx &@O{㿐ǂa&㿐ǂa&㿐ǂa&@O`㿐ǂa&@OW㿐ǂc̃&㿐ǂcz&@OE㿀 %@@@ $@, `@ "- #@&& & &  && & & !`Px!d@@@" && && & ՗, &  㿀 `% @€` H`P!K#@ `  `!`PE!W ?㿐`@   @ó.` `! * " `  " 3& /& Ð `  .` `" @N @N    *&@ @  ` &  @N& 㿐 cH&   ,  ` @Ni  " & 0 "& @N[ & & & 㿐 cH&   ,  ` @NB   & & & @N9 "& @N0 & & & @N.㿐`@ *  @ F `  : @N @N  @N  +  , @ $@#`/& 2  & @M*     *@$@   ``  & Ð `` K    @Mڐ 㿐 ` ` . @M  @. ?exiting after %d second%s of inactivitysunknown%c%lu c %s %c%lu %s %sactive()ClientInterest.c++running in insecure compatibility mode%d %dWarning: uid %i is unknown to this system, so that user will be given the gid of the untrusted user: %iSkipping setting groups, because they're already correctSkipping setting egid, because it's already correctfailed to set gid %dSetting egid to %iSkipping setting euid, because it's already 0Setting euid to 0failed to set 0 uidfailed to set uid %dSetting euid to %iSetting groups to: (none)Setting groups to: %sfailed to set groups!dp->refcountCred.c++nimpluntrusted.is_valid() || insecure_compat!untrusted.is_valid()Setting untrusted-user to "%s" (uid: %d, gid: %d)Fatal misconfiguration: attempted to use unknown user name "%s" for untrusted-userFatal misconfiguration: attempted to use unknown uid "%i" for untrusted-user!ipDirEntry.c++!eventpathip == this!(dir_bits() & SCANNING)Directory.c++/-chdir to "/"+chdir to "%s"can't chdir("%s"): %m...size == sizeof (DirectoryScanner)DirectoryScanner.c++p != NULLunrecognized event opcode '%c' ('%o')UNKNOWN EVENT %dEndExistChangedDeletedExecutingExitedCreatedMovedAcknowledgeExists?cAXQFMGePwhich < sizeof codeletters - 1Event.c++code != '?'root->n../include/BTree.h!myinterests.size()FileSystem.c++l == n || k < key[l]i <= n0j == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]p->n > fanout / 2thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairs/etc/mnttabbestmatchFileSystemTable.c++index >= 0 && index < nStringTable.hn < nallocrmtab: MATCH "%s" on "%s" using type <%s>nfsmtab: new local "%s" on "%s"dev/mtab: relocating in parent "%s"couldn't open %s for readingmtab: new NFS "%s" on "%s" %s using <%s>parentmtab: dismount "%s" on "%s"mtab done.rootcouldn't find / in %spath[0] == '/'%s changed, rebuilding filesystem tableehandler == NULLIMon.c++can't close /dev/imonclosed /dev/imonopened /dev/imonimon event received by fam built without imon support... tell fam@oss.sgi.com to fix this!i_dont_have_IMONcan't lstat %sdevice || inumberevent == IMon::CHANGEInterest.c++myselfh%s watching %sInternalClient.c++filename[0] == '/'filenamefunction_is_never_calledclose rendezvous port(%d)fam service closed/tmp/.fam_socketlistening for clients on descriptor %dclient fd %d is local/untrusted.!listener->local_onlyunclient fd %d from %s is remote/%strustedListener.c++failed to accept new clientlistencould not enslave myself: %msendmsgsocket(PF_UNIX, SOCK_STREAM, 0)bindchmodfam (process %d) enslaved to master famnb == 0fam (process %d) is master fam.can't listen for rendezvouscan't create TCP/IP socket for rendezvouscan't bind to reserved portcan't register with portmapper.ugly == listener->_ugly_sockacceptrecvmsgmaster fam (process %d) has new slaverights[0] >= 0l == n || k < key[l]../include/BTree.hj == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]p->n > fanout / 20TMPDIR=/tmp.fam/tmptmpnam() too long for sun_path (%d >= %d)!client %s said uid %d; creating %slocalclient bindlocalclient chmodlocalclient socket(PF_UNIX, SOCK_STREAM, 0)localclient chownlocalclient listenlistening for requests for uid %d on descriptor %d (%s)thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairsncclient fd %d is local/trusted (socket %s, uid %d).cleaning up incomplete negotiation for client %dcred.is_valid()LocalClient.c++filesystem_is_NFSLocalFileSystem.c++will poll %sfamUnknown error%s[%d]: log level is LOG_ERRlog level is LOG_INFOlog level is LOG_DEBUG/usr/tmp/%s.%dAssertion failed at %s line %d: %sDumping core in %s/coresetreuidmkdirchdirsetrlimit(RLIMIT_CORE)root->n../include/BTree.hl == n || k < key[l]relative path "%s" rejected%s nonunique request number %d rejected%s invalid request number %dj == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]p->n > fanout / 20thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairshostnamelen <= MAXPATHLENNFSFileSystem.c++/noacactimeoactimeo=%iacregminacregmaxacregmin=%iacregmax=%iBoth noac and (actimeo, acregmin, or acregmax) were setattr_cache_timout set to %icolonBoth actimeo and (acregmin or acregmax) were setBoth acregmax and acregmin were set, but acregmin was greater than acregmax.acregmax was less than the default for acregminroot->n../include/BTree.hpServerHostRef.hpath[0] == '/'!strncmp(local_path, dir(), local_dir_len)Shutting down connectionoldh == write_handlerNetConnection.c++oldh == read_handlercan't set NBIO on fd %dihead <= itailitail < iendfd %d message length %d bytes exceeds max of %d.fd %d read errorfd == connection->fdoldh == NULL!iready || old_ireadyret == omsgList->lenfd %d write error: %mtried to write a message that was too big0connection->fd == fd!pollingPollster.c++polled_interests.size() || polled_hosts.size()polling every %d secondspolling!polled_interests.size()!polled_hosts.size()will stop pollingroot->n../include/BTree.hl == n || k < key[l]j == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]i <= n0spolled %d interest%s and %d host%s in %.3f secondsA.p->n > fanout / 2thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairsstate == PMAPPING || state == CONNECTINGRPC_TCP_Connector.c++sockfd == -1rresvportconnectFIONBIOfd == conn->sockfdunknown_connector_statePortmapper call failed: %sCouldn't create RPC TCP/IP client: %mstate == IDLEconn->state == PAUSING!recurring_procprocinterval.tv_sec >= 0interval.tv_usec >= 0 && interval.tv_usec < 1000000interval.tv_sec || interval.tv_usecScheduler.c++proc == recurring_procclosure == recurring_closurefd >= 0handler!old_handler || FD_ISSET(fd, &iotype->fds)fd >= 0 && fd < nfdsold_handleriotype == &FDInfo::read || iotype == &FDInfo::writeselectdhServerConnection.c++fd >= 0ehprotocol errorpath name doesn't end in newlinepath name too long (%d chars)%c%d %d %d %s %c%s%c%d %d %d %s ServerHost.c++!active()host->is_connected()disconnecting from server fam@%s after %d seconds of inactivityroot->n../include/BTree.hS%d 0 0 told server fam@%s: suspend request %dlost connection to server fam@%s!s || strlen(s) < sizeof mypathU%d 0 0 told server fam@%s: resume request %dl == n || k < key[l]Handing a defered scan on: %s (Request %i)Nothing changed, so rescheduling for %i seconds (%i retries left)dsserver fam@%s said request %d "%s" %si <= n0host->active()!host->is_connected()rc == 0N0 0 0 %s connected to server fam@%stold server fam@%s: request %d monitor file "%s"j == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]p->n > fanout / 2!requests.find(r)thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link!root || root->nnpairsrequests.find(r)C%d 0 0 told server fam@%s: cancel request %dindex >= 0 && index < nStringTable.h!hosts_by_name->size()ServerHostRef.c++n < nallochp->h_length == sizeof (struct in_addr)bad message (no gid)bad message (no request id)bad message (no uid)%s said unknown request '%c' ('\%3o')message contained %i groups, but group list was truncated to %i because of _SC_NGROUPS_MAXwantsdoesn't want%s said: %s is %s, and %s a unix domain sockettest%s said: resume request %d%s said: suspend request %d%s said: request %d monitor file "%s"%s said: request %d monitor dir "%s"%s said: cancel request %dbad message (%d additional groups expected, %d found)%s path name too long (%d chars)lost connection from %sroot->n../include/BTree.h!my_scannerTCP_Client.c++sent event to %s: request %d "%s" %sClient "%s", whose requests are being serviced as uid %d, was denied access on %s. If this client might be running as uid %d because it failed authentication, you might disable authentication. See the fam(1M) man page.client %dnew connection from %sfd >= 0l == n || k < key[l]j == 0 || key[j - 1] < key[j]j == n - 1 || key[j] < key[j + 1]thatn + that->n <= fanout - 1pi <= p->ncp!rp || rp->n >= fanout / 2!lp || lp->n >= fanout / 2!rm.link0!root || root->nnpairsp->n > fanout / 22.7.0fam, version %s Use: %s [ -f | -d | -v ] [ -l | -t seconds ] [ -T seconds ] \ [ -p prog.vers ] [ -L ] [ -c config_file ] [-C] -f stay in foreground -d debug -v verbose -l no polling -t seconds set polling interval (default 6 s) -T seconds set inactive timeout (default 5 s) -p prog.vers set RPC program number and version -L local only (ignore remote requests) -c config_file path to alternate configuration file /usr/pkg/etc/fam.conf (default is %s) -C insecure compatibility falseno0rconfig file %s line %d is too long, and is being ignored!config file %s line %d seems dain bramaged (no "="), and is being ignored.read %s line %d: "%s" = "%s"untrusted_userlocal_onlyconfig file %s line %d: ignoring duplicate %sWarning! Started by inetd, so -L (local_only) option is being ignored!Fatal misconfiguration! No untrusted_user found in %s!fam starting SAT with process name "%s"idle_timeoutnfs_polling_intervalxtab_verificationinsecure_compatibilitydisable_auditdisable_macconfig file %s line %d: unrecognized key "%s"config file %s line %d: ignoring %s because insecure_compatibility is setconfig file %s line %d: ignoring invalid value for %sCouldn't open config file "%s"!illegal poll interval 0Running with -C (insecure_compatibility) command-line optionmust be superuserbuilt with IMonNone, so /dev/imon won't be opened.$$$$$gq`6Clientgh q016ClientConnectionH<p0(T|($q0X14ClientInterestTt (q08DirEntrypl0(T|T q0H9Directory4ʀ4q0@16DirectoryScannerh0hTp0(T|($q0H4FileLl$$$$$$$$$$q`10FileSystemijq0Hq`(5BTreeIP14ClientInterestbE3SetIP14ClientInterestEj4jpLq`10SmallTableImP10FileSystemEz{`q`11StringTableIP10FileSystemEh$|$$$$$q`(8Interest`8@`gq0p14InternalClientq`5BTreeIiP17NegotiatingClientE$QRLXWQRq011LocalClient@4X,`pq0P15LocalFileSystemP$$$$$gq08MxClientDDq`q`5BTreeIiP14ClientInterestE5BTreeIiP14ClientInterestEXp8$l@q0h13NFSFileSystemH $q`13NetConnection  q0 q0 q`q`5BTreeIP8InterestbE5BTreeIP8InterestbE3SetIP8InterestE3SetIP8InterestE|q0q`5BTreeIP10ServerHostbE3SetIP10ServerHostEL())$q`7ScannerTx6q0(16ServerConnectionTHHq``11StringTableIP10ServerHostESS$QRLXWQRq010TCP_Client%'jj[h[d'00<0H0T0`0l0x00000000000000 0,080D0P0\0h0t0000000000000~0{0x(0u40r@0oL0lX0id0fp0c|0`0]0Z0W0T0Q0N0K0H0E0B0? 0<09$06003<00H0-T0*`0'l0$x0!0000000 0 00000 0,080D0P0\0h0t00000000000000NN;NzNNNPNf g gNND O) o ooL oo/tmp/.fam_socketp("4@ #zP|P%  8p - <$ - X$ - tp - `H - zP|P%  P - < P - X\ - zP|P%  t4 - <4 - X$ - td - dg$ - h $ - zPL|P%  |`[l - @`[ - `<X[ -  - <4 - |L - ` - ( -  @\ - @@\Y - `0 - @ - T - T0 - 0 - L - zPL|P%   - @p, - ` -  -  \ -   P - TP - 0 - Ph - p  - h - | - $\ - h -  - 0(H@zPL|P%  XH - @H - `$ -  H - TD] - H]9 - H]W - (L -  tH - @, - ` - H - H - zPL|P%  ]u - @] - `8 -  4 - T -  - lP^ - 0 -  L - @H - `^Q - ^ - ^ - zPL|P%  ø|_ - @4|_1 - `D_\ - 8h - ɠ - 4L_ - ʀP_ - P_ - zP|P%   L - <l - XP - zPL|P%  \d_ - @d` - `h0$ - hT$ - zPL|P%  hxh - @i`P - `i< - i$ - l`D - L`| - ` - j$ -  d - @Pd - `j4< - jpD - j - kh - l| - Ҵd -  m - @opX - `q - @ - r - s - vt - wL -  x - @X4 - zPL|P%  ӌ - @|t - `|P - }` - ~tP - h` - Xa$ -  L - zP|P%  < - <<< - Xxp - tp - Xh - ( - ( - , - zP|P%  H - <L - XhD - tެD -  -  - @ -   -  - | - 8$( - TTp - pzPL|P%   aO - @ a - `4Xa - Xa - Tb - @ `    - zPL|P%   - @d - `` - hb@ -  $D - \@ - @ - | - 8X - X8$p8 - h - TP -  - T -  - 0\8b - P - p -  - L -  - 4c  -  - 0< - PD - p zPL|P%  $c^ - @c - `\dc - dc - $`c - zP|P%  $ - <$ - X$ - t,4 - `p4$ - X$ - zP|P%  4 - <t - XP - t0 -   - H - H - DH - , -  0 DH - `@L - zPL|P%  | - @P - `D< - < - < - D - D - h -   - @H - `8 - 8 -  - T - t - Lxd -  xdF - @ - ` -  - L - \ - <\ - dq -  Pd - @d - zPL|P%  Td - @ TeQ - `hh - Xe - e - pf  - D - @ -  H - @$H - `lH - 8 - zP|P%   - < ( - XH( - tp( -  - < -  - d - 4< - x - 8L - TH - p0< - zP|P%  l - <  - Xh - th - lP -  < - P - < - < - D - 8< - TLD - p - X -  -  -  -  -  - 4 - P4 - lpX -   -  L - Ƙ -  - x - ИL - 00 - L!d - hTX - ٬ - !h\ - h - | - X - hL - , - H!d - d|$ - $ - $ -  $ - "( - "#zP|P%  #X - <$ - X$h - t&  - (0l - (L - zP|P%  ), - <*4 - X+ - t,@ - .   - /,< - 1  - 2$ - 23(3$<38P3L - l4 - zPL|P%  5$fX - @5f - `6 - 8H - T$ - x$ - zPL|P%  88 - @9 - `9 - (| - :<H - : - ;hf - <H -  P - @< - `=4f - >8g8 - ?<g} - @ g - D -  -  h - @@ - `B@ -  -  - CX - D8g -  -   T - @0 - `F8 -  -  -  - L - $ -  G - zPL|P%  Gt - @\P - `HX( - I( - P - Jg - zPL|P%  L0Dh) - @Qth - `Th - Q - QX - RLD - R - P -  H< - @$ - `S$h - Si) - Ti{ - 0$ - U8Pi - VPj, -  L< - @D - ` - \ - Ǭ - ˜ - ψ - L -   - @W@ - `X - X -  - XP - zPL|P%  Y( - @Zh - `[$ 0j - zP|P%  g - '4@$08L4@$08L4L$<,DA(T,P,A(T,P,'`|A$ xlx '0 8$,$,NX|$NX|$4 $`,A<$(4<4<'<T\dT'<T\dT', ' 8(@ ,4 ,4'<HP'<HP4LlXXh`0D|' ,`t|0A XH $A XH $(4<(4<'(@0HDt<    (8d |'XlN4' X ' X ,@H,@H',L<T'<\P'<\P'$@t'$@t'$@t[p48ph8H`88[p48ph8H`8848H\hx48H\hx48H\td'h@'h@A\$$,HA(@A(@'0|'0|'$DP'$8h hPt N(\<DLN|(P<DtN|(P<Dt[0p|,8[0p|,8' pas: Sun Compiler Common 10 Patch 09/04/2007 as: Sun Compiler Common 10 Patch 09/04/2007 @(#)SunOS 5.10 Generic January 2005as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 GCC: (GNU) 3.4.6as: Sun Compiler Common 10 Patch 09/04/2007 ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.489.interp.hash.dynsym.dynstr.SUNW_version.rela.got.rela.bss.rela.plt.text.init.fini.gnu.linkonce.t._ZN6Client23suggest_insecure_compatEPKc.gnu.linkonce.t._ZN16ClientConnectionD1Ev.gnu.linkonce.t._ZN16ClientConnectionD0Ev.gnu.linkonce.t._ZN4FileD1Ev.gnu.linkonce.t._ZN4FileD0Ev.gnu.linkonce.t._ZNK5BTreeIP14ClientInterestbE5firstEv.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbEC2Ev.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbED2Ev.gnu.linkonce.t._ZN3SetIP14ClientInterestED1Ev.gnu.linkonce.t._ZN3SetIP14ClientInterestED0Ev.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbED1Ev.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbED0Ev.gnu.linkonce.t._ZNK5BTreeIP14ClientInterestbE4Node4findERKS1_.gnu.linkonce.t._ZNK5BTreeIP14ClientInterestbE4Node4nextERKS1_.gnu.linkonce.t._ZNK5BTreeIP14ClientInterestbE4nextERKS1_.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE4NodeC1EPS3_RKNS2_7ClosureE.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE4Node6insertEjRKNS2_7ClosureE.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE4NodeC1EPS3_j.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE6insertEPNS2_4NodeERKS1_RKb.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE6insertERKS1_RKb.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE4Node4joinERKNS2_7ClosureEPS3_.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE9underflowEPNS2_4NodeEj.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE16remove_rightmostEPNS2_4NodeE.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE6removeEPNS2_4NodeERKS1_.gnu.linkonce.t._ZN5BTreeIP14ClientInterestbE6removeERKS1_.gnu.linkonce.t._ZN10SmallTableImP10FileSystemE9removeAllEv.gnu.linkonce.t._ZN11StringTableIP10FileSystemED1Ev.gnu.linkonce.t._ZN11StringTableIP10FileSystemED0Ev.gnu.linkonce.t._ZN11StringTableIP10FileSystemE6removeEPKc.gnu.linkonce.t._ZN11StringTableIP10FileSystemEaSERKS2_.gnu.linkonce.t._ZN11StringTableIP10FileSystemE6insertEPKcRKS1_.gnu.linkonce.t._ZNK11StringTableIP10FileSystemE8positionEPKc.gnu.linkonce.t._ZN10SmallTableImP10FileSystemED1Ev.gnu.linkonce.t._ZN10SmallTableImP10FileSystemED0Ev.gnu.linkonce.t._ZNK10SmallTableImP10FileSystemE8positionERKm.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientEC1Ev.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE4NodeC1EPS3_RKNS2_7ClosureE.gnu.linkonce.t._ZNK5BTreeIiP17NegotiatingClientE4Node4findERKi.gnu.linkonce.t._ZNK5BTreeIiP17NegotiatingClientE4findERKi.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE4Node6insertEjRKNS2_7ClosureE.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE4NodeC1EPS3_j.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE6insertEPNS2_4NodeERKiRKS1_.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE6insertERKiRKS1_.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE4Node4joinERKNS2_7ClosureEPS3_.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE9underflowEPNS2_4NodeEj.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE16remove_rightmostEPNS2_4NodeE.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE6removeEPNS2_4NodeERKi.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientE6removeERKi.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientED1Ev.gnu.linkonce.t._ZN5BTreeIiP17NegotiatingClientED0Ev.gnu.linkonce.t._ZN15LocalFileSystemD1Ev.gnu.linkonce.t._ZN15LocalFileSystemD0Ev.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestEC1Ev.gnu.linkonce.t._ZNK5BTreeIiP14ClientInterestE5firstEv.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestED1Ev.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestED0Ev.gnu.linkonce.t._ZNK5BTreeIiP14ClientInterestE4Node4findERKi.gnu.linkonce.t._ZNK5BTreeIiP14ClientInterestE4findERKi.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE4NodeC1EPS3_RKNS2_7ClosureE.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE4Node6insertEjRKNS2_7ClosureE.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE4NodeC1EPS3_j.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE6insertEPNS2_4NodeERKiRKS1_.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE6insertERKiRKS1_.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE4Node4joinERKNS2_7ClosureEPS3_.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE9underflowEPNS2_4NodeEj.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE16remove_rightmostEPNS2_4NodeE.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE6removeEPNS2_4NodeERKi.gnu.linkonce.t._ZN5BTreeIiP14ClientInterestE6removeERKi.gnu.linkonce.t._ZNK5BTreeIP8InterestbE5firstEv.gnu.linkonce.t._ZNK5BTreeIP10ServerHostbE5firstEv.gnu.linkonce.t._ZN5BTreeIP8InterestbEC2Ev.gnu.linkonce.t._ZN5BTreeIP10ServerHostbEC2Ev.gnu.linkonce.t._ZN5BTreeIP8InterestbE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIP8InterestbED2Ev.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE4NodeD1Ev.gnu.linkonce.t._ZN5BTreeIP10ServerHostbED2Ev.gnu.linkonce.t._ZN5BTreeIP8InterestbED1Ev.gnu.linkonce.t._ZN5BTreeIP8InterestbED0Ev.gnu.linkonce.t._ZN5BTreeIP10ServerHostbED1Ev.gnu.linkonce.t._ZN5BTreeIP10ServerHostbED0Ev.gnu.linkonce.t._ZN5BTreeIP8InterestbE4NodeC1EPS3_RKNS2_7ClosureE.gnu.linkonce.t._ZNK5BTreeIP8InterestbE4Node4findERKS1_.gnu.linkonce.t._ZN5BTreeIP8InterestbE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIP8InterestbE4Node6insertEjRKNS2_7ClosureE.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE4NodeC1EPS3_RKNS2_7ClosureE.gnu.linkonce.t._ZNK5BTreeIP10ServerHostbE4Node4findERKS1_.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE4Node6removeEj.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE4Node6insertEjRKNS2_7ClosureE.gnu.linkonce.t._ZNK5BTreeIP8InterestbE4Node4nextERKS1_.gnu.linkonce.t._ZNK5BTreeIP8InterestbE4nextERKS1_.gnu.linkonce.t._ZNK5BTreeIP10ServerHostbE4Node4nextERKS1_.gnu.linkonce.t._ZNK5BTreeIP10ServerHostbE4nextERKS1_.gnu.linkonce.t._ZN5BTreeIP8InterestbE4NodeC1EPS3_j.gnu.linkonce.t._ZN5BTreeIP8InterestbE6insertEPNS2_4NodeERKS1_RKb.gnu.linkonce.t._ZN5BTreeIP8InterestbE6insertERKS1_RKb.gnu.linkonce.t._ZN5BTreeIP8InterestbE4Node4joinERKNS2_7ClosureEPS3_.gnu.linkonce.t._ZN5BTreeIP8InterestbE9underflowEPNS2_4NodeEj.gnu.linkonce.t._ZN5BTreeIP8InterestbE16remove_rightmostEPNS2_4NodeE.gnu.linkonce.t._ZN5BTreeIP8InterestbE6removeEPNS2_4NodeERKS1_.gnu.linkonce.t._ZN5BTreeIP8InterestbE6removeERKS1_.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE4NodeC1EPS3_j.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE6insertEPNS2_4NodeERKS1_RKb.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE6insertERKS1_RKb.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE4Node4joinERKNS2_7ClosureEPS3_.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE9underflowEPNS2_4NodeEj.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE16remove_rightmostEPNS2_4NodeE.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE6removeEPNS2_4NodeERKS1_.gnu.linkonce.t._ZN5BTreeIP10ServerHostbE6removeERKS1_.gnu.linkonce.t._ZN3SetIP10ServerHostED1Ev.gnu.linkonce.t._ZN3SetIP10ServerHostED0Ev.gnu.linkonce.t._ZN3SetIP8InterestED1Ev.gnu.linkonce.t._ZN3SetIP8InterestED0Ev.gnu.linkonce.t._ZN16ServerConnectionD1Ev.gnu.linkonce.t._ZN16ServerConnectionD0Ev.gnu.linkonce.t._ZNK5BTreeIiP14ClientInterestE4Node4nextERKi.gnu.linkonce.t._ZNK5BTreeIiP14ClientInterestE4nextERKi.gnu.linkonce.t._ZN11StringTableIP10ServerHostE6removeEPKc.gnu.linkonce.t._ZN11StringTableIP10ServerHostED1Ev.gnu.linkonce.t._ZN11StringTableIP10ServerHostED0Ev.gnu.linkonce.t._ZN11StringTableIP10ServerHostE6insertEPKcRKS1_.gnu.linkonce.t._ZNK11StringTableIP10ServerHostE8positionEPKc.rodata.gnu.linkonce.r._ZTV6Client.gnu.linkonce.r._ZTI6Client.gnu.linkonce.r._ZTS6Client.gnu.linkonce.r._ZTV16ClientConnection.gnu.linkonce.r._ZTI16ClientConnection.gnu.linkonce.r._ZTS16ClientConnection.gnu.linkonce.r._ZTV14ClientInterest.gnu.linkonce.r._ZTI14ClientInterest.gnu.linkonce.r._ZTS14ClientInterest.gnu.linkonce.r._ZTV8DirEntry.gnu.linkonce.r._ZTI8DirEntry.gnu.linkonce.r._ZTS8DirEntry.gnu.linkonce.r._ZTV9Directory.gnu.linkonce.r._ZTI9Directory.gnu.linkonce.r._ZTS9Directory.gnu.linkonce.r._ZTV16DirectoryScanner.gnu.linkonce.r._ZTI16DirectoryScanner.gnu.linkonce.r._ZTS16DirectoryScanner.gnu.linkonce.r._ZTV4File.gnu.linkonce.r._ZTI4File.gnu.linkonce.r._ZTS4File.gnu.linkonce.r._ZTV10FileSystem.gnu.linkonce.r._ZTI10FileSystem.gnu.linkonce.r._ZTS10FileSystem.gnu.linkonce.r._ZTV3SetIP14ClientInterestE.gnu.linkonce.r._ZTI3SetIP14ClientInterestE.gnu.linkonce.r._ZTI5BTreeIP14ClientInterestbE.gnu.linkonce.r._ZTS5BTreeIP14ClientInterestbE.gnu.linkonce.r._ZTS3SetIP14ClientInterestE.gnu.linkonce.r._ZTV5BTreeIP14ClientInterestbE.gnu.linkonce.r._ZTV10SmallTableImP10FileSystemE.gnu.linkonce.r._ZTI10SmallTableImP10FileSystemE.gnu.linkonce.r._ZTS10SmallTableImP10FileSystemE.gnu.linkonce.r._ZTV11StringTableIP10FileSystemE.gnu.linkonce.r._ZTI11StringTableIP10FileSystemE.gnu.linkonce.r._ZTS11StringTableIP10FileSystemE.gnu.linkonce.r._ZTV8Interest.gnu.linkonce.r._ZTI8Interest.gnu.linkonce.r._ZTS8Interest.gnu.linkonce.r._ZTV14InternalClient.gnu.linkonce.r._ZTI14InternalClient.gnu.linkonce.r._ZTS14InternalClient.gnu.linkonce.r._ZTV5BTreeIiP17NegotiatingClientE.gnu.linkonce.r._ZTI5BTreeIiP17NegotiatingClientE.gnu.linkonce.r._ZTS5BTreeIiP17NegotiatingClientE.gnu.linkonce.r._ZTV11LocalClient.gnu.linkonce.r._ZTI11LocalClient.gnu.linkonce.r._ZTS11LocalClient.gnu.linkonce.r._ZTV15LocalFileSystem.gnu.linkonce.r._ZTI15LocalFileSystem.gnu.linkonce.r._ZTS15LocalFileSystem.gnu.linkonce.r._ZTV8MxClient.gnu.linkonce.r._ZTI8MxClient.gnu.linkonce.r._ZTS8MxClient.gnu.linkonce.r._ZTV5BTreeIiP14ClientInterestE.gnu.linkonce.r._ZTI5BTreeIiP14ClientInterestE.gnu.linkonce.r._ZTS5BTreeIiP14ClientInterestE.gnu.linkonce.r._ZTV13NFSFileSystem.gnu.linkonce.r._ZTI13NFSFileSystem.gnu.linkonce.r._ZTS13NFSFileSystem.gnu.linkonce.r._ZTV13NetConnection.gnu.linkonce.r._ZTI13NetConnection.gnu.linkonce.r._ZTS13NetConnection.gnu.linkonce.r._ZTV3SetIP8InterestE.gnu.linkonce.r._ZTI3SetIP8InterestE.gnu.linkonce.r._ZTI5BTreeIP8InterestbE.gnu.linkonce.r._ZTS5BTreeIP8InterestbE.gnu.linkonce.r._ZTS3SetIP8InterestE.gnu.linkonce.r._ZTV5BTreeIP8InterestbE.gnu.linkonce.r._ZTV3SetIP10ServerHostE.gnu.linkonce.r._ZTI3SetIP10ServerHostE.gnu.linkonce.r._ZTI5BTreeIP10ServerHostbE.gnu.linkonce.r._ZTS5BTreeIP10ServerHostbE.gnu.linkonce.r._ZTS3SetIP10ServerHostE.gnu.linkonce.r._ZTV5BTreeIP10ServerHostbE.gnu.linkonce.r._ZTV7Scanner.gnu.linkonce.r._ZTI7Scanner.gnu.linkonce.r._ZTS7Scanner.gnu.linkonce.r._ZTV16ServerConnection.gnu.linkonce.r._ZTI16ServerConnection.gnu.linkonce.r._ZTS16ServerConnection.gnu.linkonce.r._ZTV11StringTableIP10ServerHostE.gnu.linkonce.r._ZTI11StringTableIP10ServerHostE.gnu.linkonce.r._ZTS11StringTableIP10ServerHostE.gnu.linkonce.r._ZTV10TCP_Client.gnu.linkonce.r._ZTI10TCP_Client.gnu.linkonce.r._ZTS10TCP_Client.dynamic.data.ctors.dtors.eh_frame.jcr.data.rel.local.gcc_except_table.symtab.strtab.comment.shstrtab  - "DDO)o-B$ 7B< AB KQggWgg]gggg$h h $h0h0$hThT$#hxhxZiHiHi`i`Pii<ii$$jj$Sj4j4<jpjpDjjkhkh5l|l|om(m((mPmPmm?nnzopopXqqrrMssvtvtwwL$xx_zz,zz{`{`||P>}`}`v~t~tPT4(LL8\t( 88 [h TTP   \$$ T  ( w  L U < D 44$ $XX$ M||0   DDxQDDh||PKttxX 5y\\h$$0@TTnll  xP<*xU<LLDPhVHHXX``(O<<9tHH(pp   xWƘƘ(xx ИИ^00TTX٬٬Hhh||XXhhL[||$$H  H8TT$bxx$\\P<pHHPHHT"-*(Fb~ @HH =XXbpp0  @    @44 g@@XX@ 8   ? k   (( HH!!``!Ppp!!!""E"v,""(( "88("`` #pp#?#q##(# $$;8$a@@ $PP$hh($ $ % %6%e;%  8%XX %hh&xx&$&H&l &&&,'  )'+PP 'Spp'{ '''(!(L(i( (( ((()@@)ITT)z``)() ) 2(F  *%%*&&*''$*$''*+''3|*5[d[d*:[h[h*J[l[lJ<jj*lj *u t*share/examples/fam/fam.conf000444 000000 000000 00000002723 11035617737 016145 0ustar00rootroot000000 000000 # famd.conf # # For more information on the configuration options below, see the # famd.conf(5) man page. # # insecure_compatibility disables authentication. This causes # untrusted_user to be ignored, because the UID presented by every client # connection will be believed. # # The -C command-line argument overrides this option. # insecure_compatibility = false # # untrusted_user is the user which will be used for unauthenticated # clients. If a file can't be stat'ed by this user, those clients won't be # able to fam it. The value can be a user name or a numeric UID. # untrusted_user = nobody # # local_only makes famd ignore requests from remote clients & remote fams. # Note that this is ignored if famd is started by inetd. # # The -L command-line argument overrides this option. # local_only = false # # xtab_verification makes famd check the list of exported filesystems to # verify that requests from remote hosts fall on filesystems which are # exported to the hosts. # xtab_verification = true # # idle_timeout sets the number of seconds famd will wait for new # connections before quitting. A value of zero will cause famd to # wait indefinitely. The default is 5. # # The -T command-line argument overrides this option. # #idle_timeout = 5 # # nfs_polling_interval sets the number of seconds between polling files # on NFS filesystems. The default is 6. # # The -t command-line argument overrides this option. # #nfs_polling_interval = 6 share/examples/rc.d/famd000555 000000 000000 00000000415 11035617741 015442 0ustar00rootroot000000 000000 #!/bin/ksh # # $NetBSD: famd.sh,v 1.2 2008/01/09 21:17:32 wiz Exp $ # # PROVIDE: famd # REQUIRE: DAEMON rpcbind # KEYWORD: shutdown . /etc/rc.subr name="famd" rcvar=$name command="/usr/pkg/sbin/famd" command_args="-T 0 -L &" load_rc_config $name run_rc_command "$1"