1ce0e08e2SPeter Avalos#!/bin/sh 2ce0e08e2SPeter Avalos# 3ce0e08e2SPeter Avalos# FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp 4ce0e08e2SPeter Avalos# $FreeBSD: src/etc/rc.d/statd,v 1.21 2008/07/16 19:50:29 dougb Exp $ 5ce0e08e2SPeter Avalos# 6ce0e08e2SPeter Avalos 7ce0e08e2SPeter Avalos# PROVIDE: statd 8ce0e08e2SPeter Avalos# REQUIRE: nfsserver nfsclient nfsd rpcbind 9ce0e08e2SPeter Avalos# BEFORE: DAEMON 10ce0e08e2SPeter Avalos# KEYWORD: nojail shutdown 11ce0e08e2SPeter Avalos 12ce0e08e2SPeter Avalos. /etc/rc.subr 13ce0e08e2SPeter Avalos 14ce0e08e2SPeter Avalosname="statd" 15*e54c8dc8SAaron LIrcvar="rpc_statd_enable" 16ce0e08e2SPeter Avaloscommand="/usr/sbin/rpc.${name}" 17ce0e08e2SPeter Avalosstart_precmd='statd_precmd' 18ce0e08e2SPeter Avalosstop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable' 19ce0e08e2SPeter Avalosstatus_precmd=$stop_precmd 20ce0e08e2SPeter Avalos 21ce0e08e2SPeter Avalos# Make sure that we are either an NFS client or server, and that we get 22ce0e08e2SPeter Avalos# the correct flags from rc.conf(5). 23ce0e08e2SPeter Avalos# 24ce0e08e2SPeter Avalosstatd_precmd() 25ce0e08e2SPeter Avalos{ 26*e54c8dc8SAaron LI local ret=0 27ce0e08e2SPeter Avalos 28ce0e08e2SPeter Avalos if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable 29ce0e08e2SPeter Avalos then 30ce0e08e2SPeter Avalos ret=1 31ce0e08e2SPeter Avalos fi 32ce0e08e2SPeter Avalos if ! checkyesno rpcbind_enable && \ 33*e54c8dc8SAaron LI ! /etc/rc.d/rpcbind forcestatus >/dev/null 2>&1 34ce0e08e2SPeter Avalos then 35ce0e08e2SPeter Avalos force_depend rpcbind || ret=1 36ce0e08e2SPeter Avalos fi 37*e54c8dc8SAaron LI 38ce0e08e2SPeter Avalos rc_flags=${rpc_statd_flags} 39ce0e08e2SPeter Avalos return ${ret} 40ce0e08e2SPeter Avalos} 41ce0e08e2SPeter Avalos 42ce0e08e2SPeter Avalosload_rc_config $name 43ce0e08e2SPeter Avalosrun_rc_command $1 44