mailing list of musl libc
 help / color / mirror / code / Atom feed
* [musl] MUSL not including <sys/ttydefaults.h> in <sys/ioctl.h>
@ 2020-01-29 12:50 Petr Vorel
  2020-01-29 15:49 ` Rich Felker
  2020-01-29 15:55 ` Szabolcs Nagy
  0 siblings, 2 replies; 3+ messages in thread
From: Petr Vorel @ 2020-01-29 12:50 UTC (permalink / raw)
  To: musl

Hi,

Glibc is including <sys/ttydefaults.h> in <sys/ioctl.h> with following comment:

/* On a Unix system, the system <sys/ioctl.h> probably defines some of
   the symbols we define in <sys/ttydefaults.h> (usually with the same
   values).  The code to generate <bits/ioctls.h> has omitted these
   symbols to avoid the conflict, but a Unix program expects <sys/ioctl.h>
   to define them, so we must include <sys/ttydefaults.h> here.  */

I guess glibc is (as usual) wrong and therefore users who needs these
definitions should load also <sys/ttydefaults.h> explicitly.

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [musl] MUSL not including <sys/ttydefaults.h> in <sys/ioctl.h>
  2020-01-29 12:50 [musl] MUSL not including <sys/ttydefaults.h> in <sys/ioctl.h> Petr Vorel
@ 2020-01-29 15:49 ` Rich Felker
  2020-01-29 15:55 ` Szabolcs Nagy
  1 sibling, 0 replies; 3+ messages in thread
From: Rich Felker @ 2020-01-29 15:49 UTC (permalink / raw)
  To: musl

On Wed, Jan 29, 2020 at 01:50:12PM +0100, Petr Vorel wrote:
> Hi,
> 
> Glibc is including <sys/ttydefaults.h> in <sys/ioctl.h> with following comment:
> 
> /* On a Unix system, the system <sys/ioctl.h> probably defines some of
>    the symbols we define in <sys/ttydefaults.h> (usually with the same
>    values).  The code to generate <bits/ioctls.h> has omitted these
>    symbols to avoid the conflict, but a Unix program expects <sys/ioctl.h>
>    to define them, so we must include <sys/ttydefaults.h> here.  */
> 
> I guess glibc is (as usual) wrong and therefore users who needs these
> definitions should load also <sys/ttydefaults.h> explicitly.

ioctl.h isn't governed by any current standard, so we could include
sys/ttydefaults.h here, but I don't think it makes sense to. These
macros logically have nothing to do with the ioctl interface; rather
they go with termios. Programs that want them should probably be
including the header explicitly, or better yet not using them at all.

I also found a couple small issues in that header I'm fixing now.

Rich

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [musl] MUSL not including <sys/ttydefaults.h> in <sys/ioctl.h>
  2020-01-29 12:50 [musl] MUSL not including <sys/ttydefaults.h> in <sys/ioctl.h> Petr Vorel
  2020-01-29 15:49 ` Rich Felker
@ 2020-01-29 15:55 ` Szabolcs Nagy
  1 sibling, 0 replies; 3+ messages in thread
From: Szabolcs Nagy @ 2020-01-29 15:55 UTC (permalink / raw)
  To: musl

* Petr Vorel <pvorel@suse.cz> [2020-01-29 13:50:12 +0100]:
> Hi,
> 
> Glibc is including <sys/ttydefaults.h> in <sys/ioctl.h> with following comment:
> 
> /* On a Unix system, the system <sys/ioctl.h> probably defines some of
>    the symbols we define in <sys/ttydefaults.h> (usually with the same
>    values).  The code to generate <bits/ioctls.h> has omitted these
>    symbols to avoid the conflict, but a Unix program expects <sys/ioctl.h>
>    to define them, so we must include <sys/ttydefaults.h> here.  */
> 
> I guess glibc is (as usual) wrong and therefore users who needs these
> definitions should load also <sys/ttydefaults.h> explicitly.

at some point i did some sys/ioctl.h cleanup
and i don't remember how conciously i omitted
the sys/ttydefaults.h include. (they are both
non-standard headers so in principle including
is ok)

sys/ttydefaults.h is more related to termios.h:
several TTYDEF_* macros depend on termios.h and
termios.h includes it on both glibc and bsd in
non-standard mode i think (termios.h is standard
header). it is weird to include things into
ioctl.h that don't work without termios.h.

i don't think bsd sys/ioctl.h includes it, but
ioctl is very os specific.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-29 15:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-29 12:50 [musl] MUSL not including <sys/ttydefaults.h> in <sys/ioctl.h> Petr Vorel
2020-01-29 15:49 ` Rich Felker
2020-01-29 15:55 ` Szabolcs Nagy

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).