status.i4.v = tcp_receive(tcp_host.i1a.r, tcp_port.i4.v,
				  message.i1a.r, maximum_length.i4.v,
				  returned_length.i4.r [,source_length.i4.r])

	This routine will read a message from the specified host and
	port into the buffer "message".  The program should have connected 
	to this host and port by calling tcp_connect.

	Users must be aware that multiple messages can be received in
	a single packet.  That is, there is no way for this routine to
	distinguish between two or more packed messages.  So, the user
	should send and receive with flow control or be prepared to
	unpack messages.

	tcp_host	host name
	tcp_port	port number  
	message		returned TCP/IP message buffer
			(must be as large as the value specified
			 for "maximum_length")
			(TCP_MAXLEN is maximum message size supported)
	maximum_length	maximum number of bytes to be received
	returned_length	returned size of message actually returned in bytes
	[source_length]	full length of received message
			(default is NULL)

	This function returns ACNET status values as follows:

	OK			success
	CBS_INVID		not connected to this host and port
	CBS_NODAT		no messge is present to receive
	CBS_REQLIMIT		message clipped to maxlen
	otherwise		other status from QIO

	This function requires the following include files:

	cbslib_h, acnet_errors_h

	Related functions:

	tcp_send, tcp_send_wait, tcp_connect, tcp_disconnect

	C/C++ usage:

	static const char	tcp_host[] = "centra";
	char	message[MAX_MESSAGE_LEN];
	int	status;
	int	tcp_port = 4353;
	int	maximum_length = MAX_MESSAGE_LEN;
	int	returned_length;
	int	source_length;
	void	message_func(char *host, int port);

	status = tcp_connect(tcp_host,tcp_port,message_func);
	status = tcp_receive(tcp_host,tcp_port,message,maximum_length,