Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
gh-51944: Add some macOS constants to termios
This changeset adds all public constants in <termio.h>
and <sys/termios.h> on macOS that weren't present
already.
  • Loading branch information
ronaldoussoren committed Dec 7, 2023
commit c170a832f59ee3e3b0b8ba576eb1734d62fa3bed
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Add the following constants to the :mod:`termios` module. These values are
present in macOS system headers: ``ALTWERASE``, ``B14400``, ``B28800``,
``B7200``, ``B76800``, ``CCAR_OFLOW``, ``CCTS_OFLOW``, ``CDSR_OFLOW``,
``CDTR_IFLOW``, ``CIGNORE``, ``CRTS_IFLOW``, ``EXTPROC``, ``IUTF8``,
``MDMBUF``, ``NL2``, ``NL3``, ``NOKERNINFO``, ``ONOEOT``, ``OXTABS``,
``VDSUSP``, ``VSTATUS``.
59 changes: 59 additions & 0 deletions Modules/termios.c
Original file line number Diff line number Diff line change
Expand Up @@ -702,6 +702,9 @@ static struct constant {
#ifdef IMAXBEL
{"IMAXBEL", IMAXBEL},
#endif
#ifdef IUTF8
{"IUTF8", IUTF8},
#endif

/* struct termios.c_oflag constants */
{"OPOST", OPOST},
Expand All @@ -726,6 +729,12 @@ static struct constant {
#ifdef OFDEL
{"OFDEL", OFDEL},
#endif
#ifdef OXTABS
{"OXTABS", OXTABS},
#endif
#ifdef ONOEOT
{"ONOEOT", ONOEOT},
#endif
#ifdef NLDLY
{"NLDLY", NLDLY},
#endif
Expand All @@ -752,6 +761,12 @@ static struct constant {
#ifdef NL1
{"NL1", NL1},
#endif
#ifdef NL2
{"NL2", NL2},
#endif
#ifdef NL1
{"NL3", NL3},
#endif
#ifdef CR0
{"CR0", CR0},
#endif
Expand Down Expand Up @@ -799,6 +814,9 @@ static struct constant {
#endif

/* struct termios.c_cflag constants */
#ifdef CIGNORE
{"CIGNORE", CIGNORE},
#endif
{"CSIZE", CSIZE},
{"CSTOPB", CSTOPB},
{"CREAD", CREAD},
Expand All @@ -813,13 +831,32 @@ static struct constant {
{"CRTSCTS", (long)CRTSCTS},
#endif

#ifdef CRTS_IFLOW
{"CRTS_IFLOW", CRTS_IFLOW},
#endif
#ifdef CDTR_IFLOW
{"CDTR_IFLOW", CDTR_IFLOW},
#endif
#ifdef CDSR_OFLOW
{"CDSR_OFLOW", CDSR_OFLOW},
#endif
#ifdef CCAR_OFLOW
{"CCAR_OFLOW", CCAR_OFLOW},
#endif
#ifdef MDMBUF
{"MDMBUF", MDMBUF},
#endif

/* struct termios.c_cflag-related values (character size) */
{"CS5", CS5},
{"CS6", CS6},
{"CS7", CS7},
{"CS8", CS8},

/* struct termios.c_lflag constants */
#ifdef ALTWERASE
{"ALTWERASE", ALTWERASE},
#endif
{"ISIG", ISIG},
{"ICANON", ICANON},
#ifdef XCASE
Expand All @@ -840,13 +877,19 @@ static struct constant {
#endif
#ifdef FLUSHO
{"FLUSHO", FLUSHO},
#endif
#ifdef NOKERNINFO
{"NOKERNINFO", NOKERNINFO},
#endif
{"NOFLSH", NOFLSH},
{"TOSTOP", TOSTOP},
#ifdef PENDIN
{"PENDIN", PENDIN},
#endif
{"IEXTEN", IEXTEN},
#ifdef EXTPROC
{"EXTPROC", EXTPROC},
#endif

/* indexes into the control chars array returned by tcgetattr() */
{"VINTR", VINTR},
Expand All @@ -855,6 +898,7 @@ static struct constant {
{"VKILL", VKILL},
{"VEOF", VEOF},
{"VTIME", VTIME},
{"VSTATUS", VSTATUS},
{"VMIN", VMIN},
#ifdef VSWTC
/* The #defines above ensure that if either is defined, both are,
Expand All @@ -865,6 +909,9 @@ static struct constant {
{"VSTART", VSTART},
{"VSTOP", VSTOP},
{"VSUSP", VSUSP},
#ifdef VDSUSP
{"VDSUSP", VREPRINT},
#endif
{"VEOL", VEOL},
#ifdef VREPRINT
{"VREPRINT", VREPRINT},
Expand All @@ -883,6 +930,18 @@ static struct constant {
#endif


#ifdef B7200
{"B7200", B7200},
#endif
#ifdef B14400
{"B14400", B14400},
#endif
#ifdef B28800
{"B28800", B28800},
#endif
#ifdef B76800
{"B76800", B76800},
#endif
#ifdef B460800
{"B460800", B460800},
#endif
Expand Down