public inbox for cygwin-cvs@sourceware.org help / color / mirror / Atom feed
From: Corinna Vinschen <corinna@sourceware.org> To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] fhandler_serial.cc: MARK and SPACE parity for serial port Date: Tue, 2 Feb 2021 09:43:37 +0000 (GMT) [thread overview] Message-ID: <20210202094337.B1C003857C59@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=d4a756f13a3440576c866d0a0cfc3a001f86ad59 commit d4a756f13a3440576c866d0a0cfc3a001f86ad59 Author: Marek Smetana <mara.smetana@gmail.com> Date: Mon Feb 1 22:02:14 2021 +0100 fhandler_serial.cc: MARK and SPACE parity for serial port Diff: --- winsup/cygwin/fhandler_serial.cc | 11 ++++++++++- winsup/cygwin/include/sys/termios.h | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index fd5b45899..e0257302c 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -727,7 +727,12 @@ fhandler_serial::tcsetattr (int action, const struct termios *t) /* -------------- Set parity ------------------ */ if (t->c_cflag & PARENB) - state.Parity = (t->c_cflag & PARODD) ? ODDPARITY : EVENPARITY; + { + if(t->c_cflag & CMSPAR) + state.Parity = (t->c_cflag & PARODD) ? MARKPARITY : SPACEPARITY; + else + state.Parity = (t->c_cflag & PARODD) ? ODDPARITY : EVENPARITY; + } else state.Parity = NOPARITY; @@ -1068,6 +1073,10 @@ fhandler_serial::tcgetattr (struct termios *t) t->c_cflag |= (PARENB | PARODD); if (state.Parity == EVENPARITY) t->c_cflag |= PARENB; + if (state.Parity == MARKPARITY) + t->c_cflag |= (PARENB | PARODD | CMSPAR); + if (state.Parity == SPACEPARITY) + t->c_cflag |= (PARENB | CMSPAR); /* -------------- Parity errors ------------------ */ diff --git a/winsup/cygwin/include/sys/termios.h b/winsup/cygwin/include/sys/termios.h index 17e8d83a3..e4465fca3 100644 --- a/winsup/cygwin/include/sys/termios.h +++ b/winsup/cygwin/include/sys/termios.h @@ -206,6 +206,7 @@ POSIX commands */ #define CRTSXOFF 0x04000 #define CRTSCTS 0x08000 +#define CMSPAR 0x40000000 /* Mark or space (stick) parity. */ /* lflag bits */ #define ISIG 0x0001
reply other threads:[~2021-02-02 9:43 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210202094337.B1C003857C59@sourceware.org \ --to=corinna@sourceware.org \ --cc=cygwin-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).