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 #pragma ident "%Z%%M% %I% %E% SMI" 32*7c478bd9Sstevel@tonic-gate 33*7c478bd9Sstevel@tonic-gate /* 34*7c478bd9Sstevel@tonic-gate * University Copyright- Copyright (c) 1982, 1986, 1988 35*7c478bd9Sstevel@tonic-gate * The Regents of the University of California 36*7c478bd9Sstevel@tonic-gate * All Rights Reserved 37*7c478bd9Sstevel@tonic-gate * 38*7c478bd9Sstevel@tonic-gate * University Acknowledgment- Portions of this document are derived from 39*7c478bd9Sstevel@tonic-gate * software developed by the University of California, Berkeley, and its 40*7c478bd9Sstevel@tonic-gate * contributors. 41*7c478bd9Sstevel@tonic-gate */ 42*7c478bd9Sstevel@tonic-gate 43*7c478bd9Sstevel@tonic-gate #include "tdef.h" 44*7c478bd9Sstevel@tonic-gate #ifdef NROFF 45*7c478bd9Sstevel@tonic-gate #include "tw.h" 46*7c478bd9Sstevel@tonic-gate #endif 47*7c478bd9Sstevel@tonic-gate #include "ext.h" 48*7c478bd9Sstevel@tonic-gate 49*7c478bd9Sstevel@tonic-gate struct s *frame, *stk, *ejl; 50*7c478bd9Sstevel@tonic-gate struct s *nxf; 51*7c478bd9Sstevel@tonic-gate 52*7c478bd9Sstevel@tonic-gate int pipeflg; 53*7c478bd9Sstevel@tonic-gate int hflg; /* used in nroff only */ 54*7c478bd9Sstevel@tonic-gate int eqflg; /* used in nroff only */ 55*7c478bd9Sstevel@tonic-gate 56*7c478bd9Sstevel@tonic-gate #ifndef NROFF 57*7c478bd9Sstevel@tonic-gate int xpts; 58*7c478bd9Sstevel@tonic-gate int ppts; 59*7c478bd9Sstevel@tonic-gate int pfont; 60*7c478bd9Sstevel@tonic-gate int mpts; 61*7c478bd9Sstevel@tonic-gate int mfont; 62*7c478bd9Sstevel@tonic-gate int cs; 63*7c478bd9Sstevel@tonic-gate int ccs; 64*7c478bd9Sstevel@tonic-gate int bd; 65*7c478bd9Sstevel@tonic-gate #endif 66*7c478bd9Sstevel@tonic-gate 67*7c478bd9Sstevel@tonic-gate int stdi; 68*7c478bd9Sstevel@tonic-gate int nofeed; 69*7c478bd9Sstevel@tonic-gate int quiet; 70*7c478bd9Sstevel@tonic-gate int stop; 71*7c478bd9Sstevel@tonic-gate char ibuf[IBUFSZ]; 72*7c478bd9Sstevel@tonic-gate char xbuf[IBUFSZ]; 73*7c478bd9Sstevel@tonic-gate char *ibufp; 74*7c478bd9Sstevel@tonic-gate char *xbufp; 75*7c478bd9Sstevel@tonic-gate char *eibuf; 76*7c478bd9Sstevel@tonic-gate char *xeibuf; 77*7c478bd9Sstevel@tonic-gate tchar pbbuf[NC]; /* pushback buffer for arguments, \n, etc. */ 78*7c478bd9Sstevel@tonic-gate tchar *pbp = pbbuf; /* next free slot in pbbuf */ 79*7c478bd9Sstevel@tonic-gate tchar *lastpbp = pbbuf; /* pbp in previous stack frame */ 80*7c478bd9Sstevel@tonic-gate int nx; 81*7c478bd9Sstevel@tonic-gate int mflg; 82*7c478bd9Sstevel@tonic-gate tchar ch = 0; 83*7c478bd9Sstevel@tonic-gate int ibf; 84*7c478bd9Sstevel@tonic-gate int ttyod; 85*7c478bd9Sstevel@tonic-gate int iflg; 86*7c478bd9Sstevel@tonic-gate char *enda; 87*7c478bd9Sstevel@tonic-gate int rargc; 88*7c478bd9Sstevel@tonic-gate char **argp; 89*7c478bd9Sstevel@tonic-gate int trtab[NTRTAB]; 90*7c478bd9Sstevel@tonic-gate int lgf; 91*7c478bd9Sstevel@tonic-gate int copyf; 92*7c478bd9Sstevel@tonic-gate filep ip; 93*7c478bd9Sstevel@tonic-gate int nlflg; 94*7c478bd9Sstevel@tonic-gate int donef; 95*7c478bd9Sstevel@tonic-gate int nflush; 96*7c478bd9Sstevel@tonic-gate int nfo; 97*7c478bd9Sstevel@tonic-gate int ifile; 98*7c478bd9Sstevel@tonic-gate int padc; 99*7c478bd9Sstevel@tonic-gate int raw; 100*7c478bd9Sstevel@tonic-gate int ifl[NSO]; 101*7c478bd9Sstevel@tonic-gate int ifi; 102*7c478bd9Sstevel@tonic-gate int flss; 103*7c478bd9Sstevel@tonic-gate int nonumb; 104*7c478bd9Sstevel@tonic-gate int trap; 105*7c478bd9Sstevel@tonic-gate int tflg; 106*7c478bd9Sstevel@tonic-gate int ejf; 107*7c478bd9Sstevel@tonic-gate int gflag; 108*7c478bd9Sstevel@tonic-gate int dilev; 109*7c478bd9Sstevel@tonic-gate filep offset; 110*7c478bd9Sstevel@tonic-gate int em; 111*7c478bd9Sstevel@tonic-gate int ds; 112*7c478bd9Sstevel@tonic-gate filep woff; 113*7c478bd9Sstevel@tonic-gate int app; 114*7c478bd9Sstevel@tonic-gate int ndone; 115*7c478bd9Sstevel@tonic-gate int lead; 116*7c478bd9Sstevel@tonic-gate int ralss; 117*7c478bd9Sstevel@tonic-gate filep nextb; 118*7c478bd9Sstevel@tonic-gate tchar nrbits; 119*7c478bd9Sstevel@tonic-gate int nform; 120*7c478bd9Sstevel@tonic-gate int oldmn; 121*7c478bd9Sstevel@tonic-gate int newmn; 122*7c478bd9Sstevel@tonic-gate int macerr; 123*7c478bd9Sstevel@tonic-gate filep apptr; 124*7c478bd9Sstevel@tonic-gate int diflg; 125*7c478bd9Sstevel@tonic-gate filep roff; 126*7c478bd9Sstevel@tonic-gate int wbfi; 127*7c478bd9Sstevel@tonic-gate int evi; 128*7c478bd9Sstevel@tonic-gate int vflag; 129*7c478bd9Sstevel@tonic-gate int noscale; 130*7c478bd9Sstevel@tonic-gate int po1; 131*7c478bd9Sstevel@tonic-gate int nlist[NTRAP]; 132*7c478bd9Sstevel@tonic-gate int mlist[NTRAP]; 133*7c478bd9Sstevel@tonic-gate int evlist[EVLSZ]; 134*7c478bd9Sstevel@tonic-gate int ev; 135*7c478bd9Sstevel@tonic-gate int tty; 136*7c478bd9Sstevel@tonic-gate int sfont = FT; /* appears to be "standard" font; used by .ul */ 137*7c478bd9Sstevel@tonic-gate int sv; 138*7c478bd9Sstevel@tonic-gate int esc; 139*7c478bd9Sstevel@tonic-gate int widthp; 140*7c478bd9Sstevel@tonic-gate int xfont; 141*7c478bd9Sstevel@tonic-gate int setwdf; 142*7c478bd9Sstevel@tonic-gate int over; 143*7c478bd9Sstevel@tonic-gate int nhyp; 144*7c478bd9Sstevel@tonic-gate tchar **hyp; 145*7c478bd9Sstevel@tonic-gate tchar *olinep; 146*7c478bd9Sstevel@tonic-gate int dotT; 147*7c478bd9Sstevel@tonic-gate char *unlkp; 148*7c478bd9Sstevel@tonic-gate int no_out; 149*7c478bd9Sstevel@tonic-gate struct widcache widcache[NWIDCACHE]; 150*7c478bd9Sstevel@tonic-gate struct d d[NDI]; 151*7c478bd9Sstevel@tonic-gate struct d *dip; 152