accept revision 7c478bd95313f5f23a4c958a745db2134aa03244
#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright (c) 1994, 1995, 1996 by Sun Microsystems, Inc.
# All Rights Reserved
#
# ident "%Z%%M% %I% %E% SMI"
#
PATH=/usr/ucb:/bin:/usr/bin:/usr/sbin export PATH
cmd_name=`basename $0`
args=""
reason=""
destinations=""
exit_code=0
local_exit=0
TEXTDOMAIN="SUNW_OST_OSCMD"
export TEXTDOMAIN
#
# check for some options
#
if [ $# -lt 1 ] ; then
gettext "Usage: "
echo -n $cmd_name $valid_opts
gettext " printer ..."
echo
exit 1
fi
# set variables for command
case $cmd_name in
accept)
valid_opts=""
options="\?"
;;
enable)
valid_opts=""
options="\?"
;;
reject)
valid_opts="[ -r reason ]"
options="r:"
;;
disable)
valid_opts="[ -c | -W ] [ -r reason ]"
options="Wcr:"
;;
*)
gettext "Error: "
echo -n $cmd_name
gettext " - invalid name"
echo
exit 1
;;
esac
# Strip off legal options
while getopts $options arg
do
case $arg in
c|W)
args="${args} -$arg"
;;
r)
reason=${OPTARG}
;;
\?)
gettext "Usage: "
echo -n $cmd_name $valid_opts
gettext " printer ..."
echo
exit 1
;;
esac
done
shift `expr $OPTIND - 1`
if [ "$*" = "" ] ; then
gettext "No destination specified"
echo
exit 1
fi
# Each destination
for printer in $*
do
if [ -f /etc/lp/classes/$printer -o -d /etc/lp/printers/$printer -a \
-f /usr/lib/lp/local/$cmd_name ]
then
destinations="${destinations} ${printer}"
else
check=`lpstat -v $printer -L`
if [ -n "$check" ]
then
gettext "Warning: "
echo -n $printer
gettext " is remote, $cmd_name has no meaning."
echo
else
exit_code=1
fi
fi
done
if [ -n "$destinations" ]
then
if [ -n "$reason" ] ; then
/usr/lib/lp/local/$cmd_name -r "$reason" $args $destinations
else
/usr/lib/lp/local/$cmd_name $args $destinations
fi
local_exit=$?
fi
if [ ${local_exit} -ne 0 ] ; then
exit ${local_exit}
else
exit ${exit_code}
fi