Just being thorough, haven't seriously thought them through yet. Each takes a file descriptor, the last two a low carnality flag as well:
tcdrain - wait for transmission of output
tcflush - flush non-transmitted output data, non-read input data, or both
And this one reminds us of the still with us fun of stop and start characters, classically ^S/^Q brought to us by DEC according to Wikipedia. I assume we should kill them dead in our with- and without- procedures:
tcflow - suspend or restart the transmission or reception of data
- Harold