3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * CDDL HEADER START
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * The contents of this file are subject to the terms of the
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * Common Development and Distribution License (the "License").
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * You may not use this file except in compliance with the License.
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * or http://www.opensolaris.org/os/licensing.
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * See the License for the specific language governing permissions
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * and limitations under the License.
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * When distributing Covered Code, include this CDDL HEADER in each
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * If applicable, add the following below this CDDL HEADER, with the
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * fields enclosed by brackets "[]" replaced with your own identifying
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * information: Portions Copyright [yyyy] [name of copyright owner]
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * CDDL HEADER END
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * Use is subject to license terms.
3a666413480ef97101461705e1f47cbab0266301Brendan Mmiller/* $Id: service.c 163 2006-05-09 15:07:45Z njacobs $ */
ba208d3f0e9d48f3c841cdd627f200a7bb04cea8Brendan Mmiller#pragma ident "%Z%%M% %I% %E% SMI"
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * valid URIs are in the form:
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller * lpd://server[:port]/.../queue[#extensions]
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller * rfc-1179://server[:port]/.../queue[#extensions]
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller * any authentication information supplied the URI is ignored.
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller if (uri_from_string((char *)name, &uri) != -1) {
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller if ((strcasecmp(uri->scheme, "lpd") == 0) ||
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller (strcasecmp(uri->scheme, "rfc-1179") == 0)) {
3a666413480ef97101461705e1f47cbab0266301Brendan MmillerpapiServiceCreate(papi_service_t *handle, char *service_name,
3a666413480ef97101461705e1f47cbab0266301Brendan Mmiller int (*authCB)(papi_service_t svc, void *app_data),
3a666413480ef97101461705e1f47cbab0266301Brendan Mmiller papi_encryption_t encryption, void *app_data)
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller if ((*handle = svc = (service_t *)calloc(1, sizeof (*svc))) == NULL)
ba208d3f0e9d48f3c841cdd627f200a7bb04cea8Brendan Mmiller papiAttributeListAddString(&svc->attributes, PAPI_ATTR_EXCL,
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller (void) papiServiceSetUserName(svc, user_name);
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller (void) papiServiceSetPassword(svc, password);
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller (void) papiServiceSetAppData(svc, app_data);
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller (void) papiServiceSetEncryption(svc, encryption);
ba208d3f0e9d48f3c841cdd627f200a7bb04cea8Brendan Mmiller status = service_fill_in(svc, service_name);
99054f32a1766b8a8f60509cb724359413171d1dBrendan MmillerpapiServiceSetUserName(papi_service_t handle, char *user_name)
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller return (papiAttributeListAddString(&svc->attributes, PAPI_ATTR_REPLACE,
99054f32a1766b8a8f60509cb724359413171d1dBrendan MmillerpapiServiceSetPassword(papi_service_t handle, char *password)
99054f32a1766b8a8f60509cb724359413171d1dBrendan Mmiller return (papiAttributeListAddString(&svc->attributes,
99054f32a1766b8a8f60509cb724359413171d1dBrendan MmillerpapiServiceSetEncryption(papi_service_t handle,
3f424ffdb194d6ff7ac053c5b3e53211a2de2d64Brendan Mmiller return (papiAttributeListAddInteger(&svc->attributes, PAPI_ATTR_REPLACE,
return (PAPI_BAD_ARGUMENT);
return (PAPI_OK);
return (PAPI_BAD_ARGUMENT);
return (PAPI_OK);
return (result);
return (result);
return (result);
return (result);
return (result);
return (result);
return (result);