diff options
author | sos <sos@FreeBSD.org> | 1994-10-17 22:13:10 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 1994-10-17 22:13:10 +0000 |
commit | da6326c1ef05ce86622751e7ba7345797821621f (patch) | |
tree | 551a6be38fbbcea1e2a7a17f1a1337f1a1606fbb /sys/i386/ibcs2/ibcs2_ioctl.c | |
parent | 7a4daf58ca5ab3ffa3122d729329cb3b52f5ee02 (diff) | |
download | FreeBSD-src-da6326c1ef05ce86622751e7ba7345797821621f.zip FreeBSD-src-da6326c1ef05ce86622751e7ba7345797821621f.tar.gz |
Got a little closer with socksys emulation.
Diffstat (limited to 'sys/i386/ibcs2/ibcs2_ioctl.c')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_ioctl.c | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/sys/i386/ibcs2/ibcs2_ioctl.c b/sys/i386/ibcs2/ibcs2_ioctl.c index ecb9725..b994a5c 100644 --- a/sys/i386/ibcs2/ibcs2_ioctl.c +++ b/sys/i386/ibcs2/ibcs2_ioctl.c @@ -26,7 +26,7 @@ * (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: ibcs2_ioctl.c,v 1.13 1994/10/12 20:28:06 sos Exp $ + * $Id: ibcs2_ioctl.c,v 1.1 1994/10/14 08:53:02 sos Exp $ */ #include <i386/ibcs2/ibcs2.h> @@ -743,8 +743,29 @@ ibcs2_ioctl(struct proc *p, struct ibcs2_ioctl_args *args, int *retval) break; /* below is console ioctl's, we have syscons so no problem here */ + case 'a': + switch (num) { + case 0: + args->cmd = GIO_ATTR; + ioctl(p, args, retval); + IBCS2_MAGIC_RETURN(args); + } + break; + case 'c': switch (num) { + case 0: + args->cmd = GIO_COLOR; + ioctl(p, args, retval); + IBCS2_MAGIC_RETURN(args); + case 1: + args->cmd = CONS_CURRENT; + ioctl(p, args, retval); + IBCS2_MAGIC_RETURN(args); + case 2: + args->cmd = CONS_GET; + ioctl(p, args, retval); + IBCS2_MAGIC_RETURN(args); case 4: args->cmd = CONS_BLANKTIME; return ioctl(p, args, retval); @@ -843,8 +864,8 @@ ibcs2_ioctl(struct proc *p, struct ibcs2_ioctl_args *args, int *retval) break; case 'S': - args->cmd = _IO('S', num); - return ioctl(p, args, retval); + args->cmd = _IO('S', num); + return ioctl(p, args, retval); case 'v': switch (num) { @@ -869,6 +890,15 @@ ibcs2_ioctl(struct proc *p, struct ibcs2_ioctl_args *args, int *retval) } break; } + + switch (type & 0xff) { + case 'I': /* socksys 'I' type calls */ + return ioctl(p, args, retval); + case 'R': /* socksys 'R' type calls */ + return ioctl(p, args, retval); + case 'S': /* socksys 'S' type calls */ + return ioctl(p, args, retval); + } uprintf("IBCS2: 'ioctl' fd=%d, typ=%d(%c), num=%d not implemented\n", args->fd, type, type, num); return EINVAL; |