Major | Minor | Description | Normal path name |
2 | Console device or window | /dev/console | |
3 | Null | /dev/null | |
3 | 1 | Control terminal | /dev/tty |
4 | UART | /dev/tty00 | |
5 | TEm window 24x80 | /dev/ety | |
6 | 0-30 | Pty slave | /dev/tty[p-r][0-9a-f] |
7 | 0-30 | Pty master | /dev/pty[p-r][0-9a-f] |
8 | Ivy typescript window | /dev/ts |
The tty driver (used for the console device, TEm windows, and pseudo terminals) always uses the `new line discipline'; the TIOCSETD ioctl is a no-op and the TIOCGETD ioctl always returns 2 (NTTYDISC).
The tty driver treats several other ioctl requests as no-ops: TIOCSBRK/TIOCCBRK (set/clear break bit), TIOCSDTR/TIOCCDTR (set/clear data terminal ready), TIOCHPCL (hang up on last close), and TIOCWONLINE (wait for device to come online).
The tty driver does not support packet mode for pseudo terminal devices. Using the TIOCPKT ioctl to clear packet mode is a no-op; using TIOCPKT to set packet mode raises SIGSYS.
Finally, the tty driver treats another group of ioctl requests as ASSERT failures that stop Taos (this should be changed!): TIOCSMLB/TIOCCMLB (set/clear loopback mode), TIOCSFIFO/TIOCCFIFO (set/clear FIFO transmission mode), TIOCMODG/TIOCMODS (get/set modem control state), TIOCMSET/TIOCMGET (set/get modem bits), TIOCMBIS/TIOCMBIC (bis/bic modem bits), TIOCNMODEM/TIOCMODEM (ignore/don't ignore modem status), TIOCNCAR/TIOCCAR (ignore/don't ignore soft carrier), and TIOCOUTQ (return size of output queue).
The only way to set the actual line speed of the console device is to turn the rotary switch on the back panel of the Firefly; the line speed returned by the TIOCGETP ioctl and set by the TIOCSETP and TIOCSETN ioctls is unrelated to the rotary switch position.