#include	<sys/bios.h>

int comm_recv(char far* recv_buf, int len)
{
	int		rc, rlen = 0;

	while(rlen < len)
	{
		rc = comm_receive_char();
		switch(rc)
		{
			case ERR_SIO_CANCEL:
				return rc;
			case ERR_SIO_TIMEOUT:
				return rc;
			case ERR_SIO_OVERRUN:
				return rc;
		}

		*(recv_buf++) = (char)rc;
		rlen++;
	}

	return rlen;
}
