|
|
1.1 ! root 1: .TH VA 4 ! 2: .UC 4 ! 3: .SH NAME ! 4: va \- Benson-Varian interface ! 5: .SH SYNOPSIS ! 6: .B #include <sys/vcmd.h> ! 7: .SH DESCRIPTION ! 8: The Benson-Varian printer/plotter in normally used with the programs ! 9: .IR vpr (1), ! 10: .IR vprint (1) ! 11: or ! 12: .IR vtroff (1). ! 13: This description is designed for those who wish to drive the Benson-Varian ! 14: directly. ! 15: .PP ! 16: The Benson-Varian at Berkeley uses 11\*(rq by 8\*(rq fan-fold paper. ! 17: It will print 132 characters per line in print mode ! 18: and 2112 dots per line in plot mode. ! 19: .PP ! 20: In print mode, the Benson-Varian uses a modified ASCII character set. ! 21: Most control characters print various non-ASCII graphics such as daggers, ! 22: sigmas, copyright symbols, etc. ! 23: Only LF and FF are used as format effectors. LF acts as a newline, ! 24: advancing to the beginning of the next line, and FF advances to the top of ! 25: the next page. ! 26: .PP ! 27: In plot mode, the Benson-Varian prints one raster line at a time. ! 28: An entire raster line of bits (2112 bits = 264 bytes) is sent, and ! 29: then the Benson-Varian advances to the next raster line. ! 30: .PP ! 31: .B Note: ! 32: The Benson-Varian must be sent an even number of bytes. ! 33: If an odd number is sent, the last byte will be lost. ! 34: Nulls can be used in print mode to pad to an even number of bytes. ! 35: .PP ! 36: To use the Benson-Varian yourself, you must realize that you cannot open the ! 37: device, ! 38: .I /dev/va0 ! 39: if there is a daemon active. ! 40: You can see if there is a daemon active by doing a ! 41: .IR ps (1), ! 42: or by looking in the directory ! 43: .I /usr/spool/vad. ! 44: If there is a file ! 45: .I lock ! 46: there, then there is probably a daemon ! 47: .IR /usr/lib/vad ! 48: running. ! 49: If not, you should remove the ! 50: .I lock. ! 51: .PP ! 52: In any case, when your program tries to open the device ! 53: .I /dev/va0 ! 54: you may get one of two errors. ! 55: The first of these ! 56: ENXIO ! 57: indicates that the Benson-Varian is already in use. ! 58: Your program can then ! 59: .IR sleep (2) ! 60: and try again in a while, or give up. ! 61: The second is ! 62: EIO ! 63: and indicates that the Benson-Varian is offline. ! 64: .PP ! 65: To set the Benson-Varian into plot mode you can use the following ! 66: .IR ioctl (2) ! 67: call ! 68: .IP ! 69: ioctl(fileno(va), VSETSTATE, plotmd); ! 70: .PP ! 71: where ! 72: .B plotmd ! 73: is defined to be ! 74: .IP ! 75: \fBint\fR plotmd[] = { VPLOT, 0, 0 }; ! 76: .PP ! 77: and ! 78: .I va ! 79: is the result of a call to ! 80: .I fopen ! 81: on stdio. ! 82: When you finish using the Benson-Varian in plot mode you should advance to ! 83: a new page ! 84: by sending it a FF after putting it back into print mode, i.e. by ! 85: .sp .1i ! 86: 'nf ! 87: \fBint\fR prtmd[] = { VPRINT, 0, 0 }; ! 88: \&... ! 89: fflush(va); ! 90: ioctl(fileno(va), VSETSTATE, prtmd); ! 91: write(fileno(va), "\ef\e0", 2); ! 92: .fi ! 93: .PP ! 94: .IR N.B. : ! 95: If you use the standard I/O library with the Benson-Varian you ! 96: .B must ! 97: do ! 98: .IP ! 99: setbuf(vp, vpbuf); ! 100: .PP ! 101: where ! 102: .I vpbuf ! 103: is declared ! 104: .IP ! 105: \fBchar\fR vpbuf[BUFSIZ]; ! 106: .PP ! 107: otherwise the standard I/O library, thinking that the Benson-Varian ! 108: is a terminal (since it is a character special file) will not adequately buffer ! 109: the data you are sending to the Benson-Varian. ! 110: This will cause it to run ! 111: .B extremely ! 112: slowly and tends to grind the system to a halt. ! 113: .SH FILES ! 114: /dev/va0 ! 115: .br ! 116: /usr/include/sys/vcmd.h ! 117: .SH SEE ALSO ! 118: vfont(5), vpr(1), vtroff(1), vp(4) ! 119: .SH BUGS ! 120: The 1's (one's) and l's (lower-case el's) in the Benson-Varian's ! 121: standard character set look very similar; caution is advised.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.