} while (!do_ssh_login(NULL, 0, 1));
} while (!do_ssh1_login(NULL, 0, 1));
char *ssh_scp_init(char *host, int port, char *cmd, char **realhost){    char buf[160], *p;    assert(IS_SCP);#ifdef MSCRYPTOAPI    if (crypto_startup() == 0)	return "Microsoft high encryption pack not installed!";#endif    p = connect_to_host(host, port, realhost);    if (p != NULL)	return p;    random_init();    if (!do_ssh_init())	return "Protocol initialisation error";    /* Exchange keys and login */    do {	get_packet();	if (s == INVALID_SOCKET)	    return "Connection closed by remote host";    } while (!do_ssh_login(NULL, 0, 1));    if (ssh_state == SSH_STATE_CLOSED) {        closesocket(s);        s = INVALID_SOCKET;        return "Session initialisation error";    }    /* Execute command */    sprintf(buf, "Sending command: %.100s", cmd);    logevent(buf);    send_packet(SSH_CMSG_EXEC_CMD, PKT_STR, cmd, PKT_END);    return NULL;}