summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pcvt/vgaio
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1998-12-27 16:44:24 +0000
committerphk <phk@FreeBSD.org>1998-12-27 16:44:24 +0000
commit9d6fbd1091067a322e16f0d3ba3b4299055308e9 (patch)
treeca5b12361ccdb1532ab79494516ea689c9dba991 /usr.sbin/pcvt/vgaio
parentf67d0f0ce687c0177689ca8f7cb07101facd38b1 (diff)
downloadFreeBSD-src-9d6fbd1091067a322e16f0d3ba3b4299055308e9.zip
FreeBSD-src-9d6fbd1091067a322e16f0d3ba3b4299055308e9.tar.gz
follow up to:
Pre 3.0 branch cleanup casualty #4: pcvt
Diffstat (limited to 'usr.sbin/pcvt/vgaio')
-rw-r--r--usr.sbin/pcvt/vgaio/CAUTION28
-rw-r--r--usr.sbin/pcvt/vgaio/Makefile38
-rw-r--r--usr.sbin/pcvt/vgaio/lex.l82
-rw-r--r--usr.sbin/pcvt/vgaio/vgaio.8143
-rw-r--r--usr.sbin/pcvt/vgaio/vgaio.h60
-rw-r--r--usr.sbin/pcvt/vgaio/vgaio.y251
6 files changed, 0 insertions, 602 deletions
diff --git a/usr.sbin/pcvt/vgaio/CAUTION b/usr.sbin/pcvt/vgaio/CAUTION
deleted file mode 100644
index e1eba06..0000000
--- a/usr.sbin/pcvt/vgaio/CAUTION
+++ /dev/null
@@ -1,28 +0,0 @@
-CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
-CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
-CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
-
- THE USE OF THIS PROGRAM MAY DESTROY YOUR MONITOR !!!
- ====================================================
-
- IF YOU DON'T KNOW WHAT YOU ARE DOING, STAY AWAY FROM IT !!!
- ===========================================================
-
- 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 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 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
-CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
-CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION CAUTION
-
diff --git a/usr.sbin/pcvt/vgaio/Makefile b/usr.sbin/pcvt/vgaio/Makefile
deleted file mode 100644
index b49b7e8..0000000
--- a/usr.sbin/pcvt/vgaio/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# $Id$
-
-.if !exists(${.CURDIR}/../Makefile.inc)
-error:
- @echo
- @echo " You MUST link/copy"
- @echo
- @echo " ../Makefile.inc.NetBSD or ../Makefile.inc.FreeBSD"
- @echo
- @echo " to ../Makefile.inc before you can proceed !"
- @echo
-.else
-
-PROG= vgaio
-MAN8= vgaio.${MAN8EXT}
-
-SRCS= vgaio.y lex.l y.tab.h
-YACC= yacc
-
-#YFLAGS+= -yd # Bison
-#YFLAGS+= -v # verbose
-
-LFLAGS+= -I
-
-DPADD= ${LIBM} ${LIBY} ${LIBL}
-LDADD= -lm -ly -ll
-
-CFLAGS= -O2 # due to a gcc bug, it compiles only with -O2!
-CFLAGS+= -I${.OBJDIR} -I${.CURDIR}
-
-CLEANFILES+= y.output # comment file from bison
-
-install:
- @${ECHO} "vgaio is not installed automatically ...."
-
-.include <bsd.prog.mk>
-
-.endif
diff --git a/usr.sbin/pcvt/vgaio/lex.l b/usr.sbin/pcvt/vgaio/lex.l
deleted file mode 100644
index 5ff8622..0000000
--- a/usr.sbin/pcvt/vgaio/lex.l
+++ /dev/null
@@ -1,82 +0,0 @@
-%{
-/*
- * Copyright (c) 1994 Joerg Wunsch
- *
- * All rights reserved.
- *
- * This program is free software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Joerg Wunsch
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ident "$Header: /b/source/CVS/src/sys/arch/i386/isa/pcvt/Util/vgaio/lex.l,v 1.1 1994/03/29 02:47:20 mycroft Exp $"
-
-/*
- * $Log: lex.l,v $
- * Revision 1.1 1994/03/29 02:47:20 mycroft
- * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me.
- *
- * Revision 1.2 1994/01/08 17:42:58 j
- * cleanup
- * made multiple commands per line work
- * wrote man page
- *
- * Revision 1.3 21.12.1994 -hm
- * Added mi command for accessing the misc out register
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "vgaio.h"
-#include "y.tab.h"
-
-extern YYSTYPE yylval;
-
-%}
-
-D [0-9a-fA-F]
-
-%%
-
-cr|CR { return CR; }
-
-ar|AR { return AR; }
-
-gr|GR { return GR; }
-
-sr|SR { return SR; }
-
-mi|MI { return MI; }
-
-{D}({D}*) { sscanf(yytext, "%x", &yylval.num); return NUM; }
-
-[ \t] { /* ignore */ }
-
-\n { return NEWLINE; }
-
-. { return yytext[0]; }
diff --git a/usr.sbin/pcvt/vgaio/vgaio.8 b/usr.sbin/pcvt/vgaio/vgaio.8
deleted file mode 100644
index 1b350a6..0000000
--- a/usr.sbin/pcvt/vgaio/vgaio.8
+++ /dev/null
@@ -1,143 +0,0 @@
-.\"
-.\" Copyright (c) 1994 Joerg Wunsch
-.\"
-.\" All rights reserved.
-.\"
-.\" This program is free software.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by Joerg Wunsch
-.\" 4. The name of the developer may not be used to endorse or promote
-.\" products derived from this software without specific prior written
-.\" permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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
-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" $Id$
-.\" -hm updated 31.12.94
-.\"
-.Dd December 31, 1994
-.Dt VGAIO 8
-.Sh NAME
-.Nm vgaio
-.Nd perform input/output on a Video Graphics Array
-.Sh SYNOPSIS
-.Nm vgaio
-.Op Fl d
-.Sh DESCRIPTION
-.Ss Purpose
-.Nm Vgaio
-is used to perform register-level input/output on a Video Graphics Array.
-Since some of the sequences required to access those registers are very
-silly,
-.Nm vgaio
-cares of all the things necessary and allows the user to access the
-registers of several register groups with their symbolic names.
-
-.Ss Options
-.Bl -tag -width 10n -offset indent
-.It Fl d
-Turn on the grammar parser debugger.
-
-.El
-.Ss Command language
-The command language of
-.Nm
-constitutes of some very simple tokens and rules. Commands are executed
-line by line as they are entered. Each line may contain any number of
-semicolon-separated input/output commands.
-
-Symbolic register names look like:
-
-.D1 Ao Em reggroup Ac Ao Em regnumber Ac
-
-with
-.Aq Em regnumber
-being any hexadecimal number
-.Pq without a leading Em 0x ,
-and
-.Aq Em reggroup
-one of the strings
-.Dq Em ar ,
-.Dq Em cr ,
-.Dq Em gr ,
-.Dq Em mi ,
-or
-.Dq Em sr ,
-standing for the
-.Em Attribute controller ,
-.Em CRT controller ,
-.Em Graphics controller ,
-.Em Miscellaneous Output Register ,
-or
-.Em Timing sequencer ,
-respectively.
-
-An input instruction has the form
-
-.D1 Ao Em regname Ac ?
-
-and will cause
-.Nm
-to output a line like
-
-.Bd -ragged -offset indent
-.Ao Em regname Ac \& = 0x Ns
-.Aq Em number
-.Ed
-
-An output instruction looks like
-
-.Bd -ragged -offset indent
-.Ao Em regname Ac =
-.Aq Em number
-.Ed
-
-Spaces or Tabs between the
-.Aq Em reggroup ,
-the
-.Aq Em regnumber ,
-or any of the other tokens are ignored. They are not required anyway.
-
-The
-.Dq Em mi
-needs a single unused argument to satisfy the syntax :-) (-hm).
-
-
-.Ss Access control
-The caller must have uid 0 in order to gain the required access to
-the IO registers.
-
-.Sh HISTORY
-This program is considered
-.Dq hackware .
-It has been developed in order to simplify the process of developing other
-software that needs to program the Video Graphics Array.
-
-Remember, to use this program, your kernel has to be compiled with XSERVER
-being defined !
-
-.Sh AUTHORS
-The program has been contributed by
-.if n Joerg Wunsch,
-.if t J\(:org Wunsch,
-Dresden
-.Aq joerg_wunsch@uriah.sax.de .
diff --git a/usr.sbin/pcvt/vgaio/vgaio.h b/usr.sbin/pcvt/vgaio/vgaio.h
deleted file mode 100644
index e313f86..0000000
--- a/usr.sbin/pcvt/vgaio/vgaio.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 1994 Joerg Wunsch
- *
- * All rights reserved.
- *
- * This program is free software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Joerg Wunsch
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * $Header
- * The author may be reached unter <joerg_wunsch@uriah.sax.de>
- *
- * $Log: vgaio.h,v $
- * Revision 1.1 1994/03/29 02:47:25 mycroft
- * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me.
- *
- * Revision 1.2 1994/01/08 17:42:58 j
- * cleanup
- * made multiple commands per line work
- * wrote man page
- *
- *
- */
-
-/* common structure to hold the definition for a VGA register */
-
-#ifndef VGAIO_H
-#define VGAIO_H
-
-struct reg {
- int group, num;
-};
-
-#endif /* VGAIO_H */
diff --git a/usr.sbin/pcvt/vgaio/vgaio.y b/usr.sbin/pcvt/vgaio/vgaio.y
deleted file mode 100644
index 0e7dd79..0000000
--- a/usr.sbin/pcvt/vgaio/vgaio.y
+++ /dev/null
@@ -1,251 +0,0 @@
-%{
-/*
- * Copyright (c) 1994 Joerg Wunsch
- *
- * All rights reserved.
- *
- * This program is free software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Joerg Wunsch
- * 4. The name of the developer may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ident "$Header: /b/source/CVS/src/sys/arch/i386/isa/pcvt/Util/vgaio/vgaio.y,v 1.1 1994/03/29 02:47:27 mycroft Exp $"
-
-/*
- * $Log: vgaio.y,v $
- * Revision 1.1 1994/03/29 02:47:27 mycroft
- * pcvt 3.0, with some performance enhancements by Joerg Wunsch and me.
- *
- * Revision 1.2 1994/01/08 17:42:58 j
- * cleanup
- * made multiple commands per line work
- * wrote man page
- *
- * Revision 1.3 21.12.1994 -hm
- * Added mi command for accessing the misc out register
- * hex values shown as 2 fixed chars, added binary output
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/fcntl.h>
-#include <machine/cpufunc.h>
-#include <machine/pcvt_ioctl.h>
-
-#ifdef __NetBSD__
-#include <machine/pio.h>
-#endif
-
-#include "vgaio.h"
-
-void setreg(struct reg r, int val);
-void getreg(struct reg r);
-void yyerror(const char *msg);
-
-#define YYDEBUG 1
-
-unsigned short vgabase;
-
-%}
-
-%union {
- int num;
- struct reg reg;
-}
-
-%token MI GR CR SR AR NEWLINE
-%token <num> NUM
-
-%type <num> reggroup
-%type <reg> register
-
-%%
-
-interpret: lines ;
-
-lines: line
- | lines line
- ;
-
-line: statements NEWLINE
- | NEWLINE
- | error NEWLINE { fprintf(stderr, "bing!\n"); }
- ;
-
-statements: statement
- | statements ';' statement
- ;
-
-statement: register '?' { getreg($1); }
- | register '=' NUM { setreg($1, $3); }
- | /* lambda */
- ;
-
-register: reggroup NUM { $$.num = $2; $$.group = $1; }
- ;
-
-reggroup: GR { $$ = GR; }
- | CR { $$ = CR; }
- | SR { $$ = SR; }
- | AR { $$ = AR; }
- | MI { $$ = MI; }
- ;
-
-%%
-
-static struct {
- int id;
- const char *name;
-} regnames[] = {
- {GR, "gr"}, {CR, "cr"}, {SR, "sr"}, {AR, "ar"}, {MI, "mi"},
- {0, 0}
-};
-
-const char *getname(struct reg r) {
- int idx;
- for(idx = 0; regnames[idx].id; idx++)
- if(regnames[idx].id == r.group)
- return regnames[idx].name;
- return "??";
-}
-
-/*---------------------------------------------------------------------------*
- * return ptr to string of 1's and 0's for value
- *---------------------------------------------------------------------------*/
-char *
-bin_str(unsigned long val, int length)
-{
- static char buffer[80];
- int i = 0;
-
- if (length > 32)
- length = 32;
-
- val = val << (32 - length);
-
- while (length--)
- {
- if (val & 0x80000000)
- buffer[i++] = '1';
- else
- buffer[i++] = '0';
- if ((length % 4) == 0 && length)
- buffer[i++] = '.';
- val = val << 1;
- }
- return (buffer);
-}
-
-void getreg(struct reg r) {
- int val; /* FreeBSD gcc ONLY accepts an int !! */
-
- switch(r.group) {
- case GR:
- outb(0x3ce, r.num);
- val = inb(0x3cf);
- break;
-
- case AR:
- r.num &= 0x1f;
- (void)inb(vgabase + 0x0a);
- outb(0x3c0, r.num + 0x20);
- val = inb(0x3c1);
- break;
-
- case CR:
- outb(vgabase + 4, r.num);
- val = inb(vgabase + 5);
- break;
-
- case SR:
- outb(0x3c4, r.num);
- val = inb(0x3c5);
- break;
-
- case MI:
- val = inb(0x3cc);
- break;
- }
-
- printf("%s%02x = 0x%02x = %s (bin)\n", getname(r), r.num, val, bin_str(val,8));
-}
-
-void setreg(struct reg r, int val) {
- switch(r.group) {
- case GR:
- outb(0x3ce, r.num);
- outb(0x3cf, val);
- break;
-
- case AR:
- r.num &= 0x1f;
- (void)inb(vgabase + 0x0a);
- outb(0x3c0, r.num);
- outb(0x3c0, val);
- outb(0x3c0, r.num + 0x20);
- break;
-
- case CR:
- outb(vgabase + 4, r.num);
- outb(vgabase + 5, val);
- break;
-
- case SR:
- outb(0x3c4, r.num);
- outb(0x3c5, val);
- break;
-
- case MI:
- outb(0x3c2, val);
- break;
- }
-
- printf("%s%02x set to 0x%02x = %s (bin) now\n", getname(r), r.num, val, bin_str(val,8));
-}
-
-void yyerror(const char *msg) {
- fprintf(stderr, "yyerror: %s\n", msg);
-}
-
-int main(int argc, char **argv) {
- int fd;
-
- if(argc > 1) yydebug = 1;
-
- if((fd = open("/dev/console", O_RDONLY)) < 0)
- fd = 0;
-
- if(ioctl(fd, KDENABIO, 0) < 0) {
- perror("ioctl(KDENABIO)");
- return 1;
- }
- vgabase = (inb(0x3cc) & 1)? 0x3d0: 0x3b0;
- yyparse();
-
- (void)ioctl(fd, KDDISABIO, 0);
- return 0;
-}
OpenPOWER on IntegriCloud