in.lpd.c revision 355b4669e025ff377602b6fc7caaf30dbc218371
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * CDDL HEADER START
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * The contents of this file are subject to the terms of the
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * Common Development and Distribution License (the "License").
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * You may not use this file except in compliance with the License.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * See the License for the specific language governing permissions
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * and limitations under the License.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * When distributing Covered Code, include this CDDL HEADER in each
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * If applicable, add the following below this CDDL HEADER, with the
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * fields enclosed by brackets "[]" replaced with your own identifying
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * information: Portions Copyright [yyyy] [name of copyright owner]
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * CDDL HEADER END
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * Use is subject to license terms.
355b4669e025ff377602b6fc7caaf30dbc218371jacobs/* $Id: in.lpd.c 170 2006-05-20 05:58:49Z njacobs $ */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#pragma ident "%Z%%M% %I% %E% SMI"
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#define ACK(fp) { (void) fputc('\0', fp); (void) fflush(fp); }
355b4669e025ff377602b6fc7caaf30dbc218371jacobs#define NACK(fp) { (void) fputc('\1', fp); (void) fflush(fp); }
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * This file contains the front-end of the BSD Print Protocol adaptor. This
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * code assumes a BSD Socket interface to the networking side.
355b4669e025ff377602b6fc7caaf30dbc218371jacobsberkeley_receive_files(papi_service_t svc, FILE *ifp, FILE *ofp)
355b4669e025ff377602b6fc7caaf30dbc218371jacobs /* This should actually implement transfer job from RFC-1179 */
355b4669e025ff377602b6fc7caaf30dbc218371jacobs switch (line[0]) {
355b4669e025ff377602b6fc7caaf30dbc218371jacobsberkeley_transfer_files(papi_service_t svc, FILE *ifp, FILE *ofp,
355b4669e025ff377602b6fc7caaf30dbc218371jacobs status = papiPrinterQuery(svc, printer, keys, NULL, &p);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs papi_attribute_t **attrs = papiPrinterGetAttributeList(p);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * This is the entry point for this program. The program takes the
355b4669e025ff377602b6fc7caaf30dbc218371jacobs * following options:
355b4669e025ff377602b6fc7caaf30dbc218371jacobs switch (c) {
355b4669e025ff377602b6fc7caaf30dbc218371jacobs status = papiServiceCreate(&svc, printer, NULL, NULL, NULL,
355b4669e025ff377602b6fc7caaf30dbc218371jacobs fatal(ofp, "Failed to contact service for %s: %s\n", printer,
355b4669e025ff377602b6fc7caaf30dbc218371jacobs switch (buf[0]) {
355b4669e025ff377602b6fc7caaf30dbc218371jacobs berkeley_queue_report(svc, ofp, printer, buf[0], count, args);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs berkeley_cancel_request(svc, ofp, printer, count, args);
355b4669e025ff377602b6fc7caaf30dbc218371jacobs syslog(LOG_DEBUG, "protocol request(%d) for %s completed: %s",
355b4669e025ff377602b6fc7caaf30dbc218371jacobs syslog(LOG_DEBUG, "detail: %s", verbose_papi_message(svc, status));
355b4669e025ff377602b6fc7caaf30dbc218371jacobs return (0);