From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 8F9081F8C6 for ; Fri, 30 Jul 2021 10:56:42 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 99844393D00E for ; Fri, 30 Jul 2021 10:56:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 99844393D00E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1627642601; bh=p0y6HRfzE9ZLSwzSiQ7Jo/LpJWFZ29xezgoz3OZqsUA=; h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=gq84kprfkCHHZcExeyNcS9PSh2pJGh5ob7EweOALz7h4iNWlP/1YN/YtW8OxFnqty 5W/9YcwJf2UBXYuqHZ8HccJMEKK2nao08NSzADiiHK+/Nmfm9Q+MfqVQJ/XgNiDnbE 1nWPsmHHowZeTLsYDrufE5DBFtB0GjPwQvJwr0vY= Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by sourceware.org (Postfix) with ESMTPS id B3660393CC3F for ; Fri, 30 Jul 2021 10:56:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B3660393CC3F Received: by mail.kernel.org (Postfix) with ESMTPSA id 896A46069E; Fri, 30 Jul 2021 10:56:13 +0000 (UTC) Received: by pali.im (Postfix) id 7CA86772; Fri, 30 Jul 2021 12:56:11 +0200 (CEST) Date: Fri, 30 Jul 2021 12:56:11 +0200 To: "Alejandro Colomar (man-pages)" Subject: Re: [PATCH] ioctl_tty.2: Document ioctls: TCGETS2, TCSETS2, TCSETSW2, TCSETSF2 Message-ID: <20210730105611.rtmd5642ed2ountm@pali> References: <20210725225506.7404-1-pali@kernel.org> <271f5402-95f5-4e65-84ee-a227879e1c33@gmail.com> <20210729173118.pud4xucnt4kncvol@pali> <7d48a1dd-9641-53e9-bb65-868c86f22821@gmail.com> <20210730000915.d6ieqiuqah4tjjxf@pali> <35947a18-65b8-6c31-2715-42f9a5c2c6f7@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <35947a18-65b8-6c31-2715-42f9a5c2c6f7@gmail.com> User-Agent: NeoMutt/20180716 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: =?utf-8?q?Pali_Roh=C3=A1r_via_Libc-alpha?= Reply-To: Pali =?utf-8?B?Um9ow6Fy?= Cc: linux-man@vger.kernel.org, Glibc , Michael Kerrisk Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On Friday 30 July 2021 09:04:46 Alejandro Colomar (man-pages) wrote: > CC += glibc > > On 7/30/21 2:09 AM, Pali Rohár wrote: > > Hello! > > > > On Friday 30 July 2021 01:39:11 Alejandro Colomar (man-pages) wrote: > > > Hi Pali, > > > > > > On 7/29/21 7:31 PM, Pali Rohár wrote: > > > > > > > > > > +.IR "" . > > > > > > Is that the header that the user should include? > > > > Yes. > > > > > I don't know. I typically avoid 'asm/' includes, but maybe in this case > > > it's the correct one. Shouldn't the user maybe include ? > > > > Problem is that you cannot include together with > > . It cause redefinition of symbols and compile errors. > > > > And without you cannot call ioctl() function which > > basically means that you cannot use TCGETS2 (as it is ioctl). > > Seems fair. > > > > > Probably this is a bug in glibc header files... > > I CCed glibc just in case they want to comment. > > > > > So currently it is needed to include file to use > > TCGETS2 ioctl. I'm not sure if it is "correct", but it is the only > > possible option for now about which I know (unless you want to > > copy+paste structures and macros from that file into your program, to > > avoid inclusion of asm/* files). > > Re copy&paste: no thanks :) > > > > > If you want, I can send a patch for ioctl_tty.2 example section with > > simple C program to show how to use TCGETS2/TCSETS2 ioctl. > > Great! Please CC glibc in the patch. > > > > > > user@sqli:/usr/include$ grep -rn 'struct termios {' > > > asm-generic/termbits.h:12:struct termios { > > > user@sqli:/usr/include$ grep -rn '' > > > x86_64-linux-gnu/asm/termbits.h:1:#include > > > user@sqli:/usr/include$ grep -rn '' > > > asm-generic/termios.h:12:#include > > > user@sqli:/usr/include$ grep -rn '' > > > x86_64-linux-gnu/asm/termios.h:1:#include > > > user@sqli:/usr/include$ grep -rn '' > > > linux/termios.h:6:#include > > > user@sqli:/usr/include$ grep -rn '' > > > user@sqli:/usr/include$ > > > > > > > > > > > > +These ioctls are not supported on all architectures. > > > > > > +.IP > > > > > > +.BI "TCGETS2 struct termios2 *" argp > > > > > > > > > > Please follow the same style as in the rest of the page: > > > > > > > > > > .TP > > > > > .B TCGETS2 > > > > > Argument: > > > > > .BI "struct termios2 *" argp > > > > > > > > > > Unless there's a good reason not to. > > > > > > > > Few lines below in this file is: > > > > > > > > .IR "struct termios\ *" . > > > > .IP > > > > .BI "TCGETA struct termio *" argp > > > > .IP > > > > .BI "TCSETA const struct termio *" argp > > > > .IP > > > > .BI "TCSETAW const struct termio *" argp > > > > .IP > > > > .BI "TCSETAF const struct termio *" argp > > > > > > > > Therefore I used same style for TCGETS2... > > > > > > > > So, how should I format this part to be consistent? > > > > > > > > > Hmm, sorry, I didn't see those. > > > > Ah, now I see that Michael one hour later (after I sent this patch) > > fixed above style to another. See commit aceee9e827e6. > > > > But changed it to another new style: > > > > .RS > > .TS > > lb l. > > TCGETA \fBstruct termio *\fPargp > > TCSETA \fBconst struct termio *\fPargp > > TCSETAW \fBconst struct termio *\fPargp > > TCSETAF \fBconst struct termio *\fPargp > > .TE > > .RE > > > > > So there's a mix in the file. > > > The more correct form is the one I used, so please use that one (the one > > > with .TP) > > > > So, could you check with Michael which style to use? Because now there > > are 3 different (yours, Michael's and the one which was there before) > > and I'm really not sure what is correct... > > Sorry, I was also confused, as I had Michael's version, and didn't see the > table he reformatted, which I now understand was what you were doing (in the > old format). So if what you wrote corresponds to what Michael reformatted, > please use Michael's new format (the table). > > Thanks, > > Alex Hello! Now I sent a new version and reformatted this part according to Michael style. > > > > > > > > Thanks, > > > > > > Alex > > > > > > > > > > > > > > > > +.IP > > > > > > +.BI "TCSETS2 const struct termios2 *" argp > > > > > > +.IP > > > > > > +.BI "TCSETSW2 const struct termios2 *" argp > > > > > > +.IP > > > > > > +.BI "TCSETSF2 const struct termios2 *" argp > > > > > > +.PP > > > > > > +The following four ioctls are just like > > > > > > +.BR TCGETS , > > > > > > +.BR TCSETS , > > > > > > +.BR TCSETSW , > > > > > > +.BR TCSETSF , > > > > > > +except that they take a > > > > > > .I "struct termio\ *" > > > > > > instead of a > > > > > > .IR "struct termios\ *" . > > > > > > > > > > > > > > > > > > > > > -- > > > > > Alejandro Colomar > > > > > Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/ > > > > > http://www.alejandro-colomar.es/ > > > > > > > > > -- > > > Alejandro Colomar > > > Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/ > > > http://www.alejandro-colomar.es/ > > > -- > Alejandro Colomar > Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/ > http://www.alejandro-colomar.es/