From da4e71efba2a070b42d4712c89e62b30be8c918c Mon Sep 17 00:00:00 2001 From: joerg Date: Sat, 8 Apr 1995 16:04:22 +0000 Subject: Upgrade pcvt to 3.20 b24. --- usr.sbin/pcvt/ispcvt/ispcvt.8 | 13 ++- usr.sbin/pcvt/ispcvt/ispcvt.c | 210 +++++++++++++++++++++++++----------------- 2 files changed, 134 insertions(+), 89 deletions(-) (limited to 'usr.sbin/pcvt/ispcvt') diff --git a/usr.sbin/pcvt/ispcvt/ispcvt.8 b/usr.sbin/pcvt/ispcvt/ispcvt.8 index 35cdda4..9751aff 100644 --- a/usr.sbin/pcvt/ispcvt/ispcvt.8 +++ b/usr.sbin/pcvt/ispcvt/ispcvt.8 @@ -1,4 +1,4 @@ -.\" Copyright (c) 1992,1993,1994 Hellmuth Michaelis +.\" Copyright (c) 1992, 1995 Hellmuth Michaelis .\" .\" All rights reserved. .\" @@ -27,17 +27,18 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @(#)ispcvt.1, 3.00, Last Edit-Date: [Mon Jan 10 21:19:00 1994] +.\" @(#)ispcvt.1, 3.20, Last Edit-Date: [Tue Apr 4 12:35:54 1995] .\" -.Dd December 30, 1993 +.Dd April 4, 1995 .Dt ISPCVT 1 .Sh NAME .Nm ispcvt .Nd verify if current video driver is pcvt driver .Sh SYNOPSIS .Nm ispcvt -.Op Fl v .Op Fl c +.Op Fl d Ar device +.Op Fl v .Sh DESCRIPTION The .Nm ispcvt @@ -53,6 +54,8 @@ compiled with. .Pp The options are as follows: .Bl -tag -width Ds +.It Fl d +Specifies a device for which the check is done. .It Fl v Specifies being verbose. On success the name and revision is reported, on failure which comparison failed. @@ -71,7 +74,7 @@ option gives a verbose listing of the compile-time options. .It Sy 0 driver is pcvt and major and minor numbers match .It Sy 1 -ioctl system call failed +open or ioctl system call failed .It Sy 2 driver name mismatch .It Sy 3 diff --git a/usr.sbin/pcvt/ispcvt/ispcvt.c b/usr.sbin/pcvt/ispcvt/ispcvt.c index 26c5e7e..fe6a1a9 100644 --- a/usr.sbin/pcvt/ispcvt/ispcvt.c +++ b/usr.sbin/pcvt/ispcvt/ispcvt.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1992,1993,1994 Hellmuth Michaelis + * Copyright (c) 1992, 1995 Hellmuth Michaelis * * All rights reserved. * @@ -17,10 +17,10 @@ * 4. The name authors may not be used to endorse or promote products * derived from this software without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY @@ -31,7 +31,7 @@ */ static char *id = - "@(#)ispcvt.c, 3.20, Last Edit-Date: [Sun Feb 19 13:17:57 1995]"; + "@(#)ispcvt.c, 3.20, Last Edit-Date: [Wed Apr 5 17:53:28 1995]"; /*---------------------------------------------------------------------------* * @@ -45,12 +45,19 @@ static char *id = * -hm new CONF_ values for 3.10 * -hm new CONF_ values for 3.20 * -hm removed PCVT_FAKE_SYSCONS10 + * -hm added PCVT_PORTIO_DELAY + * -hm removed PCVT_386BSD + * -hm add -d option to specify a device + * -hm PCVT_XSERVER -> XSERVER * *---------------------------------------------------------------------------*/ #include +#include #include +#define DEFAULTFD 0 + main(argc,argv) int argc; char *argv[]; @@ -65,8 +72,11 @@ char *argv[]; char *p; int verbose = 0; int config = 0; + int dflag = 0; + int fd; + char *device; - while( (c = getopt(argc, argv, "vc")) != EOF) + while( (c = getopt(argc, argv, "vcd:")) != EOF) { switch(c) { @@ -78,6 +88,11 @@ char *argv[]; config = 1; break; + case 'd': + device = optarg; + dflag = 1; + break; + case '?': default: usage(); @@ -85,7 +100,26 @@ char *argv[]; } } - if(ioctl(0, VGAPCVTID, &pcvtid) == -1) + if(dflag) + { + if((fd = open(device, O_RDWR)) == -1) + { + if(verbose) + { + char buffer[80]; + strcpy(buffer,"ERROR opening "); + strcat(buffer,device); + perror(buffer); + } + exit(1); + } + } + else + { + fd = DEFAULTFD; + } + + if(ioctl(fd, VGAPCVTID, &pcvtid) == -1) { if(verbose) perror("ispcvt - ioctl VGAPCVTID failed, error"); @@ -125,22 +159,17 @@ char *argv[]; if(config == 0) exit(0); - if(ioctl(0, VGAPCVTINFO, &pcvtinfo) == -1) + if(ioctl(fd, VGAPCVTINFO, &pcvtinfo) == -1) { if(verbose) perror("ispcvt - ioctl VGAPCVTINFO failed, error"); exit(1); } - if(verbose) { switch(pcvtinfo.opsys) { - case CONF_386BSD: - p = "PCVT_386BSD"; - break; - case CONF_NETBSD: p = "PCVT_NETBSD"; break; @@ -166,83 +195,85 @@ char *argv[]; /* config booleans */ - fprintf(stderr,"PCVT_VT220KEYB = %s\t\t", - ((u_int)pcvtinfo.compile_opts & (u_int)CONF_VT220KEYB) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_SCREENSAVER = %s\n", - (pcvtinfo.compile_opts & CONF_SCREENSAVER) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_PRETTYSCRNS = %s\t\t", - (pcvtinfo.compile_opts & CONF_PRETTYSCRNS) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_CTRL_ALT_DEL = %s\n", - (pcvtinfo.compile_opts & CONF_CTRL_ALT_DEL) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_USEKBDSEC = %s\t\t", - (pcvtinfo.compile_opts & CONF_USEKBDSEC) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_24LINESDEF = %s\n", + fprintf(stderr,"PCVT_132GENERIC = %s", + (pcvtinfo.compile_opts & CONF_132GENERIC) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_24LINESDEF = %s", (pcvtinfo.compile_opts & CONF_24LINESDEF) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_EMU_MOUSE = %s\t\t", + next(); + fprintf(stderr,"PCVT_BACKUP_FONTS = %s", + (pcvtinfo.compile_opts & CONF_BACKUP_FONTS) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_CTRL_ALT_DEL = %s", + (pcvtinfo.compile_opts & CONF_CTRL_ALT_DEL) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_EMU_MOUSE = %s", (pcvtinfo.compile_opts & CONF_EMU_MOUSE) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_SHOWKEYS = %s\n", - (pcvtinfo.compile_opts & CONF_SHOWKEYS) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_KEYBDID = %s\t\t", + next(); + fprintf(stderr,"PCVT_INHIBIT_NUMLOCK = %s", + (pcvtinfo.compile_opts & CONF_INHIBIT_NUMLOCK) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_KEYBDID = %s", (pcvtinfo.compile_opts & CONF_KEYBDID) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_SIGWINCH = %s\n", - (pcvtinfo.compile_opts & CONF_SIGWINCH) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_NULLCHARS = %s\t\t", + next(); + fprintf(stderr,"PCVT_KBD_FIFO = %s", + (pcvtinfo.compile_opts & CONF_KBD_FIFO) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_META_ESC = %s", + (pcvtinfo.compile_opts & CONF_META_ESC) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_NOFASTSCROLL = %s", + (pcvtinfo.compile_opts & CONF_NOFASTSCROLL) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_NO_LED_UPDATE = %s", + (pcvtinfo.compile_opts & CONF_NO_LED_UPDATE) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_NULLCHARS = %s", (pcvtinfo.compile_opts & CONF_NULLCHARS) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_BACKUP_FONTS = %s\n", - (pcvtinfo.compile_opts & CONF_BACKUP_FONTS) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_SW0CNOUTP = %s\t\t", - (pcvtinfo.compile_opts & CONF_SW0CNOUTP) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_NEEDPG = %s\n", - (pcvtinfo.compile_opts & CONF_NEEDPG) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_SETCOLOR = %s\t\t", - (pcvtinfo.compile_opts & CONF_SETCOLOR) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_132GENERIC = %s\n", - (pcvtinfo.compile_opts & CONF_132GENERIC) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_PALFLICKER = %s\t\t", + next(); + fprintf(stderr,"PCVT_PALFLICKER = %s", (pcvtinfo.compile_opts & CONF_PALFLICKER) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_WAITRETRACE = %s\n", + next(); + fprintf(stderr,"PCVT_PORTIO_DELAY = %s", + (pcvtinfo.compile_opts & CONF_PORTIO_DELAY) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_PRETTYSCRNS = %s", + (pcvtinfo.compile_opts & CONF_PRETTYSCRNS) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_SCREENSAVER = %s", + (pcvtinfo.compile_opts & CONF_SCREENSAVER) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_SETCOLOR = %s", + (pcvtinfo.compile_opts & CONF_SETCOLOR) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_SHOWKEYS = %s", + (pcvtinfo.compile_opts & CONF_SHOWKEYS) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_SIGWINCH = %s", + (pcvtinfo.compile_opts & CONF_SIGWINCH) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_SLOW_INTERRUPT = %s", + (pcvtinfo.compile_opts & CONF_SLOW_INTERRUPT) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_SW0CNOUTP = %s", + (pcvtinfo.compile_opts & CONF_SW0CNOUTP) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_USEKBDSEC = %s", + (pcvtinfo.compile_opts & CONF_USEKBDSEC) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_USL_VT_COMPAT = %s", + (pcvtinfo.compile_opts & CONF_USL_VT_COMPAT) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_VT220KEYB = %s", + ((u_int)pcvtinfo.compile_opts & (u_int)CONF_VT220KEYB) ? "ON" : "OFF"); + next(); + fprintf(stderr,"PCVT_WAITRETRACE = %s", (pcvtinfo.compile_opts & CONF_WAITRETRACE) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_XSERVER = %s\t\t", + next(); + fprintf(stderr,"XSERVER = %s", (pcvtinfo.compile_opts & CONF_XSERVER) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_USL_VT_COMPAT = %s\n", - (pcvtinfo.compile_opts & CONF_USL_VT_COMPAT) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_INHIBIT_NUMLOCK = %s\t\t", - (pcvtinfo.compile_opts & CONF_INHIBIT_NUMLOCK) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_META_ESC = %s\n", - (pcvtinfo.compile_opts & CONF_META_ESC) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_NOFASTSCROLL = %s\t\t", - (pcvtinfo.compile_opts & CONF_NOFASTSCROLL) ? "ON" : "OFF"); - fprintf(stderr,"PCVT_SLOW_INTERRUPT = %s\n", - (pcvtinfo.compile_opts & CONF_SLOW_INTERRUPT) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_KBD_FIFO = %s\t\t", - (pcvtinfo.compile_opts & CONF_KBD_FIFO) ? "ON" : "OFF"); - - fprintf(stderr,"PCVT_NO_LED_UPDATE = %s\n\n", - (pcvtinfo.compile_opts & CONF_NO_LED_UPDATE) ? "ON" : "OFF"); + fprintf(stderr,"\n\n"); } else /* !verbose */ { @@ -258,9 +289,20 @@ char *argv[]; usage() { fprintf(stderr,"\nispcvt - verify current video driver is the pcvt-driver\n"); - fprintf(stderr,"usage: ispcvt [-v] [-c]\n"); - fprintf(stderr," -v be verbose\n"); - fprintf(stderr," -c print compile time configuration\n\n"); + fprintf(stderr," usage: ispcvt [-v] [-c] [-d device]\n"); + fprintf(stderr,"options: -v be verbose\n"); + fprintf(stderr," -c print compile time configuration\n"); + fprintf(stderr," -d use devicefile for verification\n\n"); exit(5); } +next() +{ + static int i = 0; + + fprintf(stderr, "%s", (i == 0) ? "\t\t" : "\n"); + + i = ~i; +} + +/* EOF */ -- cgit v1.1