#include <termios.h> int cfsetospeed(struct termios *terminal, speed_t speed);
cfsetospeed
is used to set a new output baud rate in
the
termios
structure. (terminal
points to a copy of
this structure.)
This
structure is defined in <termios.h>
and contains terminal
attribute information.
The tcgetattr
function must be used
to make a copy of the termios
structure before you can use
the cfsetospeed
function to set the output baud rate.
The cfsetospeed
function changes the baud rate in this
copy and the
tcsetattr
functions can then be used to update the
termios
control structure.
The defined type, speed_t
, specifies the baud rate.
Each value is associated with an asynchronous line speed
as follows:
Return Value Baud Rate
B0 hang up B50 50 baud B75 75 baud B110 110 baud B134 134.5 baud B150 150 baud B200 200 baud B300 300 baud B600 600 baud B1200 1200 baud B1800 1800 baud B2400 2400 baud B4800 4800 baud B9600 9600 baud B19200 19,200 baud B38400 38,400 baud
cfsetospeed
returns 0
. A -1
is returned
if unsuccessful.
cfsetospeed
function is defined by the POSIX.1 standard
and provides portability between operating environments.
Note that OpenEdition only supports pseudoterminals and
that baud rate does not affect the operation of a pseudoterminal.
cfsetospeed
to set a new output baud rate:
#include <sys/types.h> #include <termios.h> #include <unistd.h> #include <stdio.h> main() { struct termios termAttr; speed_t baudRate; /* Obtain a copy of the termios structure for stdout. */ tcgetattr(STDOUT_FILENO, &termAttr); /* Get the output speed. */ baudRate = cfgetospeed(&termAttr); /* Set output speed if not 9600 baud. */ if (baudRate != B9600) { cfsetospeed(&termAttr, B9600); tcsetattr(STDOUT_FILENO, TCSADRAIN, &termAttr); } }
cfgetospeed
,
cfsetispeed
,
tcsetattr
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.