ttymsg —
ttymsg utility function
System Utilities Library (libutil, -lutil)
#include <util.h>
char *
  
  ttymsg(struct
    iovec *iov, int
    iovlen, const char
    *tty, int
  tmout);
The ttymsg() function is used by programs such as
  talkd(8),
  syslogd(8),
  wall(1), etc., to display the
  contents of a uio structure on a terminal. ttymsg()
  forks and finishes in the child if the write would block after waiting up to
  tmout seconds.
ttymsg() returns a pointer to an error string on
  unexpected error; the string is not newline-terminated. Various
  "normal" errors are ignored (exclusive-use, lack of permission,
  etc.).
ttymsg could grow some flags and a username/uid who is
  the expected owner of the tty. If the flags say so then the owner should be
  checked against the tty owner, and the message should not be sent if there is
  a mismatch. Also another flag could say check against group writable, and
  don't send a message.