diff options
author | Steve Bennett <steveb@workware.net.au> | 2020-05-05 21:45:41 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2024-02-04 10:08:26 +1000 |
commit | 474bab96aaa42526fdd5283a925e540679ae0bfe (patch) | |
tree | 50e7c2cb289c9475892f40789f916becacf513e6 /jim-tty.c | |
parent | dd22498a18f17f8b9f2c080f21f0310bf8c1880a (diff) | |
download | jimtcl-474bab96aaa42526fdd5283a925e540679ae0bfe.zip jimtcl-474bab96aaa42526fdd5283a925e540679ae0bfe.tar.gz jimtcl-474bab96aaa42526fdd5283a925e540679ae0bfe.tar.bz2 |
aio: tty: Add support for vstart and vstop
xonxoff start and stop chars
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-tty.c')
-rw-r--r-- | jim-tty.c | 25 |
1 files changed, 17 insertions, 8 deletions
@@ -79,6 +79,8 @@ static const char * const tty_settings_names[] = { "vmin", "vtime", "echo", + "vstart", + "vstop", NULL }; @@ -92,7 +94,9 @@ enum { OPT_STOP, OPT_VMIN, OPT_VTIME, - OPT_ECHO + OPT_ECHO, + OPT_VSTART, + OPT_VSTOP, }; @@ -184,6 +188,10 @@ Jim_Obj *Jim_GetTtySettings(Jim_Interp *interp, int fd) Jim_ListAppendElement(interp, listObjPtr, Jim_NewIntObj(interp, tio.c_cc[VMIN])); Jim_ListAppendElement(interp, listObjPtr, Jim_NewStringObj(interp, "vtime", -1)); Jim_ListAppendElement(interp, listObjPtr, Jim_NewIntObj(interp, tio.c_cc[VTIME])); + Jim_ListAppendElement(interp, listObjPtr, Jim_NewStringObj(interp, "vstart", -1)); + Jim_ListAppendElement(interp, listObjPtr, Jim_NewIntObj(interp, tio.c_cc[VSTART])); + Jim_ListAppendElement(interp, listObjPtr, Jim_NewStringObj(interp, "vstop", -1)); + Jim_ListAppendElement(interp, listObjPtr, Jim_NewIntObj(interp, tio.c_cc[VSTOP])); speed = cfgetispeed(&tio); baud = 0; @@ -283,17 +291,18 @@ badvalue: break; case OPT_VMIN: - if (Jim_GetLong(interp, valueObj, &l) != JIM_OK) { - goto badvalue; - } - tio.c_cc[VMIN] = l; - break; - case OPT_VTIME: + case OPT_VSTART: + case OPT_VSTOP: if (Jim_GetLong(interp, valueObj, &l) != JIM_OK) { goto badvalue; } - tio.c_cc[VTIME] = l; + switch (opt) { + case OPT_VMIN: tio.c_cc[VMIN] = l; break; + case OPT_VTIME: tio.c_cc[VTIME] = l; break; + case OPT_VSTART: tio.c_cc[VSTART] = l; break; + case OPT_VSTOP: tio.c_cc[VSTOP] = l; break; + } break; case OPT_OUTPUT: |