---
name: "tcsendbreak"
section: "3"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/tcsendbreak"
---

# tcsendbreak(3)

send a continuous stream of zero-valued bits

## NAME

tcsendbreak - send a continuous stream of zero-valued bits

## LIBRARY

Standard C library (*libc*, *-lc*)

## SYNOPSIS

```
#include <termios.h>
```

**int tcsendbreak(int** *fd***, int** *duration***);**

## DESCRIPTION

**tcsendbreak**() transmits a continuous stream of zero-valued bits for a specific duration, if the terminal is using asynchronous serial data transmission.

If *duration* is zero, it transmits zero-valued bits for at least 0.25 seconds, and not more than 0.5 seconds.

If *duration* is not zero, it sends zero-valued bits for some implementation-defined length of time.

If the terminal is not using asynchronous serial data transmission, **tcsendbreak**() returns without taking any action.

## RETURN VALUE

- **0**

  on success.

- **-1**

  on failure and set *errno* to indicate the error.

## ATTRIBUTES

For an explanation of the terms used in this section, see [**attributes**(7)](/attributes/7.md).

| | | |
| --- | --- | --- |
| **Interface** | **Attribute** | **Value** |
| **tcsendbreak**() | Thread safety | MT-Safe |

## VERSIONS

The effect of a nonzero *duration* with **tcsendbreak**() varies. SunOS specifies a break of *duration \* N* seconds, where *N* is at least 0.25, and not more than 0.5. Linux, AIX, DU, Tru64 send a break of *duration* milliseconds. FreeBSD and NetBSD and HP-UX and MacOS ignore the value of *duration*. Under Solaris and UnixWare, **tcsendbreak**() with nonzero *duration* behaves like [**tcdrain**(3)](/tcdrain/3.md).

## STANDARDS

POSIX.1-2008.

## HISTORY

POSIX.1-2001.

## SEE ALSO

[**tcdrain**(3)](/tcdrain/3.md), [**tcflush**(3)](/tcflush/3.md), [**tcflow**(3)](/tcflow/3.md), [**termios**(7)](/termios/7.md)
