#include "tcp.h"

/* readn - read exactly n bytes */
int readn( int fd, char *bp, size_t len)
{
	int cnt;
	int rc;

	cnt = len;
	while ( cnt > 0 )
	{
		rc = read( fd, bp, cnt );
		if ( rc < 0 )			
		{
			if ( errno == EINTR )
				continue;
			return -1;	
		}
		if ( rc == 0 )	
			return len - cnt;
		bp += rc;
		cnt -= rc;
	}
	return len;
}
