tcsendbreak(3)

โœจ tcsendbreak(3) โœจ

okay bestie, so this is a page from the Library Functions Manual โ€” the tcsendbreak one, and it's genuinely the most "send vibes into the void" function in termios. let's get into it ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

tcsendbreak โ€” send a continuous stream of zero-valued bits

likeโ€ฆ it just sends a lil stream of zeroes. that's the whole personality. periodt ๐ŸŽ€


๐Ÿฆ‹ LIBRARY ๐Ÿฆ‹

Standard C library (libc, -lc)

yep, plain old libc, she's a classic ๐Ÿ‘‘


โœจ SYNOPSIS โœจ

#include <termios.h>

int tcsendbreak(int fd, int duration);

๐Ÿ’– DESCRIPTION ๐Ÿ’–

so tcsendbreak() transmits a continuous stream of zero-valued bits for a specific duration โ€” but only if the terminal is using asynchronous serial data transmission. like, she checks the vibe first ๐ŸŒˆ

If duration is zero, it transmits zero-valued bits for at least 0.25 seconds, and not more than 0.5 seconds. a cute lil window, we love her ๐Ÿซถ

If duration is not zero, it sends zero-valued bits for some implementation-defined length of time. translation: every system does its own thing here, it's giving chaos, see the VERSIONS section if you want the tea ๐Ÿ˜ญ

If the terminal is not using asynchronous serial data transmission, tcsendbreak() returns without taking any action. she simply does nothing. no drama, no break, just vibes going nowhere ๐Ÿ’€


๐Ÿ”ฅ RETURN VALUE ๐Ÿ”ฅ

  • 0 โ€” on success. slay โœจ
  • -1 โ€” on failure, and it sets errno to indicate the error ๐Ÿ˜ญ

๐Ÿงš ATTRIBUTES ๐Ÿงš

for an explanation of the terms used in this section, see attributes(7).

  • Interface: tcsendbreak()
  • Attribute: Thread safety
  • Value: MT-Safe ๐Ÿ‘‘

like yeah she's MT-Safe no cap, go off bestie


๐ŸŒˆ VERSIONS ๐ŸŒˆ

okay so the effect of a nonzero duration with tcsendbreak() varies a lot. here's the receipts, no guessing, all facts:

  • 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 entirely. literally just ignoring her, rude ๐Ÿ’€
  • Under Solaris and UnixWare, tcsendbreak() with nonzero duration behaves like tcdrain(3).
so yeah bestie, if you're porting code with a nonzero duration and expecting one specific behaviourโ€ฆ you're gonna have a bad time ๐Ÿ˜ญ

๐Ÿ‘‘ STANDARDS ๐Ÿ‘‘

POSIX.1-2008.


๐ŸŽ€ HISTORY ๐ŸŽ€

POSIX.1-2001.

she's been around. an icon. a legend ๐Ÿ’œ


๐Ÿ’œ SEE ALSO ๐Ÿ’œ

tcdrain(3), tcflush(3), tcflow(3), termios(7)


ngl that's the whole page bestie, go forth and send your zero bits ๐ŸŒธ

that's a wrap ๐Ÿซถ this was Linux man-pages 6.20, dated 2026-07-02, and yes the page is literally called tcsendbreak(3) โ€” ily, go read termios(7) next, it's giving main character energy โญ

๐Ÿ“ฆ where this page comes from
  • arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
  • nixpkgs unstable: man-pages 6.20
  • ๐Ÿ“œ the page's license: GPL-2.0-or-later
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms