---
name: "TCSBRKP"
section: "2const"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/TCSBRK"
---

# TCSBRKP(2const)

sending a break

Part of [TCSBRK(2const)](/TCSBRK/2const.md).

## NAME

TCSBRK, TCSBRKP, TIOCSBRK, TIOCCBRK - sending a break

## LIBRARY

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

## SYNOPSIS

```
#include <asm/termbits.h>  /* Definition of T*BRK* constants */
#include <sys/ioctl.h>
```

**int ioctl(int** *fd***, TCSBRK, int** *arg***);** **int ioctl(int** *fd***, TCSBRKP, int** *arg***);** **int ioctl(int** *fd***, TIOCSBRK);** **int ioctl(int** *fd***, TIOCCBRK);**

## DESCRIPTION

- **TCSBRK**

  Equivalent to *tcsendbreak(fd, arg)*.

-

  If the terminal is using asynchronous serial data transmission, and *arg* is zero, then send a break (a stream of zero bits) for between 0.25 and 0.5 seconds. If the terminal is not using asynchronous serial data transmission, then either a break is sent, or the function returns without doing anything. When *arg* is nonzero, nobody knows what will happen.

-

  (SVr4, UnixWare, Solaris, and Linux treat *tcsendbreak(fd,arg)* with nonzero *arg* like *tcdrain(fd)*. SunOS treats *arg* as a multiplier, and sends a stream of bits *arg* times as long as done for zero *arg*. DG/UX and AIX treat *arg* (when nonzero) as a time interval measured in milliseconds. HP-UX ignores *arg*.)

- **TCSBRKP**

  So-called "POSIX version" of **TCSBRK**. It treats nonzero *arg* as a time interval measured in deciseconds, and does nothing when the driver does not support breaks.

- **TIOCSBRK**

  Turn break on, that is, start sending zero bits.

- **TIOCCBRK**

  Turn break off, that is, stop sending zero bits.

## RETURN VALUE

On success, 0 is returned. On error, -1 is returned, and *errno* is set to indicate the error.

## SEE ALSO

[**ioctl**(2)](/ioctl/2.md), [**ioctl\_tty**(2)](/ioctl_tty/2.md)
