void vsf_cmdio_write_exit(struct vsf_session* p_sess, int status, const char* p_text) { /* Unblock any readers on the dying control channel. This is needed for SSL * connections, where the SSL control channel slave is in a separate * process. */ vsf_sysutil_shutdown_read_failok(VSFTP_COMMAND_FD); ftp_write_text_common(p_sess, status, p_text, 1, ' '); vsf_sysutil_shutdown_failok(VSFTP_COMMAND_FD); vsf_sysutil_exit(0); }
void vsf_cmdio_write_noblock(struct vsf_session* p_sess, int status, const char* p_text) { ftp_write_text_common(p_sess, status, p_text, 1, ' '); }
void vsf_cmdio_write_hyphen(struct vsf_session* p_sess, int status, const char* p_text) { ftp_write_text_common(p_sess, status, p_text, 0, '-'); }