libssh2_channel_wait_closed man page
libssh2_channel_wait_closed — wait for the remote to close the channel
int libssh2_channel_wait_closed(LIBSSH2_CHANNEL *channel);
Enter a temporary blocking state until the remote host closes the named channel. Typically sent after libssh2_channel_close(3) in order to examine the exit status.
Return 0 on success or negative on failure. It returns LIBSSH2_ERROR_EAGAIN when it would otherwise block. While LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se.
libssh2_channel_send_eof(3) libssh2_channel_eof(3) libssh2_channel_wait_eof(3)