streams/ioctls

Ron Stanonik stanonik at nprdc.navy.mil
Thu Jan 3 04:55:02 AEST 1991


ttys in sysVr[34] seem to be implemented using streams.  I_STR seems
to be the only ioctl which is passed to modules/drivers.

How then do the termio ioctls affect modules/drivers?

Apparently in sunos4.x the ioctl call will convert "normal" ioctls
(ie, defined with IO, IOR, etc) into I_STR's, when applied to a stream.
(The "streams module and driver programming" tutorial seems to say this
in the "driver and module ioctls" section.)  Apparently this can happen
because in sunos the macros for defining ioctls (eg, IO, IOR, etc)
include the size and direction of the ioctl.

In sysVr[34] ioctls don't seem to include the size and direction
(ie, ioctls seem to be defined using only the type and command,
TCGETA == 't'<<8|1).

So, what do sysVr[34] do?  Does ioctl "know" about all of the
termio ioctls (ie, size and direction) and convert them to I_STR's?

Thanks,

Ron Stanonik
stanonik at nprdc.navy.mil



More information about the Comp.unix.internals mailing list