TCSENDBREAK(3) Library Functions Manual TCSENDBREAK(3)

tcsendbreaksend 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 will send zero-valued bits for an implementation-dependent period of time.

If the terminal is not using asynchronous serial data transmission, it is implementation-dependent 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 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.

None.

None.

In the ISO POSIX-1 standard, the possibility of an [EIO] error occurring is described in XBD specification, , but it is not mentioned in the tcsendbreak() interface definition. It has become clear that this omission was unintended, so it is likely that the [EIO] error will be reclassified as a "will fail" in a future issue of the POSIX standard.

<termios.h> , <unistd.h> , the XBD specification, .

Derived from the POSIX.1-1988 standard.

February 1997 posix.fail