4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
28 /* $Id: reject.c 146 2006-03-24 00:26:54Z njacobs $ */
45 if ((name
= strrchr(program
, '/')) == NULL
)
51 gettext("Usage: %s destination ...\n"),
57 main(int ac
, char *av
[])
60 papi_service_t svc
= NULL
;
61 papi_encryption_t encryption
= PAPI_ENCRYPT_NEVER
;
66 (void) setlocale(LC_ALL
, "");
67 (void) textdomain("SUNW_OST_OSCMD");
69 while ((c
= getopt(ac
, av
, "Er:")) != EOF
)
71 case 'r': /* reason */
75 encryption
= PAPI_ENCRYPT_ALWAYS
;
85 char *printer
= av
[optind
++];
87 status
= papiServiceCreate(&svc
, printer
, NULL
, NULL
,
88 cli_auth_callback
, encryption
, NULL
);
89 if (status
!= PAPI_OK
) {
90 fprintf(stderr
, gettext(
91 "Failed to contact service for %s: %s\n"),
92 printer
, verbose_papi_message(svc
, status
));
96 status
= papiPrinterPause(svc
, printer
, reason
);
97 if (status
== PAPI_OK
) {
99 "Destination \"%s\" will no longer "
100 "accept requests\n"), printer
);
101 } else if (status
== PAPI_NOT_ACCEPTING
) {
102 fprintf(stderr
, gettext(
103 "Destination \"%s\" was already not "
104 "accepting requests.\n"), printer
);
107 /* The operation is not supported in lpd protocol */
108 if (status
== PAPI_OPERATION_NOT_SUPPORTED
) {
110 verbose_papi_message(svc
, status
));
112 fprintf(stderr
, gettext("reject: %s: %s\n"),
113 printer
, verbose_papi_message(svc
, status
));
118 papiServiceDestroy(svc
);
121 return (exit_status
);