xref: /titanic_53/usr/src/cmd/lp/model/alert.proto (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.5	*/
2*7c478bd9Sstevel@tonic-gate#
3*7c478bd9Sstevel@tonic-gate# CDDL HEADER START
4*7c478bd9Sstevel@tonic-gate#
5*7c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
6*7c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
7*7c478bd9Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
8*7c478bd9Sstevel@tonic-gate# with the License.
9*7c478bd9Sstevel@tonic-gate#
10*7c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11*7c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
12*7c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
13*7c478bd9Sstevel@tonic-gate# and limitations under the License.
14*7c478bd9Sstevel@tonic-gate#
15*7c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
16*7c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17*7c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
18*7c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
19*7c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
20*7c478bd9Sstevel@tonic-gate#
21*7c478bd9Sstevel@tonic-gate# CDDL HEADER END
22*7c478bd9Sstevel@tonic-gate#
23*7c478bd9Sstevel@tonic-gate#
24*7c478bd9Sstevel@tonic-gate#	Pardon the bizarre variable names, but we must not
25*7c478bd9Sstevel@tonic-gate#	conflict with any variables that the user gives us.
26*7c478bd9Sstevel@tonic-gate#
27*7c478bd9Sstevel@tonic-gate
28*7c478bd9Sstevel@tonic-gate-ENVIRONMENT-
29*7c478bd9Sstevel@tonic-gate
30*7c478bd9Sstevel@tonic-gatecd -PWD-
31*7c478bd9Sstevel@tonic-gate
32*7c478bd9Sstevel@tonic-gateif [ "`ulimit`" -gt -ULIMIT- ]
33*7c478bd9Sstevel@tonic-gatethen
34*7c478bd9Sstevel@tonic-gate	ulimit -ULIMIT-
35*7c478bd9Sstevel@tonic-gatefi
36*7c478bd9Sstevel@tonic-gate
37*7c478bd9Sstevel@tonic-gateumask -UMASK-
38*7c478bd9Sstevel@tonic-gate
39*7c478bd9Sstevel@tonic-gateAlErT () {
40*7c478bd9Sstevel@tonic-gate	2>&1 (
41*7c478bd9Sstevel@tonic-gate-CMD-
42*7c478bd9Sstevel@tonic-gate	) <$1 1>${TmPsTdErR} || return 1
43*7c478bd9Sstevel@tonic-gate	return 0
44*7c478bd9Sstevel@tonic-gate}
45*7c478bd9Sstevel@tonic-gate
46*7c478bd9Sstevel@tonic-gateTmPsTdErR=${TMPDIR:-/usr/tmp}/`/bin/uname -n`$$
47*7c478bd9Sstevel@tonic-gatetrap 'rm -f ${TmPsTdErR}; exit 0' 0 1 2 15
48*7c478bd9Sstevel@tonic-gate
49*7c478bd9Sstevel@tonic-gatewhile AlErT $1
50*7c478bd9Sstevel@tonic-gatedo
51*7c478bd9Sstevel@tonic-gate	if [ -INTERVAL- -le 0 ]
52*7c478bd9Sstevel@tonic-gate	then
53*7c478bd9Sstevel@tonic-gate		exit 0
54*7c478bd9Sstevel@tonic-gate	else
55*7c478bd9Sstevel@tonic-gate		TiCk=0
56*7c478bd9Sstevel@tonic-gate		while [ "${TiCk}" -lt -INTERVAL- ]
57*7c478bd9Sstevel@tonic-gate		do
58*7c478bd9Sstevel@tonic-gate			TiCk=`expr "${TiCk}" + 1`
59*7c478bd9Sstevel@tonic-gate			sleep 60
60*7c478bd9Sstevel@tonic-gate		done
61*7c478bd9Sstevel@tonic-gate	fi
62*7c478bd9Sstevel@tonic-gatedone
63*7c478bd9Sstevel@tonic-gate
64*7c478bd9Sstevel@tonic-gateec=$?
65*7c478bd9Sstevel@tonic-gateif [ "${ec}" -ne 0 ]
66*7c478bd9Sstevel@tonic-gatethen
67*7c478bd9Sstevel@tonic-gate	{
68*7c478bd9Sstevel@tonic-gate
69*7c478bd9Sstevel@tonic-gate		echo "
70*7c478bd9Sstevel@tonic-gateOne of your print service alerts failed with exit code ${ec}.
71*7c478bd9Sstevel@tonic-gateThe standard output and standard error were:
72*7c478bd9Sstevel@tonic-gate	"
73*7c478bd9Sstevel@tonic-gate		cat ${TmPsTdErR}
74*7c478bd9Sstevel@tonic-gate		echo '
75*7c478bd9Sstevel@tonic-gate
76*7c478bd9Sstevel@tonic-gateThe alert message is:
77*7c478bd9Sstevel@tonic-gate'
78*7c478bd9Sstevel@tonic-gate		cat $1
79*7c478bd9Sstevel@tonic-gate
80*7c478bd9Sstevel@tonic-gate	} | mailx -s 'Failed print service alert' -USER-
81*7c478bd9Sstevel@tonic-gatefi
82