| /* | |
| * linux/fs/ioctl.c | |
| * | |
| * (C) 1991 Linus Torvalds | |
| */ | |
| #include <linux/string.h> | |
| #include <errno.h> | |
| #include <sys/stat.h> | |
| #include <linux/sched.h> | |
| int sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) | |
| { | |
| struct file * filp; | |
| if (fd >= NR_OPEN || !(filp = current->filp[fd])) | |
| return -EBADF; | |
| if (filp->f_op && filp->f_op->ioctl) | |
| return filp->f_op->ioctl(filp->f_inode, filp, cmd,arg); | |
| return -EINVAL; | |
| } |