summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2016-07-03 10:49:52 -0400
committerRich Felker <dalias@aerifal.cx>2016-07-03 10:49:52 -0400
commit7158481d51960d4ff8fe2f113bcbfa7d5b862648 (patch)
treeb2f39533def87051637160da3106b4a8e91b7730
parent3dd27f3aabf03b109c30648c3f7a209302deee7f (diff)
downloadmusl-7158481d51960d4ff8fe2f113bcbfa7d5b862648.tar.gz
add consistent reserved fields in mips64/n32 termios structures
the (unused) speed fields were omitted when these ports were first added (within this release cycle, so not present in any release yet) in accordance with how glibc defines the structure on mips archs. however their omission does not match existing musl practice/intent. glibc provides its own, mostly-unified termios structure definition and performs translation in userspace to match the kernel structure for the arch, but has gratuitous differences on a few archs like mips, presumably as a result of historical mistakes. some other libcs use the kernel definitions directly. musl essentially does that, by matching the kernel layout in the part of the structure the kernel will read/write, but leaves additional space at the end for extensibility. these are nominally the (nonstandard) speed fields and (on most archs) extra c_cc elements, but since they are not used they could be repurposed if there's ever a need.
-rw-r--r--arch/mips64/bits/termios.h2
-rw-r--r--arch/mipsn32/bits/termios.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips64/bits/termios.h b/arch/mips64/bits/termios.h
index 3a7d5a13..b19d4867 100644
--- a/arch/mips64/bits/termios.h
+++ b/arch/mips64/bits/termios.h
@@ -5,6 +5,8 @@ struct termios {
tcflag_t c_lflag;
cc_t c_line;
cc_t c_cc[NCCS];
+ speed_t __c_ispeed;
+ speed_t __c_ospeed;
};
#define VINTR 0
diff --git a/arch/mipsn32/bits/termios.h b/arch/mipsn32/bits/termios.h
index 3a7d5a13..b19d4867 100644
--- a/arch/mipsn32/bits/termios.h
+++ b/arch/mipsn32/bits/termios.h
@@ -5,6 +5,8 @@ struct termios {
tcflag_t c_lflag;
cc_t c_line;
cc_t c_cc[NCCS];
+ speed_t __c_ispeed;
+ speed_t __c_ospeed;
};
#define VINTR 0