termios: start unifying non-UAPI parts of asm/termios.h
* new header (linut/termios_internal.h), pulled by the users of those suckers * defaults for INIT_C_CC and externs for conversion helpers moved over there * remove termios-base.h (empty now) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Link: https://lore.kernel.org/r/YxDmptU7dNGZ+/Hn@ZenIV Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1d5d668256
commit
c9874d3ffe
@ -2,6 +2,7 @@
|
||||
#ifndef _ALPHA_TERMIOS_H
|
||||
#define _ALPHA_TERMIOS_H
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
#include <uapi/asm/termios.h>
|
||||
|
||||
/* eof=^D eol=\0 eol2=\0 erase=del
|
||||
@ -12,11 +13,4 @@
|
||||
*/
|
||||
#define INIT_C_CC "\004\000\000\177\027\025\022\000\003\034\032\000\021\023\026\025\001\000"
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
|
||||
int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
|
||||
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 *);
|
||||
|
||||
#endif /* _ALPHA_TERMIOS_H */
|
||||
|
@ -1,6 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/termios.h>
|
||||
#include <linux/termios_internal.h>
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *termios,
|
||||
struct termio __user *termio)
|
||||
|
@ -10,20 +10,4 @@
|
||||
|
||||
#include <uapi/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=^U werase=^W lnext=^V
|
||||
eol2=\0
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
|
||||
int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
|
||||
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 *);
|
||||
|
||||
#endif /* _ASM_IA64_TERMIOS_H */
|
||||
|
@ -21,13 +21,4 @@
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\1\0\0\0\021\023\032\0\022\017\027\026\004\0"
|
||||
|
||||
#include <linux/string.h>
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
|
||||
int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
|
||||
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 *);
|
||||
|
||||
#endif /* _ASM_TERMIOS_H */
|
||||
|
@ -4,20 +4,4 @@
|
||||
|
||||
#include <uapi/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=^U werase=^W lnext=^V
|
||||
eol2=\0
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
|
||||
int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
|
||||
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 *);
|
||||
|
||||
#endif /* _PARISC_TERMIOS_H */
|
||||
|
@ -13,6 +13,4 @@
|
||||
/* ^C ^\ del ^U ^D 1 0 0 0 0 ^W ^R ^Z ^Q ^S ^V ^U */
|
||||
#define INIT_C_CC "\003\034\177\025\004\001\000\000\000\000\027\022\032\021\023\026\025"
|
||||
|
||||
#include <asm-generic/termios-base.h>
|
||||
|
||||
#endif /* _ASM_POWERPC_TERMIOS_H */
|
||||
|
@ -9,18 +9,4 @@
|
||||
|
||||
#include <uapi/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=^U werase=^W lnext=^V
|
||||
eol2=\0
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
||||
|
||||
#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2))
|
||||
#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2))
|
||||
|
||||
#include <asm-generic/termios-base.h>
|
||||
|
||||
#endif /* _S390_TERMIOS_H */
|
||||
|
@ -3,6 +3,7 @@
|
||||
#define _SPARC_TERMIOS_H
|
||||
|
||||
#include <uapi/asm/termios.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
|
||||
/* intr=^C quit=^\ erase=del kill=^U
|
||||
@ -13,11 +14,4 @@
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\004\000\000\000\021\023\032\031\022\025\027\026\001"
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
|
||||
int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
|
||||
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 *);
|
||||
|
||||
#endif /* _SPARC_TERMIOS_H */
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/termios.h>
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/termios_internal.h>
|
||||
|
||||
/*
|
||||
* c_cc characters in the termio structure. Oh, how I love being
|
||||
|
@ -69,6 +69,7 @@
|
||||
#include <asm/hvconsole.h>
|
||||
#include <asm/hvcserver.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/termios_internal.h>
|
||||
#include <asm/vio.h>
|
||||
|
||||
/*
|
||||
|
@ -99,8 +99,8 @@
|
||||
#include <linux/serial.h>
|
||||
#include <linux/ratelimit.h>
|
||||
#include <linux/compat.h>
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/termios_internal.h>
|
||||
|
||||
#include <linux/kbd_kern.h>
|
||||
#include <linux/vt_kern.h>
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/compat.h>
|
||||
#include <linux/termios_internal.h>
|
||||
#include "tty.h"
|
||||
|
||||
#include <asm/io.h>
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include <linux/sysfs.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/tty_flip.h>
|
||||
#include <linux/termios_internal.h>
|
||||
#include <asm/vio.h>
|
||||
#include <asm/ldc.h>
|
||||
|
||||
|
@ -1,21 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/* termios.h: generic termios/termio user copying/translation
|
||||
*/
|
||||
|
||||
#ifndef _ASM_GENERIC_TERMIOS_BASE_H
|
||||
#define _ASM_GENERIC_TERMIOS_BASE_H
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
#ifndef __ARCH_TERMIO_GETPUT
|
||||
|
||||
int user_termio_to_kernel_termios(struct ktermios *, struct termio __user *);
|
||||
int kernel_termios_to_user_termio(struct termio __user *, struct ktermios *);
|
||||
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 *);
|
||||
|
||||
#endif /* __ARCH_TERMIO_GETPUT */
|
||||
|
||||
#endif /* _ASM_GENERIC_TERMIOS_BASE_H */
|
@ -6,24 +6,4 @@
|
||||
#include <linux/uaccess.h>
|
||||
#include <uapi/asm-generic/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=^U werase=^W lnext=^V
|
||||
eol2=\0
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
||||
|
||||
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 /* _ASM_GENERIC_TERMIOS_H */
|
||||
|
30
include/linux/termios_internal.h
Normal file
30
include/linux/termios_internal.h
Normal file
@ -0,0 +1,30 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_TERMIOS_CONV_H
|
||||
#define _LINUX_TERMIOS_CONV_H
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
#include <asm/termios.h>
|
||||
|
||||
#ifndef INIT_C_CC
|
||||
/* 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=^U werase=^W lnext=^V
|
||||
eol2=\0
|
||||
*/
|
||||
#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
|
||||
#endif
|
||||
|
||||
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 */
|
Loading…
Reference in New Issue
Block a user