/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/* LINTLIBRARY */
/* PROTOLIB1 */
/*
* Copyright (c) 1998 by Sun Microsystems, Inc.
* All rights reserved.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
#pragma ident "%Z%%M% %I% %E% SMI"
#include "../../include/lp.h"
typedef struct PRINTER {
char *name; /* name of printer (redundant) */
unsigned short banner; /* banner page conditions */
SCALED cpi; /* default character pitch */
char **char_sets; /* list of okay char-sets/print-wheels */
char **input_types; /* list of types acceptable to printer */
char *device; /* printer port full path name */
char *dial_info; /* system name or phone # for dial-up */
char *fault_rec; /* printer fault recovery procedure */
char *interface; /* interface program full path name */
SCALED lpi; /* default line pitch */
SCALED plen; /* default page length */
unsigned short login; /* is/isn't a login terminal */
char *printer_type; /* Terminfo look-up value (obsolete) */
char *remote; /* remote machine!printer-name */
char *speed; /* baud rate for connection */
char *stty; /* space separated list of stty options */
SCALED pwid; /* default page width */
char *description; /* comment about printer */
FALERT fault_alert; /* how to alert on printer fault */
short daisy; /* 1/0 - printwheels/character-sets */
#if defined(CAN_DO_MODULES)
char **modules; /* streams modules to push */
#endif
char **printer_types; /* Terminfo look-up values */
char **options; /* space separated list of undefined -o options */
/*
* Adding new members to this structure? Check out
* cmd/lpadmin/do_printer.c, where we initialize
* each new printer structure.
*/
} PRINTER;
typedef struct PWHEEL {
char *name; /* name of print wheel */
FALERT alert; /* how to alert when mount needed */
} PWHEEL;
extern unsigned long badprinter,
ignprinter;
PRINTER * getprinter ( char * );
PWHEEL * getpwheel ( char * );
char * getdefault ( void );
int putprinter ( char *, PRINTER *);
int delprinter ( char * );
int putdefault ( char * );
int deldefault ( void );
int putpwheel ( char * , PWHEEL * );
int delpwheel ( char * );
int okprinter ( char * , PRINTER * , int );
unsigned long chkprinter (char *, char *, char *, char *, char *, char *);
void freeprinter ( PRINTER * );
void freepwheel ( PWHEEL * );
char * getpentry(char *, int);