xref: /titanic_41/usr/src/cmd/rpcbind/rpc-bind.sh (revision 3fd3a04a9f762fea5da9e64d29593959c18f74a2)
1#! /sbin/sh
2#
3# CDDL HEADER START
4#
5# The contents of this file are subject to the terms of the
6# Common Development and Distribution License, Version 1.0 only
7# (the "License").  You may not use this file except in compliance
8# with the License.
9#
10# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11# or http://www.opensolaris.org/os/licensing.
12# See the License for the specific language governing permissions
13# and limitations under the License.
14#
15# When distributing Covered Code, include this CDDL HEADER in each
16# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17# If applicable, add the following below this CDDL HEADER, with the
18# fields enclosed by brackets "[]" replaced with your own identifying
19# information: Portions Copyright [yyyy] [name of copyright owner]
20#
21# CDDL HEADER END
22#
23#
24# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27#ident	"%Z%%M%	%I%	%E% SMI"
28#
29# rpcbind method
30#
31# Argument is the method name.
32#
33
34. /lib/svc/share/smf_include.sh
35
36RB_OPT="$1"
37RB_EXIT=0
38RB_DOOR="/var/run/rpc_door"
39
40case ${RB_OPT} in
41	"start")
42		if [ ! -x /usr/sbin/rpcbind ]
43		then
44			echo "ERROR: /usr/sbin/rpcbind does not exist."
45			exit $SMF_EXIT_ERR_CONFIG
46		fi
47
48		[ -d ${RB_DOOR} ] || /usr/bin/mkdir -p -m 1777 ${RB_DOOR}
49
50		/usr/sbin/rpcbind > /dev/msglog 2>&1
51
52		RB_EXIT=${?}
53
54		if [ $RB_EXIT != 0 ]
55		then
56			echo "rpcbind failed with $RB_EXIT."
57			RB_EXIT=1
58		fi
59	;;
60	"stop")
61		# Kill service contract
62		smf_kill_contract $2 TERM 1
63		[ $? -ne 0 ] && RB_EXIT=1
64		/usr/bin/rm -fr ${RB_DOOR}
65	;;
66	*)
67		RB_EXIT=$SMF_EXIT_ERR_CONFIG
68	;;
69esac
70
71exit ${RB_EXIT}
72