-
Notifications
You must be signed in to change notification settings - Fork 200
cfmakeraw notes
Alex Willmer edited this page Feb 6, 2025
·
2 revisions
Last updated: 2025-02-06
cfmakeraw()
is a libc function present on some Unix like operating systems.
It modifies a struct termios
so it would place a tty in "raw mode". The
presence and behaviour aren't specified in POSIX. Different implementations
set or unset different flags.
This document is a rough comparison of implementations.
Cell | Meaning |
---|---|
This implementation does not modify this field | |
1 | This implementation sets this field |
0 | This implementation unsets this field |
Y | Field present in IEEE Std 1003.1-2024 |
N | Field not present in IEEE Std 1003.1-2024 |
IGNBRK | BRKINT | IGNPAR | PARMRK | INPCK | ISTRIP | INLCR | IGNCR | ICRNL | IXON | IXOFF | IXANY | IMAXBEL | IUTF8 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
POSIX | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
FreeBSD | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
glibc | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
Mitogen | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
Python | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
OPOST | ONLCR | OCRNL | TABDLY | TAB0 | TAB3 | ONOEOT | ONOCR | ONLRET | |
---|---|---|---|---|---|---|---|---|---|
POSIX | Y | Y | Y | Y | Y | Y | N | Y | Y |
FreeBSD | 0 | ||||||||
glibc | 0 | ||||||||
Python | 0 | ||||||||
Python | 0 |
CSIZE | CS5 | CS6 | CS7 | CS8 | CSTOPB | CREAD | PARENB | PARODD | HUPCL | CLOCAL | CCTS_OFLOW | CRTSCTS | CRTS_IFLOW | MDMBUF | CNO_RTSDTR | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
POSIX | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N | N | N | N |
FreeBSD | 0 | 1 | 0 | |||||||||||||
glibc | ||||||||||||||||
Mitogen | 0 | 1 | 1 | 0 | ||||||||||||
Python | 0 | 1 | 0 |
ECHOKE | ECHOE | ECHOK | ECHO | ECHONL | ECHOPRT | ECHOCTL | ISIG | ICANON | ALTWERASE | IEXTEN | EXTPROC | TOSTOP | FLUSHO | NOKERNINFO | PENDIN | NOFLSH | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
POSIX | N | Y | Y | Y | Y | N | N | Y | Y | N | Y | N | Y | N | N | N | Y |
FreeBSD | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
glibc | 0 | 0 | 0 | 0 | 0 | ||||||||||||
Mitogen | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
Python | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
VEOF | VEOL | VEOL2 | VERASE | VWERASE | VKILL | VREPRINT | VERASE2 | VINTR | VQUIT | VSUSP | VDSUSP | VSTART | VSTOP | VLNEXT | VDISCARD | VMIN | VTIME | VSTATUS | NCCS | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
POSIX | Y | Y | N | Y | N | Y | N | N | Y | Y | Y | N | Y | Y | N | N | Y | Y | N | N |
FreeBSD | 1 | 0 | ||||||||||||||||||
glibc | 1 | 0 | ||||||||||||||||||
Mitogen | ||||||||||||||||||||
Python | 1 | 0 |
- FreeBSD
- glibc
- Mitogen
- Python
- The Open Group Base Specifications Issue 8 IEEE Std 1003.1