/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ #ident "$Revision: 1.2 $" #include #include #include /* gsi plotting output routines */ # define DOWN 012 # define UP 013 # define LEFT 010 # define RIGHT 040 # define BEL 007 # define ACK 006 # define CR 015 # define FF 014 # define VERTRESP 48 # define HORZRESP 60. # define VERTRES 8. # define HORZRES 6. /* down is line feed, up is reverse line feed, left is backspace, right is space. 48 points per inch vertically, 60 horizontally */ int xnow, ynow; struct termio ITTY, PTTY; int OUTF; float HEIGHT = 6.0, WIDTH = 6.0, OFFSET = 0.0; int xscale, xoffset, yscale; float botx = 0., boty = 0., obotx = 0., oboty = 0.; float scalex = 1., scaley = 1.; void openpl (void) { void reset(); xnow = ynow = 0; OUTF = 1; printf("\r"); ioctl(OUTF, TCGETA, &ITTY); signal (SIGINT, reset); PTTY = ITTY; PTTY.c_oflag &= ~(ONLCR|OCRNL|ONOCR|ONLRET); PTTY.c_cflag |= CSTOPB; ioctl(OUTF, TCSETAW, &PTTY); /* initialize constants */ xscale = 4096./(HORZRESP * WIDTH); yscale = 4096 /(VERTRESP * HEIGHT); xoffset = OFFSET * HORZRESP; return; } void openvt(void) { openpl(); }