tcsendbreak - send a “break” for a specific duration
#include <termios.h> int tcsendbreak(int fildes, int duration);
The fildes argument is an open file descriptor associated with a terminal.
If the terminal is using asynchronous serial data transmission, tcsendbreak() will cause transmission of a continuous stream of zero-valued bits for a specific duration. If duration is 0, it will cause transmission of zero-valued bits for at least 0.25 seconds, and not more than 0.5 seconds. If duration is not 0, it behaves in a way similar to tcdrain(3C).
If the terminal is not using asynchronous serial data transmission, it sends data to generate a break condition or returns without taking any action.
Attempts to use tcsendbreak() from a process which is a member of a background process group on a fildes associated with its controlling terminal will cause the process group to be sent a SIGTTOU signal. If the calling process is blocking or ignoring SIGTTOU signals, the process is allowed to perform the operation, and no signal is sent.
Upon successful completion, 0 is returned. Otherwise, −1 is returned and errno is set to indicate the error.
The tcsendbreak() function will fail if:
The fildes argument is not a valid file descriptor.
The file associated with fildes is not a terminal.
The tcsendbreak() function may fail if:
The process group of the writing process is orphaned, and the writing process is not ignoring or blocking SIGTTOU.
See attributes(7) for descriptions of the following attributes: