1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
23 /* All Rights Reserved */
24
25
26 #ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.8 */
27 /* EMACS_MODES: !fill, lnumb, !overwrite, !nodelete, !picture */
28
29 #include "sys/types.h"
30
31 #include "lp.h"
32 #include "lp.set.h"
33 #include "printers.h"
34
35 extern short output_res_char,
36 output_res_line,
37 output_res_horz_inch,
38 output_res_vert_inch;
39
40 /**
41 ** chkprinter() - CHECK VALIDITY OF PITCH/SIZE/CHARSET FOR TERMINFO TYPE
42 **/
43
44 unsigned long
45 #if defined(__STDC__)
chkprinter(char * type,char * cpi,char * lpi,char * len,char * wid,char * cs)46 chkprinter (
47 char * type,
48 char * cpi,
49 char * lpi,
50 char * len,
51 char * wid,
52 char * cs
53 )
54 #else
55 chkprinter (type, cpi, lpi, len, wid, cs)
56 char *type,
57 *cpi,
58 *lpi,
59 *len,
60 *wid,
61 *cs;
62 #endif
63 {
64 register unsigned long retflags = 0;
65
66
67 if (tidbit(type, (char *)0) == -1)
68 return (retflags | PCK_TYPE);
69
70 output_res_char = -1;
71 output_res_line = -1;
72 output_res_horz_inch = -1;
73 output_res_vert_inch = -1;
74
75 if (cpi && *cpi && set_pitch(cpi, 'H', 0) != E_SUCCESS)
76 retflags |= PCK_CPI;
77
78 if (lpi && *lpi && set_pitch(lpi, 'V', 0) != E_SUCCESS)
79 retflags |= PCK_LPI;
80
81 if (len && *len && set_size(len, 'L', 0) != E_SUCCESS)
82 retflags |= PCK_LENGTH;
83
84 if (wid && *wid && set_size(wid, 'W', 0) != E_SUCCESS)
85 retflags |= PCK_WIDTH;
86
87 if (cs && *cs && set_charset(cs, 0, type) != E_SUCCESS)
88 retflags |= PCK_CHARSET;
89
90 return (retflags);
91 }
92