Device and Class Specific Functions [POSIX Section 7]

Functions Implemented

speed_t cfgetospeed( const struct termios *termios_p ); 
int cfsetospeed( struct termios *termios_p, speed_t speed ); 
speed_t cfgetispeed( const struct termios *termios_p ); 
int cfsetispeed( struct termios *termios_p, speed_t speed ); 
int tcgetattr( int fd, struct termios *termios_p ); 
int tcsetattr( int fd, int optional_actions,
	       const struct termios *termios_p ); 
int tcsendbreak( int fd, int duration ); 
int tcdrain( int fd );
int tcflush( int fd, int queue_selector ); 
int tcsendbreak( int fd, int action );

Functions Omitted

pid_t tcgetpgrp( int fd ); 
int tcsetpgrp( int fd, pid_t pgrp );


  • Only the functionality relevant to basic serial device control is implemented. Only very limited support for canonical input is provided, and then only via the “tty” devices, not the “serial” devices. None of the functionality relevant to job control, controlling terminals and sessions is implemented.

  • Only MIN = 0 and TIME = 0 functionality is provided.

  • Hardware flow control is supported if the underlying device driver and serial port support it.

  • Support for break, framing and parity errors depends on the functionality of the hardware and device driver.

Documentation license for this page: Open Publication License