tcsendbreak - send a break for a specific duration
int tcsendbreak(int fildes, int duration);
If the terminal is using asynchronous serial data transmission, tcsendbreak() shall cause transmission of a continuous stream of zero-valued bits for a specific duration. If duration is 0, it shall 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 shall send zero-valued bits for an implementation-defined period of time.
The fildes argument is an open file descriptor associated with a terminal.
If the terminal is not using asynchronous serial data transmission, it is implementation-defined whether tcsendbreak() 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 shall cause the process group to be sent a SIGTTOU signal. If the calling process is blocking or ignoring SIGTTOU signals, the process shall be allowed to perform the operation, and no signal is sent.
Upon successful completion, 0 shall be returned. Otherwise, -1 shall be returned and errno set to indicate the error.
The tcsendbreak() function shall 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.
The Base Definitions volume of IEEE Std 1003.1-2001, Chapter 11, General Terminal Interface, <termios.h>, <unistd.h>
First released in Issue 3. Included for alignment with the POSIX.1-1988 standard.
The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:
In the DESCRIPTION, text previously conditional on _POSIX_JOB_CONTROL is now mandated. This is a FIPS requirement.
The [EIO] error is added.