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