Weirdness in TTY & VT

Jilles Tjoelker jilles at stack.nl
Thu Sep 8 17:36:37 UTC 2016


On Fri, Sep 02, 2016 at 05:12:12PM -0700, Lundberg, Johannes wrote:
> I'm porting some Linux code and have some weird behavior.

> In this (Linux) code fstat() and minor() is used on a /dev/tty file
> descriptor to get a tty number to map to. In FreeBSD this returns a number
> around 60-70 for st_rdev which means VT_ACTIVATE ioctl call will fail
> because it only allows values 0-12.

> Should not this be compatible with FreeBSD? If not, what is the FreeBSD way
> to do this?

> Is there some implementation missing in vt?

minor() and major() are obsolete in FreeBSD. A (userland) dev_t is an
opaque identifier.

The direct equivalent is devname_r() or fdevname_r() followed by parsing
the resulting string.

There is also a VT_GETINDEX ioctl but I don't know whether it works.

-- 
Jilles Tjoelker


More information about the freebsd-current mailing list