int fxp_read_recv(struct sftp_packet *pktin, char *buffer, int len)
int fxp_read_recv(struct sftp_packet *pktin, struct sftp_request *req, char *buffer, int len)
int fxp_read_recv(struct sftp_packet *pktin, char *buffer, int len){    if (pktin->type == SSH_FXP_DATA) {	char *str;	int rlen;	sftp_pkt_getstring(pktin, &str, &rlen);	if (rlen > len || rlen < 0) {	    fxp_internal_error("READ returned more bytes than requested");            sftp_pkt_free(pktin);	    return -1;	}	memcpy(buffer, str, rlen);        sftp_pkt_free(pktin);	return rlen;    } else {	fxp_got_status(pktin);        sftp_pkt_free(pktin);	return -1;    }}