libssh2_channel_send_eof man page
libssh2_channel_send_eof — send EOF to remote server
int libssh2_channel_send_eof(LIBSSH2_CHANNEL *channel);
Tell the remote host that no further data will be sent on the specified channel. Processes typically interpret this as a closed stdin descriptor.
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_ERROR_SOCKET_SEND - Unable to send data on socket.