diff options
Diffstat (limited to 'sys/compat/linux/linux_ioctl.c')
-rw-r--r-- | sys/compat/linux/linux_ioctl.c | 55 |
1 files changed, 54 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c index aa9e844..dfe001d 100644 --- a/sys/compat/linux/linux_ioctl.c +++ b/sys/compat/linux/linux_ioctl.c @@ -25,7 +25,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: linux_ioctl.c,v 1.21 1997/11/06 19:28:55 phk Exp $ + * $Id: linux_ioctl.c,v 1.22 1997/11/17 04:00:32 ahasty Exp $ */ #include <sys/param.h> @@ -44,6 +44,7 @@ #include <sys/sockio.h> #include <machine/soundcard.h> +#include <machine/console.h> #include <i386/linux/linux.h> #include <i386/linux/linux_proto.h> @@ -836,6 +837,58 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args) } return ioctl(p, (struct ioctl_args *)args); + case LINUX_VT_OPENQRY: + + args->cmd = VT_OPENQRY; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_VT_GETMODE: + + args->cmd = VT_GETMODE; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_VT_SETMODE: + + args->cmd = VT_SETMODE; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_VT_GETSTATE: + + args->cmd = VT_GETACTIVE; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_VT_ACTIVATE: + + args->cmd = VT_ACTIVATE; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_VT_WAITACTIVE: + + args->cmd = VT_WAITACTIVE; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_KDGKBMODE: + + args->cmd = KDGKBMODE; + return ioctl(p, (struct ioctl_args *)args); + + case LINUX_KDSKBMODE: + { + int kbdmode; + switch (args->arg) { + case LINUX_KBD_RAW: + kbdmode = K_RAW; + return (*func)(fp, KDSKBMODE, (caddr_t)&kbdmode, p); + case LINUX_KBD_XLATE: + kbdmode = K_XLATE; + return (*func)(fp, KDSKBMODE , (caddr_t)&kbdmode, p); + case LINUX_KBD_MEDIUMRAW: + kbdmode = K_RAW; + return (*func)(fp, KDSKBMODE , (caddr_t)&kbdmode, p); + default: + return EINVAL; + } + } } uprintf("LINUX: 'ioctl' fd=%d, typ=0x%x(%c), num=0x%x not implemented\n", args->fd, (args->cmd&0xffff00)>>8, |