Update of /cvsroot/linuxconsole/ruby/linux/arch/sparc64/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv4512/linux/arch/sparc64/kernel
Added Files:
ioctl32.c
Log Message:
Alots of fixes across many platforms.
--- NEW FILE: ioctl32.c ---
/* $Id: ioctl32.c,v 1.1 2002/03/15 18:28:12 jsimmons Exp $
* ioctl32.c: Conversion between 32bit and 64bit native ioctls.
*
* Copyright (C) 1997-2000 Jakub Jelinek (ja...@re...)
* Copyright (C) 1998 Eddie C. Dost (ec...@sk...)
*
* These routines maintain argument size conversion between 32bit and 64bit
* ioctls.
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/ioctl.h>
#include <linux/if.h>
#include <linux/slab.h>
[...4851 lines suppressed...]
while (t && t->cmd != cmd)
t = (struct ioctl_trans *)(long)t->next;
if (t) {
handler = (void *)(long)t->handler;
error = handler(fd, cmd, arg, filp);
} else {
static int count = 0;
if (++count <= 20)
printk("sys32_ioctl(%s:%d): Unknown cmd fd(%d) "
"cmd(%08x) arg(%08x)\n",
current->comm, current->pid,
(int)fd, (unsigned int)cmd, (unsigned int)arg);
error = -EINVAL;
}
out:
fput(filp);
out2:
return error;
}
|