ret = fxp_write_recv(pktin);
ret = fxp_write_recv(pktin, rreq);
int scp_send_filedata(char *data, int len){    if (using_sftp) {	int ret;	struct sftp_packet *pktin;	struct sftp_request *req, *rreq;	if (!scp_sftp_filehandle) {	    return 1;	}	sftp_register(req = fxp_write_send(scp_sftp_filehandle,					   data, scp_sftp_fileoffset, len));	rreq = sftp_find_request(pktin = sftp_recv());	assert(rreq == req);	ret = fxp_write_recv(pktin);	if (!ret) {	    tell_user(stderr, "error while writing: %s\n", fxp_error());	    errs++;	    return 1;	}	scp_sftp_fileoffset = uint64_add32(scp_sftp_fileoffset, len);	return 0;    } else {	int bufsize = back->send(backhandle, data, len);	/*	 * If the network transfer is backing up - that is, the	 * remote site is not accepting data as fast as we can	 * produce it - then we must loop on network events until	 * we have space in the buffer again.	 */	while (bufsize > MAX_SCP_BUFSIZE) {	    if (!scp_process_network_event())		return 1;	    bufsize = back->sendbuffer(backhandle);	}	return 0;    }}