summaryrefslogtreecommitdiffstats
path: root/linux-user/sh4
diff options
context:
space:
mode:
authorFilip Bozuta2020-07-23 23:02:32 +0200
committerLaurent Vivier2020-08-27 12:29:50 +0200
commitc218b4ede4f9f8bdd210233f24ab2356f0e04d49 (patch)
treed522c308b4b5e993f91dee0227b19bdb059a49fd /linux-user/sh4
parentlinux-user: Add generic 'termbits.h' for some archs (diff)
downloadqemu-c218b4ede4f9f8bdd210233f24ab2356f0e04d49.tar.gz
qemu-c218b4ede4f9f8bdd210233f24ab2356f0e04d49.tar.xz
qemu-c218b4ede4f9f8bdd210233f24ab2356f0e04d49.zip
linux-user: Add missing termbits types and values definitions
This patch introduces missing target types ('target_flag_t', 'target_cc_t', 'target_speed_t') in a few 'termibts.h' header files. Also, two missing values ('TARGET_IUTF8' and 'TARGET_EXTPROC') were also added. These values were also added in file 'syscall.c' in bitmask tables 'iflag_tbl[]' and 'lflag_tbl[]' which are used to convert values of 'struct termios' between target and host. Signed-off-by: Filip Bozuta <Filip.Bozuta@syrmia.com> Reviewed-by: Max Filippov <jcmvbkbc@gmail.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20200723210233.349690-3-Filip.Bozuta@syrmia.com> [lv: keep TARGET_NCCS definition in xtensa/termbits.h] Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/sh4')
-rw-r--r--linux-user/sh4/termbits.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/linux-user/sh4/termbits.h b/linux-user/sh4/termbits.h
index dd125b6a2b..f91b5c51cf 100644
--- a/linux-user/sh4/termbits.h
+++ b/linux-user/sh4/termbits.h
@@ -5,15 +5,20 @@
#define TARGET_NCCS 19
+typedef unsigned char target_cc_t; /* cc_t */
+typedef unsigned int target_speed_t; /* speed_t */
+typedef unsigned int target_tcflag_t; /* tcflag_t */
+
struct target_termios {
- unsigned int c_iflag; /* input mode flags */
- unsigned int c_oflag; /* output mode flags */
- unsigned int c_cflag; /* control mode flags */
- unsigned int c_lflag; /* local mode flags */
- unsigned char c_line; /* line discipline */
- unsigned char c_cc[TARGET_NCCS]; /* control characters */
+ target_tcflag_t c_iflag; /* input mode flags */
+ target_tcflag_t c_oflag; /* output mode flags */
+ target_tcflag_t c_cflag; /* control mode flags */
+ target_tcflag_t c_lflag; /* local mode flags */
+ target_cc_t c_line; /* line discipline */
+ target_cc_t c_cc[TARGET_NCCS]; /* control characters */
};
+
/* c_cc characters */
#define TARGET_VINTR 0
#define TARGET_VQUIT 1
@@ -150,6 +155,8 @@ struct target_termios {
#define TARGET_FLUSHO 0010000
#define TARGET_PENDIN 0040000
#define TARGET_IEXTEN 0100000
+#define TARGET_EXTPROC 0200000
+
/* tcflow() and TCXONC use these */
#define TARGET_TCOOFF 0