1*0Sstevel@tonic-gate /* 2*0Sstevel@tonic-gate * CDDL HEADER START 3*0Sstevel@tonic-gate * 4*0Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*0Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*0Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*0Sstevel@tonic-gate * with the License. 8*0Sstevel@tonic-gate * 9*0Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*0Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*0Sstevel@tonic-gate * See the License for the specific language governing permissions 12*0Sstevel@tonic-gate * and limitations under the License. 13*0Sstevel@tonic-gate * 14*0Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*0Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*0Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*0Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*0Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*0Sstevel@tonic-gate * 20*0Sstevel@tonic-gate * CDDL HEADER END 21*0Sstevel@tonic-gate */ 22*0Sstevel@tonic-gate /* 23*0Sstevel@tonic-gate * Copyright 1989 Sun Microsystems, Inc. All rights reserved. 24*0Sstevel@tonic-gate * Use is subject to license terms. 25*0Sstevel@tonic-gate */ 26*0Sstevel@tonic-gate 27*0Sstevel@tonic-gate /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 28*0Sstevel@tonic-gate /* All Rights Reserved */ 29*0Sstevel@tonic-gate 30*0Sstevel@tonic-gate 31*0Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 32*0Sstevel@tonic-gate 33*0Sstevel@tonic-gate /* 34*0Sstevel@tonic-gate * University Copyright- Copyright (c) 1982, 1986, 1988 35*0Sstevel@tonic-gate * The Regents of the University of California 36*0Sstevel@tonic-gate * All Rights Reserved 37*0Sstevel@tonic-gate * 38*0Sstevel@tonic-gate * University Acknowledgment- Portions of this document are derived from 39*0Sstevel@tonic-gate * software developed by the University of California, Berkeley, and its 40*0Sstevel@tonic-gate * contributors. 41*0Sstevel@tonic-gate */ 42*0Sstevel@tonic-gate 43*0Sstevel@tonic-gate #include "tdef.h" 44*0Sstevel@tonic-gate #ifdef NROFF 45*0Sstevel@tonic-gate #include "tw.h" 46*0Sstevel@tonic-gate #endif 47*0Sstevel@tonic-gate #include "ext.h" 48*0Sstevel@tonic-gate 49*0Sstevel@tonic-gate struct s *frame, *stk, *ejl; 50*0Sstevel@tonic-gate struct s *nxf; 51*0Sstevel@tonic-gate 52*0Sstevel@tonic-gate int pipeflg; 53*0Sstevel@tonic-gate int hflg; /* used in nroff only */ 54*0Sstevel@tonic-gate int eqflg; /* used in nroff only */ 55*0Sstevel@tonic-gate 56*0Sstevel@tonic-gate #ifndef NROFF 57*0Sstevel@tonic-gate int xpts; 58*0Sstevel@tonic-gate int ppts; 59*0Sstevel@tonic-gate int pfont; 60*0Sstevel@tonic-gate int mpts; 61*0Sstevel@tonic-gate int mfont; 62*0Sstevel@tonic-gate int cs; 63*0Sstevel@tonic-gate int ccs; 64*0Sstevel@tonic-gate int bd; 65*0Sstevel@tonic-gate #endif 66*0Sstevel@tonic-gate 67*0Sstevel@tonic-gate int stdi; 68*0Sstevel@tonic-gate int nofeed; 69*0Sstevel@tonic-gate int quiet; 70*0Sstevel@tonic-gate int stop; 71*0Sstevel@tonic-gate char ibuf[IBUFSZ]; 72*0Sstevel@tonic-gate char xbuf[IBUFSZ]; 73*0Sstevel@tonic-gate char *ibufp; 74*0Sstevel@tonic-gate char *xbufp; 75*0Sstevel@tonic-gate char *eibuf; 76*0Sstevel@tonic-gate char *xeibuf; 77*0Sstevel@tonic-gate tchar pbbuf[NC]; /* pushback buffer for arguments, \n, etc. */ 78*0Sstevel@tonic-gate tchar *pbp = pbbuf; /* next free slot in pbbuf */ 79*0Sstevel@tonic-gate tchar *lastpbp = pbbuf; /* pbp in previous stack frame */ 80*0Sstevel@tonic-gate int nx; 81*0Sstevel@tonic-gate int mflg; 82*0Sstevel@tonic-gate tchar ch = 0; 83*0Sstevel@tonic-gate int ibf; 84*0Sstevel@tonic-gate int ttyod; 85*0Sstevel@tonic-gate int iflg; 86*0Sstevel@tonic-gate char *enda; 87*0Sstevel@tonic-gate int rargc; 88*0Sstevel@tonic-gate char **argp; 89*0Sstevel@tonic-gate int trtab[NTRTAB]; 90*0Sstevel@tonic-gate int lgf; 91*0Sstevel@tonic-gate int copyf; 92*0Sstevel@tonic-gate filep ip; 93*0Sstevel@tonic-gate int nlflg; 94*0Sstevel@tonic-gate int donef; 95*0Sstevel@tonic-gate int nflush; 96*0Sstevel@tonic-gate int nfo; 97*0Sstevel@tonic-gate int ifile; 98*0Sstevel@tonic-gate int padc; 99*0Sstevel@tonic-gate int raw; 100*0Sstevel@tonic-gate int ifl[NSO]; 101*0Sstevel@tonic-gate int ifi; 102*0Sstevel@tonic-gate int flss; 103*0Sstevel@tonic-gate int nonumb; 104*0Sstevel@tonic-gate int trap; 105*0Sstevel@tonic-gate int tflg; 106*0Sstevel@tonic-gate int ejf; 107*0Sstevel@tonic-gate int gflag; 108*0Sstevel@tonic-gate int dilev; 109*0Sstevel@tonic-gate filep offset; 110*0Sstevel@tonic-gate int em; 111*0Sstevel@tonic-gate int ds; 112*0Sstevel@tonic-gate filep woff; 113*0Sstevel@tonic-gate int app; 114*0Sstevel@tonic-gate int ndone; 115*0Sstevel@tonic-gate int lead; 116*0Sstevel@tonic-gate int ralss; 117*0Sstevel@tonic-gate filep nextb; 118*0Sstevel@tonic-gate tchar nrbits; 119*0Sstevel@tonic-gate int nform; 120*0Sstevel@tonic-gate int oldmn; 121*0Sstevel@tonic-gate int newmn; 122*0Sstevel@tonic-gate int macerr; 123*0Sstevel@tonic-gate filep apptr; 124*0Sstevel@tonic-gate int diflg; 125*0Sstevel@tonic-gate filep roff; 126*0Sstevel@tonic-gate int wbfi; 127*0Sstevel@tonic-gate int evi; 128*0Sstevel@tonic-gate int vflag; 129*0Sstevel@tonic-gate int noscale; 130*0Sstevel@tonic-gate int po1; 131*0Sstevel@tonic-gate int nlist[NTRAP]; 132*0Sstevel@tonic-gate int mlist[NTRAP]; 133*0Sstevel@tonic-gate int evlist[EVLSZ]; 134*0Sstevel@tonic-gate int ev; 135*0Sstevel@tonic-gate int tty; 136*0Sstevel@tonic-gate int sfont = FT; /* appears to be "standard" font; used by .ul */ 137*0Sstevel@tonic-gate int sv; 138*0Sstevel@tonic-gate int esc; 139*0Sstevel@tonic-gate int widthp; 140*0Sstevel@tonic-gate int xfont; 141*0Sstevel@tonic-gate int setwdf; 142*0Sstevel@tonic-gate int over; 143*0Sstevel@tonic-gate int nhyp; 144*0Sstevel@tonic-gate tchar **hyp; 145*0Sstevel@tonic-gate tchar *olinep; 146*0Sstevel@tonic-gate int dotT; 147*0Sstevel@tonic-gate char *unlkp; 148*0Sstevel@tonic-gate int no_out; 149*0Sstevel@tonic-gate struct widcache widcache[NWIDCACHE]; 150*0Sstevel@tonic-gate struct d d[NDI]; 151*0Sstevel@tonic-gate struct d *dip; 152