12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef _LINUX_TERMIOS_CONV_H
- #define _LINUX_TERMIOS_CONV_H
- #include <linux/uaccess.h>
- #include <asm/termios.h>
- /* intr=^C quit=^\ erase=del kill=^U
- eof=^D vtime=\0 vmin=\1 sxtc=\0
- start=^Q stop=^S susp=^Z eol=\0
- reprint=^R discard=^O werase=^W lnext=^V
- eol2=\0
- */
- #ifdef VDSUSP
- #define INIT_C_CC_VDSUSP_EXTRA [VDSUSP] = 'Y'-0x40,
- #else
- #define INIT_C_CC_VDSUSP_EXTRA
- #endif
- #define INIT_C_CC { \
- [VINTR] = 'C'-0x40, \
- [VQUIT] = '\\'-0x40, \
- [VERASE] = '\177', \
- [VKILL] = 'U'-0x40, \
- [VEOF] = 'D'-0x40, \
- [VSTART] = 'Q'-0x40, \
- [VSTOP] = 'S'-0x40, \
- [VSUSP] = 'Z'-0x40, \
- [VREPRINT] = 'R'-0x40, \
- [VDISCARD] = 'O'-0x40, \
- [VWERASE] = 'W'-0x40, \
- [VLNEXT] = 'V'-0x40, \
- INIT_C_CC_VDSUSP_EXTRA \
- [VMIN] = 1 }
- int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
- int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
- #ifdef TCGETS2
- int user_termios_to_kernel_termios(struct ktermios *, struct termios2 __user *);
- int kernel_termios_to_user_termios(struct termios2 __user *, struct ktermios *);
- int user_termios_to_kernel_termios_1(struct ktermios *, struct termios __user *);
- int kernel_termios_to_user_termios_1(struct termios __user *, struct ktermios *);
- #else /* TCGETS2 */
- int user_termios_to_kernel_termios(struct ktermios *, struct termios __user *);
- int kernel_termios_to_user_termios(struct termios __user *, struct ktermios *);
- #endif /* TCGETS2 */
- #endif /* _LINUX_TERMIOS_CONV_H */
|