Xinu7/src/serve11/sys/udpecho.c

/* udpecho.c - udpecho */

#include <conf.h>
#include <kernel.h>
#include <network.h>

#define	MAXECHO	600		/* maximum size of echoed datagram	*/
static	char	buff[MAXECHO];	/* here because the stack may be small	*/

/*------------------------------------------------------------------------
 *  udpecho  -  UDP echo server process (runs forever in background)
 *------------------------------------------------------------------------
 */
PROCESS	udpecho()
{
	int	dev, len;

	if ( (dev=open(INTERNET, ANYFPORT, UECHO)) == SYSERR) {
		kprintf("udpecho: open fails\n");
		return(SYSERR);
	}
	while ( TRUE ) {
		len = read(dev, buff, MAXECHO);
		write(dev, buff, len);
	}
}