From patchwork Mon Oct 15 20:49:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 148888 Delivered-To: patch@linaro.org Received: by 2002:a2e:8595:0:0:0:0:0 with SMTP id b21-v6csp4251572lji; Mon, 15 Oct 2018 13:50:36 -0700 (PDT) X-Google-Smtp-Source: ACcGV61eqbnjmva1k4uqa5SZt5jyR9oupgD6Iu5TZC2JFGpZY/OBwHc0Xd/aHbh7qOxeDFvNkrvz X-Received: by 2002:a62:4e09:: with SMTP id c9-v6mr19087458pfb.105.1539636636503; Mon, 15 Oct 2018 13:50:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539636636; cv=none; d=google.com; s=arc-20160816; b=ytc105iXRQUL+rekmTOpN/XTIBVk1eedU3XY1kezzod7VOK+C6VeD3GP5wmNRVzX+k I6Rq51r2xFgLuWn/9hyRB8Ezmn6oiYTlVYE/Sw6g8ii3+Cl93RJjZy7p5O4DntqXYStv E9ZLivpwu4U+zBcIzKOxfUs7rzZ8dspIkrBueCKkfLI7B2nXSoJHnHyoMd7qmqKkf9Ke Wugb57P19XdMrsjJ1xBzsDWZNreL7QkvFOHMNSqmwQAsiNEjV7Z99AjxxHFDt2Gctkw4 OuuMBALmdYlI7XrxxeteuzoWVKgpGJf220JeEjHMjBS1jX5XY4KKxGwQwdscwshM5VvP 95gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:delivered-to:sender:list-help:list-post:list-archive :list-subscribe:list-unsubscribe:list-id:precedence:mailing-list :dkim-signature:domainkey-signature; bh=+L4hbbdMls/sBsgSqQ3N0I3Y/C/lKc3xotHSGEKWVfA=; b=0Dgc25x3D3X7d48ky8qRqvKFtsaXpm6FsYKtqiP9QTimwpoYVMtR7qir72cm6Dsis8 uok8t+reS3orG9+E6pBka3OxpIunHlmnp3uOFM2NU2HjZdF3b4Ib5TfFTYKT1u0LSxkV ld0oaCXmhbpEWo6buVTOm2e4ZmyTPTmHKQaHO6H4HWmZA1gFV9XHFElfN0p/zIGb8Mc4 TkT8S33/ctj+mON+GsyxsTYHshVruS3aUjn28oKLcmpAu/g2T4yx/W0/KN/slrhXh/9J VzHYdr/o8UTNOC5ZQ+eLkfMOyQNV3n99YRrGnnslZaVFCU3pfD/YLTQQYyUZgjS2dB4l 3XGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=f4N06UqO; dkim=pass header.i=@linaro.org header.s=google header.b=Gu2RFyF6; spf=pass (google.com: domain of libc-alpha-return-96438-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-96438-patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id y198-v6si7989925pfb.59.2018.10.15.13.50.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Oct 2018 13:50:36 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-return-96438-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=f4N06UqO; dkim=pass header.i=@linaro.org header.s=google header.b=Gu2RFyF6; spf=pass (google.com: domain of libc-alpha-return-96438-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-96438-patch=linaro.org@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references; q=dns; s=default; b=Nk4hMdgBomtoymBK01MHUdhNYXkrZpk +Yp1T8BDwC/OTVp04xb04GXcRBil7j5qB3rOYhzHR+quh9PFNh7nVNfokllFKkVP p9vHEXf/5RYj/iSAKjNw0MwF6ZjntL58GzJkmBpUoFFEPmJ61I6uPIR1BAHatmtC CPf+9SW/xXkw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:in-reply-to :references; s=default; bh=JIsb2HgJEVGDS1pZWg8BGVKK0Fg=; b=f4N06 UqOh7qi+7VCfkTQ95g5paREeIgrecGYtXPJYjNfTUoE53N58+jgfarTU23cgMiPH 5KiETPckh7BDuJkp2cvybU2Ir0ofn1nnHo9ddBm6ukv0dnJRoGjw+0ojOhgFTZd0 ZdcTMuasopCQHHYQb0+fhrlaae1ZjOJcgqJN+E= Received: (qmail 15146 invoked by alias); 15 Oct 2018 20:50:16 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 15027 invoked by uid 89); 15 Oct 2018 20:50:15 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-23.3 required=5.0 tests=AWL, BAYES_00, FUZZY_XPILL, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=bell, consolidate, 0000002, Consolidate X-HELO: mail-qk1-f194.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+L4hbbdMls/sBsgSqQ3N0I3Y/C/lKc3xotHSGEKWVfA=; b=Gu2RFyF6tk0SLcuqXyXP8C4CaP3Ez2Af9B3A2NWTWa3rSNyXJaD5s9INkVnZU9D8gt QWHveDNKSu7fATttj6/dfpHXMduapjD0LdCJ8ZJBauVSgsUnoLbnqLOSNiV5Bw/sQIDP sjmGLdG3nx28rO0Vuis8/EYk5smbyMNQdEWdE= Return-Path: From: Adhemerval Zanella To: libc-alpha@sourceware.org Cc: hpa@zytor.com Subject: [PATCH 04/12] termios: Consolidate Input Modes definitions. Date: Mon, 15 Oct 2018 17:49:48 -0300 Message-Id: <20181015204956.25558-4-adhemerval.zanella@linaro.org> In-Reply-To: <20181015204956.25558-1-adhemerval.zanella@linaro.org> References: <20181015204956.25558-1-adhemerval.zanella@linaro.org> This patch consolidates the termios symbolic constants used for input modes with c_iflag member on its own header. The Linux generic implementation values match the kernel UAPI and each architecture with deviate values have their own implementation (in this case alpha and powerpc). No semantic change is expected, checked on a build against x86_64-linux-gnu, alpha-linux-gnu, mips64-linux-gnu, and sparc64-linux-gnu. * sysdeps/unix/sysv/linux/Makefile (sysdeps_headers): Add termios-c_iflag.h. * sysdeps/unix/sysv/linux/bits/termios-c_iflag.h: New file. * sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h: Likewise. * sysdeps/unix/sysv/linux/bits/termios.h (IGNBRK, BRKINT, IGNPAR, PARMRK, INPCK, ISTRIP, INLCR, IGNCR, ICRNL, IXON, IXOFF, IXANY, IUCLC, IMAXBEL, IUTF8): Move to termios-c_iflag.h. * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/termios.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Likewise. --- sysdeps/unix/sysv/linux/Makefile | 3 +- .../sysv/linux/alpha/bits/termios-c_iflag.h | 38 ++++++++++++++++++ sysdeps/unix/sysv/linux/alpha/bits/termios.h | 18 +-------- .../unix/sysv/linux/bits/termios-c_iflag.h | 40 +++++++++++++++++++ sysdeps/unix/sysv/linux/bits/termios.h | 18 +-------- sysdeps/unix/sysv/linux/mips/bits/termios.h | 18 +-------- .../sysv/linux/powerpc/bits/termios-c_iflag.h | 38 ++++++++++++++++++ .../unix/sysv/linux/powerpc/bits/termios.h | 18 +-------- sysdeps/unix/sysv/linux/sparc/bits/termios.h | 18 +-------- 9 files changed, 123 insertions(+), 86 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h create mode 100644 sysdeps/unix/sysv/linux/bits/termios-c_iflag.h create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h -- 2.17.1 diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index ace8dcb631..2f5a59cb11 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -43,7 +43,8 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ bits/siginfo-arch.h bits/siginfo-consts-arch.h \ bits/procfs.h bits/procfs-id.h bits/procfs-extra.h \ bits/procfs-prregset.h bits/mman-map-flags-generic.h \ - bits/msq-pad.h bits/termios-struct.h bits/termios-c_cc.h + bits/msq-pad.h bits/termios-struct.h bits/termios-c_cc.h \ + bits/termios-c_iflag.h tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \ tst-quota tst-sync_file_range tst-sysconf-iov_max tst-ttyname \ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h new file mode 100644 index 0000000000..11584250d5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode definitions. Linux/alpha version. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 diff --git a/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h index 25159890b5..4d49c66aa8 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/termios.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h @@ -26,23 +26,7 @@ typedef unsigned int tcflag_t; #include #include - -/* c_iflag bits */ -#define IGNBRK 0000001 -#define BRKINT 0000002 -#define IGNPAR 0000004 -#define PARMRK 0000010 -#define INPCK 0000020 -#define ISTRIP 0000040 -#define INLCR 0000100 -#define IGNCR 0000200 -#define ICRNL 0000400 -#define IXON 0001000 -#define IXOFF 0002000 -#define IXANY 0004000 -#define IUCLC 0010000 -#define IMAXBEL 0020000 -#define IUTF8 0040000 +#include /* c_oflag bits */ #define OPOST 0000001 diff --git a/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h new file mode 100644 index 0000000000..c365b82262 --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/termios-c_iflag.h @@ -0,0 +1,40 @@ +/* termios input mode definitions. Linux/generic version. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 /* Ignore break condition. */ +#define BRKINT 0000002 /* Signal interrupt on break. */ +#define IGNPAR 0000004 /* Ignore characters with parity errors. */ +#define PARMRK 0000010 /* Mark parity and framing errors. */ +#define INPCK 0000020 /* Enable input parity check. */ +#define ISTRIP 0000040 /* Strip 8th bit off characters. */ +#define INLCR 0000100 /* Map NL to CR on input. */ +#define IGNCR 0000200 /* Ignore CR. */ +#define ICRNL 0000400 /* Map CR to NL on input. */ +#define IUCLC 0001000 /* Map uppercase characters to lowercase on input + (not in POSIX). */ +#define IXON 0002000 /* Enable start/stop output control. */ +#define IXANY 0004000 /* Enable any character to restart output. */ +#define IXOFF 0010000 /* Enable start/stop input control. */ +#define IMAXBEL 0020000 /* Ring bell when input queue is full + (not in POSIX). */ +#define IUTF8 0040000 /* Input is UTF8 (not in POSIX). */ diff --git a/sysdeps/unix/sysv/linux/bits/termios.h b/sysdeps/unix/sysv/linux/bits/termios.h index 1fba973734..6ce5c56049 100644 --- a/sysdeps/unix/sysv/linux/bits/termios.h +++ b/sysdeps/unix/sysv/linux/bits/termios.h @@ -26,23 +26,7 @@ typedef unsigned int tcflag_t; #include #include - -/* c_iflag bits */ -#define IGNBRK 0000001 -#define BRKINT 0000002 -#define IGNPAR 0000004 -#define PARMRK 0000010 -#define INPCK 0000020 -#define ISTRIP 0000040 -#define INLCR 0000100 -#define IGNCR 0000200 -#define ICRNL 0000400 -#define IUCLC 0001000 -#define IXON 0002000 -#define IXANY 0004000 -#define IXOFF 0010000 -#define IMAXBEL 0020000 -#define IUTF8 0040000 +#include /* c_oflag bits */ #define OPOST 0000001 diff --git a/sysdeps/unix/sysv/linux/mips/bits/termios.h b/sysdeps/unix/sysv/linux/mips/bits/termios.h index 1153763ae8..a8a37ff176 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/termios.h +++ b/sysdeps/unix/sysv/linux/mips/bits/termios.h @@ -26,23 +26,7 @@ typedef unsigned int tcflag_t; #include #include - -/* c_iflag bits */ -#define IGNBRK 0000001 /* Ignore break condition. */ -#define BRKINT 0000002 /* Signal interrupt on break. */ -#define IGNPAR 0000004 /* Ignore characters with parity errors. */ -#define PARMRK 0000010 /* Mark parity and framing errors. */ -#define INPCK 0000020 /* Enable input parity check. */ -#define ISTRIP 0000040 /* Strip 8th bit off characters. */ -#define INLCR 0000100 /* Map NL to CR on input. */ -#define IGNCR 0000200 /* Ignore CR. */ -#define ICRNL 0000400 /* Map CR to NL on input. */ -#define IUCLC 0001000 /* Map upper case to lower case on input. */ -#define IXON 0002000 /* Enable start/stop output control. */ -#define IXANY 0004000 /* Any character will restart after stop. */ -#define IXOFF 0010000 /* Enable start/stop input control. */ -#define IMAXBEL 0020000 /* Ring bell when input queue is full. */ -#define IUTF8 0040000 /* Input is UTF8. */ +#include /* c_oflag bits */ #define OPOST 0000001 /* Perform output processing. */ diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h new file mode 100644 index 0000000000..c728b4d110 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode definitions. Linux/powerpc version. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h index 2253143734..4ccabd7095 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h @@ -25,23 +25,7 @@ typedef unsigned int tcflag_t; #include #include - -/* c_iflag bits */ -#define IGNBRK 0000001 -#define BRKINT 0000002 -#define IGNPAR 0000004 -#define PARMRK 0000010 -#define INPCK 0000020 -#define ISTRIP 0000040 -#define INLCR 0000100 -#define IGNCR 0000200 -#define ICRNL 0000400 -#define IXON 0001000 -#define IXOFF 0002000 -#define IXANY 0004000 -#define IUCLC 0010000 -#define IMAXBEL 0020000 -#define IUTF8 0040000 +#include /* c_oflag bits */ #define OPOST 0000001 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/termios.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h index a2588c2158..4123ed7aaa 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/termios.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h @@ -26,23 +26,7 @@ typedef unsigned int tcflag_t; #include #include - -/* c_iflag bits */ -#define IGNBRK 0x00000001 -#define BRKINT 0x00000002 -#define IGNPAR 0x00000004 -#define PARMRK 0x00000008 -#define INPCK 0x00000010 -#define ISTRIP 0x00000020 -#define INLCR 0x00000040 -#define IGNCR 0x00000080 -#define ICRNL 0x00000100 -#define IUCLC 0x00000200 -#define IXON 0x00000400 -#define IXANY 0x00000800 -#define IXOFF 0x00001000 -#define IMAXBEL 0x00002000 -#define IUTF8 0x00004000 +#include /* c_oflag bits */ #define OPOST 0x00000001