Home | History | Annotate | Download | only in include
      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 /*
     23  * Copyright 1997 Sun Microsystems, Inc.  All rights reserved.
     24  * Use is subject to license terms.
     25  */
     26 
     27 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
     28 /*	  All Rights Reserved  	*/
     29 
     30 
     31 #pragma ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.5	*/
     32 
     33 #if	!defined(_LP_FORM_H)
     34 #define	_LP_FORM_H
     35 
     36 /**
     37  ** The disk copy of the form files:
     38  **/
     39 
     40 /*
     41  * There are 10 fields in the form configuration file.
     42  */
     43 # define FO_MAX		10
     44 # define FO_PLEN	0
     45 # define FO_PWID	1
     46 # define FO_NP		2
     47 # define FO_LPI		3
     48 # define FO_CPI		4
     49 # define FO_CHSET	5
     50 # define FO_RCOLOR	6
     51 # define FO_CMT	 	7
     52 # define FO_ALIGN	8
     53 # define FO_PAPER	9
     54 
     55 /**
     56  ** The internal copy of a form as seen by the rest of the world:
     57  **/
     58 
     59 typedef struct FORM {
     60 	SCALED			plen;
     61 	SCALED			pwid;
     62 	SCALED			lpi;
     63 	SCALED			cpi;
     64 	int			np;
     65 	char *			chset;
     66 	short			mandatory;
     67 	char *			rcolor;
     68 	char *			comment;
     69 	char *			conttype;
     70 	char *			name;
     71 	char *			paper;
     72 	short			isDefault;
     73 }			FORM;
     74 
     75 /*
     76  * Default configuration values:
     77  */
     78 #define DPLEN		66
     79 #define DPWIDTH		80
     80 #define DNP		1
     81 #define	DLPITCH		6
     82 #define DCPITCH		10
     83 #define DCHSET		NAME_ANY
     84 #define	DRCOLOR		NAME_ANY
     85 #define DCONTYP		NAME_SIMPLE
     86 #define ENDENV		"#ENDOF_ENV\n"
     87 #define MANSTR		"mandatory"
     88 #define DFTSTR		"default"
     89 
     90 /*
     91  * These are the filenames that may be used for storing a form
     92  */
     93 #define DESCRIBE	"describe"
     94 #define COMMENT		"comment"
     95 #define ALIGN_PTRN	"align_ptrn"
     96 #define ALERTSH		"alert.sh"
     97 #define ALERTVARS	"alert.vars"
     98 
     99 #define err_hndlr	int (*)( int , int , int )
    100 
    101 int		delform ( char * );
    102 int		getform ( char * , FORM * , FALERT * , FILE ** );
    103 int		putform ( char * , FORM * , FALERT * , FILE ** );
    104 int		rdform ( char * , FORM * , int , err_hndlr , int * );
    105 int		wrform ( char * , FORM * , int , err_hndlr , int * );
    106 
    107 void		freeform ( FORM * );
    108 
    109 #undef	err_hndlr
    110 
    111 #endif
    112