xref: /titanic_51/usr/src/cmd/lp/lib/lp/llib-llp (revision 8eea8e29cc4374d1ee24c25a07f45af132db3499)
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/* LINTLIBRARY */
23/* PROTOLIB1 */
24
25/*
26 * Copyright (c) 1998 by Sun Microsystems, Inc.
27 * All rights reserved.
28 */
29
30/*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
31/*	  All Rights Reserved  	*/
32
33#pragma ident	"%Z%%M%	%I%	%E% SMI"
34
35#include "errno.h"
36#include "fcntl.h"
37#include "sys/types.h"
38#include "sys/stat.h"
39#include "stdio.h"
40#include "dirent.h"
41
42typedef struct SCALED {
43	float	val;	/* value of number, scaled according to "sc" */
44	char	sc;	/* 'i' inches, 'c' centimeters, ' ' lines/cols */
45}			SCALED;
46
47typedef struct FALERT {
48	char *	shcmd;	/* shell command used to perform the alert */
49	int	Q;	/* # requests queued to activate alert */
50	int	W;	/* alert is sent every "W" minutes */
51} FALERT;
52
53extern int	errno;
54extern char *	sys_errlist[];
55extern int	sys_nerr;
56
57extern int	open_locked(char *, char *, mode_t);
58extern char	*fdgets(char *, int, int);
59extern int	fdprintf(int, char *, ...);
60extern int	fdputs(char *, int);
61extern int	fdputc(char, int);
62
63
64FILE		*open_lpfile ( char * , char * , mode_t );
65int		close_lpfile ( FILE * );
66int		chown_lppath ( char * path );
67int		mkdir_lpdir ( char * path , int mode );
68int		rmfile ( char * path );
69int		dumpstring ( char * path , char * str );
70
71char *		loadstring ( char * path );
72char *		loadline ( char * path );
73char *		sop_up_rest (int, char * endsop );
74
75int		addlist ( char *** , char * );
76int		addstring ( char ** , char * );
77int		appendlist ( char *** , char * );
78int		dellist ( char *** , char * );
79int		joinlist ( char *** , char ** );
80int		lenlist ( char ** );
81int		printlist ( FILE * , char ** );
82int		fdprintlist(int , char ** );
83int		searchlist ( char *, char ** );
84int		searchlist_with_terminfo ( char * , char ** );
85
86char **		duplist ( char ** );
87char **		getlist ( char * , char * , char * );
88char **		dashos ( char * );
89char **		wherelist ( char * , char ** );
90
91char *		sprintlist ( char ** );
92char *		search_cslist ( char * , char ** );
93
94void		freelist ( char ** );
95void		printlist_setup ( char * , char * , char * , char * );
96void		printlist_unsetup ( void );
97
98
99void		printsdn ( FILE * , SCALED );
100void		fdprintsdn ( int , SCALED );
101void		printsdn_setup ( char * , char * , char * );
102void		printsdn_unsetup ( void );
103
104SCALED		_getsdn ( char * , char ** , int );
105
106char *		makepath ( char * , ... );
107char *		getspooldir ( void );
108char *		getrequestfile ( char * );
109char *		getprinterfile ( char * , char * );
110char *		getsystemfile ( char * , char * );
111char *		getclassfile ( char * );
112char *		getfilterfile ( char * );
113char *		getformfile ( char * , char * );
114
115int		cs_strcmp ( char * , char * );
116int		cs_strncmp ( char * , char * , int );
117
118int		syn_name ( char * );
119int		syn_text ( char * );
120int		syn_comment ( char * );
121int		syn_machine_name ( char * );
122int		syn_option ( char * );
123
124int		putalert ( char * , char * , FALERT * );
125int		delalert ( char * , char * );
126
127FALERT *	getalert ( char * , char * );
128
129void		printalert ( FILE * , FALERT * , int );
130
131int		tidbit ( char * , char * , ... );
132void		untidbit ( char * );
133
134int		_Access ( char * , int );
135int		_Chdir ( char * );
136int		_Chmod ( char * , int );
137int		_Chown ( char * , int , int );
138int		_Close ( int );
139int		_Creat ( char * , int );
140int		_Fcntl ( int , int , ... );
141int		_Fstat ( int , struct stat * );
142int		_Link ( char * , char * );
143int		_Lstat ( char * , struct stat * );
144int		_Mknod ( char * , int , int );
145int		_Mkpipe ( char * , int , int );
146int		_Open ( char * , int , ... /* mode_t */ );
147int		_Read ( int , char * , unsigned int );
148int		_Readlink ( char * , char * , unsigned int );
149int		_Rename ( char * , char * );
150int		_Symlink ( char * , char * );
151int		_Stat ( char * , struct stat * );
152int		_Unlink ( char * );
153int		_Wait ( int * );
154int		_Write ( int , char * , unsigned int );
155
156void *		_Malloc ( size_t , const char * , int );
157void *		_Realloc ( void * , size_t , const char * , int );
158void *		_Calloc ( size_t , size_t , const char * , int );
159char *		_Strdup ( const char * , const char * , int );
160void		_Free ( void * , const char * , int );
161
162
163int		isterminfo ( char * );
164int		isprinter ( char * );
165int		isrequest ( char * );
166int		isnumber ( char * );
167
168char *		getname ( void );
169char *		makestr ( char * , ... );
170char *		strip ( char * );
171
172void		sendmail ( char * , char * );
173
174void		(*lp_alloc_fail_handler)( void );
175
176char *		next_x  ( char * , long * , unsigned int );
177
178