mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00:00
tty: add compat_ioctl
Add compat_ioctl method for tty code to allow processing of 32 bit ioctl calls on 64 bit systems by tty core, tty drivers, and line disciplines. Based on patch by Arnd Bergmann: http://www.uwsg.iu.edu/hypermail/linux/kernel/0511.0/1732.html [akpm@linux-foundation.org: make things static] Signed-off-by: Paul Fulghum <paulkf@microgate.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
108f39a1b3
commit
e10cc1df1d
4 changed files with 69 additions and 19 deletions
|
@ -52,6 +52,11 @@
|
|||
* This routine allows the tty driver to implement
|
||||
* device-specific ioctl's. If the ioctl number passed in cmd
|
||||
* is not recognized by the driver, it should return ENOIOCTLCMD.
|
||||
*
|
||||
* long (*compat_ioctl)(struct tty_struct *tty, struct file * file,
|
||||
* unsigned int cmd, unsigned long arg);
|
||||
*
|
||||
* implement ioctl processing for 32 bit process on 64 bit system
|
||||
*
|
||||
* void (*set_termios)(struct tty_struct *tty, struct ktermios * old);
|
||||
*
|
||||
|
@ -132,6 +137,8 @@ struct tty_operations {
|
|||
int (*chars_in_buffer)(struct tty_struct *tty);
|
||||
int (*ioctl)(struct tty_struct *tty, struct file * file,
|
||||
unsigned int cmd, unsigned long arg);
|
||||
long (*compat_ioctl)(struct tty_struct *tty, struct file * file,
|
||||
unsigned int cmd, unsigned long arg);
|
||||
void (*set_termios)(struct tty_struct *tty, struct ktermios * old);
|
||||
void (*throttle)(struct tty_struct * tty);
|
||||
void (*unthrottle)(struct tty_struct * tty);
|
||||
|
@ -193,6 +200,8 @@ struct tty_driver {
|
|||
int (*chars_in_buffer)(struct tty_struct *tty);
|
||||
int (*ioctl)(struct tty_struct *tty, struct file * file,
|
||||
unsigned int cmd, unsigned long arg);
|
||||
long (*compat_ioctl)(struct tty_struct *tty, struct file * file,
|
||||
unsigned int cmd, unsigned long arg);
|
||||
void (*set_termios)(struct tty_struct *tty, struct ktermios * old);
|
||||
void (*throttle)(struct tty_struct * tty);
|
||||
void (*unthrottle)(struct tty_struct * tty);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue