COHERENT manpages
This page displays the COHERENT manpage for termios [POSIX extended terminal interface].
List of available manpages
Index
termios -- Overview
POSIX extended terminal interface
The name termios describes a group of routines that POSIX Standard defines
to extend the termio interface to terminals. termios includes the
following routines:
cfgetispeed()..Get input speed
cfgetospeed()..Get output speed
cfsetispeed()..Set input speed
cfsetospeed()..Set output speed
tcdrain()......Drain output to a device
tcflow().......Control flow on a terminal device
tcflush()......Flush data being exchanged with a terminal
tcgetattr()....Get terminal attributes
tcsendbreak()..Send a break to a terminal
tcsetattr()....Set terminal attributes
Each is described in its own Lexicon entry. Under COHERENT, all are
defined as macros in header file <termios.h>.
Example
The following example returns the input and output speeds for the terminal
device that you now are using:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <termios.h>
int main()
{
struct termios term;
int speed;
if (tcgetattr(STDIN_FILENO, &term) < 0) {
fprintf(stderr, "tcgetattr error");
exit(EXIT_FAILURE);
}
speed = cfgetispeed(&term);
printf("tty line input speed is ");
if (speed == B50) printf("50 baud\n");
else if (speed == B75) printf("75 baud\n");
else if (speed == B110) printf("110 baud\n");
else if (speed == B134) printf("134 baud\n");
else if (speed == B150) printf("150 baud\n");
else if (speed == B200) printf("200 baud\n");
else if (speed == B300) printf("300 baud\n");
else if (speed == B600) printf("600 baud\n");
else if (speed == B1200) printf("1200 baud\n");
else if (speed == B1800) printf("1800 baud\n");
else if (speed == B2400) printf("2400 baud\n");
else if (speed == B4800) printf("4800 baud\n");
else if (speed == B9600) printf("9600 baud\n");
else if (speed == B19200) printf("19200 baud\n");
else if (speed == B38400) printf("38400 baud\n");
else printf("unknown speed\n");
speed = cfgetospeed(&term);
printf("tty line output speed is ");
if (speed == B50) printf("50 baud\n");
else if (speed == B75) printf("75 baud\n");
else if (speed == B110) printf("110 baud\n");
else if (speed == B134) printf("134 baud\n");
else if (speed == B150) printf("150 baud\n");
else if (speed == B200) printf("200 baud\n");
else if (speed == B300) printf("300 baud\n");
else if (speed == B600) printf("600 baud\n");
else if (speed == B1200) printf("1200 baud\n");
else if (speed == B1800) printf("1800 baud\n");
else if (speed == B2400) printf("2400 baud\n");
else if (speed == B4800) printf("4800 baud\n");
else if (speed == B9600) printf("9600 baud\n");
else if (speed == B19200) printf("19200 baud\n");
else if (speed == B38400) printf("38400 baud\n");
else printf("unknown speed\n");
exit(EXIT_SUCCESS);
}
See Also
cfgetispeed(),
cfgetospeed(),
cfsetispeed(),
cfsetospeed(),
Programming COHERENT,
tcdrain(),
tcflow(),
tcflush(),
tcgetattr(),
tcsendbreak(),
tcsetattr(),
termio,
termios.h
Notes
If a program that uses termios has set the termio flag ISIG (which enables
signals) and receives character SUSP (normally <ctrl-Z>), it sends
the signal SIGTSTP to the current process group. By default, termios then
discards SUSP. Character SUSP, as its name implies, tells a program to
suspend operation and recede into the background. Please note that because
COHERENT does not yet support job control, SUSP at present will do nothing.









