bytes = PR_Recv(sock, buf, rem, 0, PR_INTERVAL_NO_TIMEOUT);
bytes = PR_Recv(sock, buf+len-rem, rem, 0, PR_INTERVAL_NO_TIMEOUT);
int _readn(PRFileDesc *sock, char *buf, int len){	int rem;	int bytes;	for (rem=len; rem; rem -= bytes) {		bytes = PR_Recv(sock, buf, rem, 0, PR_INTERVAL_NO_TIMEOUT);		if (bytes <= 0)            return -1;	}	return len;}