accept revision 355b4669e025ff377602b6fc7caaf30dbc218371
2N/A#!/bin/sh
2N/A#
2N/A# CDDL HEADER START
2N/A#
2N/A# The contents of this file are subject to the terms of the
2N/A# Common Development and Distribution License, Version 1.0 only
2N/A# (the "License"). You may not use this file except in compliance
2N/A# with the License.
2N/A#
2N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2N/A# or http://www.opensolaris.org/os/licensing.
2N/A# See the License for the specific language governing permissions
2N/A# and limitations under the License.
2N/A#
2N/A# When distributing Covered Code, include this CDDL HEADER in each
2N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2N/A# If applicable, add the following below this CDDL HEADER, with the
2N/A# fields enclosed by brackets "[]" replaced with your own identifying
2N/A# information: Portions Copyright [yyyy] [name of copyright owner]
2N/A#
2N/A# CDDL HEADER END
2N/A#
2N/A#
2N/A# Copyright (c) 1994, 1995, 1996 by Sun Microsystems, Inc.
2N/A# All Rights Reserved
2N/A#
2N/A# ident "%Z%%M% %I% %E% SMI"
2N/A#
2N/APATH=/usr/ucb:/bin:/usr/bin:/usr/sbin export PATH
2N/Acmd_name=`basename $0`
2N/Aargs=""
2N/Areason=""
2N/Adestinations=""
2N/Aexit_code=0
2N/Alocal_exit=0
2N/A
2N/ATEXTDOMAIN="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