Low-level device control is implemented using the devctl() call.
The POSIX terminal control
functions are layered on top of
devctl()
as follows:
- tcgetattr()
- Get terminal attributes.
- tcsetattr()
- Set terminal attributes.
- tcgetpgrp()
- Get ID of process group leader for a terminal.
- tcsetpgrp()
- Set ID of process group leader for a terminal.
- tcsendbreak()
- Send a break condition.
- tcflow()
- Suspend or restart data transmission/reception.
QNX Neutrino extensions
The QNX Neutrino extensions to the terminal control API are as follows:
- tcdropline()
- Initiate a disconnect. For a serial device, this will pulse the DTR line.
- tcinject()
- Inject characters into the canonical buffer.
The io-char module acts directly on a common set
of devctl() commands supported by most drivers.
Applications send device-specific devctl()
commands through io-char to the drivers.