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: enable.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
;
65 (void) setlocale(LC_ALL
, "");
66 (void) textdomain("SUNW_OST_OSCMD");
68 while ((c
= getopt(ac
, av
, "E")) != EOF
)
71 encryption
= PAPI_ENCRYPT_ALWAYS
;
80 for (c
= optind
; c
< ac
; c
++) {
81 char *printer
= av
[c
];
83 status
= papiServiceCreate(&svc
, printer
, NULL
, NULL
,
84 cli_auth_callback
, encryption
, NULL
);
85 if (status
!= PAPI_OK
) {
86 fprintf(stderr
, gettext(
87 "Failed to contact service for %s: %s\n"),
88 printer
, verbose_papi_message(svc
, status
));
92 status
= papiPrinterEnable(svc
, printer
);
93 if (status
== PAPI_OK
) {
94 printf(gettext("printer \"%s\" now enabled\n"),
96 } else if (status
== PAPI_NOT_ACCEPTING
) {
97 fprintf(stderr
, gettext(
98 "Destination \"%s\" was already enabled.\n"),
102 /* The operation is not supported in lpd protocol */
103 if (status
== PAPI_OPERATION_NOT_SUPPORTED
) {
105 verbose_papi_message(svc
, status
));
107 fprintf(stderr
, gettext("enable: %s: %s\n"),
108 printer
, verbose_papi_message(svc
, status
));
113 papiServiceDestroy(svc
);
116 return (exit_status
);