tcdrain(3C)




NAME

     tcdrain - wait for transmission of output


SYNOPSIS

     #include <termios.h>

     int tcdrain(int fildes);


DESCRIPTION

     The tcdrain() function waits until all output written to the
     object  referred  to  by  fildes is transmitted.  The fildes
     argument is an open file descriptor associated with a termi-
     nal.

     Any attempts to use tcdrain() from  a  process  which  is  a
     member  of a background process group on a fildes 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.


RETURN VALUES

     Upon successful completion, 0 is returned. Otherwise, -1  is
     returned and errno is set to indicate the error.


ERRORS

     The tcdrain() function will fail if:

     EBADF The fildes argument is not a valid file descriptor.

     EINTR A signal interrupted tcdrain().

     ENOTTY
           The file associated with fildes is not a terminal.

     The tcdrain() function may fail if:

     EIO   The process group of the writing process is  orphaned,
           and  the  writing  process is not ignoring or blocking
           SIGTTOU.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ______________________________________________________________
    |       ATTRIBUTE TYPE        |        ATTRIBUTE VALUE        |
    |_____________________________|_______________________________|
    | MT-Level                    | MT-Safe, and Async-Signal-Safe|
    |_____________________________|_______________________________|


SEE ALSO

     tcflush(3C), attributes(5), termio(7I)


Man(1) output converted with man2html