# tcpcsy.pod
#
# Copyright (c) 2008-2010 Accenture. All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Accenture - Initial contribution
#

__END__

=head1 tcpcsy

=head2 Introduction

A C32 plug-in that provides serial port emulation over a TCP socket. The socket can be configured to either actively connect to its TCP peer, or to passively listen for a connection from the peer.

=head2 Configuration

Configuration of the ports is done via the Central Repository file 102836da.txt. This is expected to contain the following key space:

 Bits	 Supported Values    Meaning

 31-24	 0                   Port record. Port fields assigned as follows:
 23-16   0                   Socket mode (type int, 0 - active, 1 - passive)
         1                   Protocol family (type int)
         2                   Protocol (type int)
         3                   IP address (type string in valid form to be handled by TInetAddr::Input)
         4                   Port (type int, the port to connect to in active mode or the port to
                             listen on in passive mode)
 15-0    0-65535             C32 unit value

For example:

 # Port 0
 0x00000000	int	0		# Active socket.
 0x00010000	int	0x0800		# KAfInet.
 0x00020000	int	6		# KProtocolInetTcp.
 0x00030000	string	127.0.0.1	# IP address.
 0x00040000	int	3030		# Port.

 # Port 1
 0x00000001	int	0		# Active socket.
 0x00010001	int	0x0800		# KAfInet.
 0x00020001	int	6		# KProtocolInetTcp.
 0x00030001	string	172.16.0.2	# IP address.
 0x00040001	int	3030		# Port.


Note, the Central Repository file can be written to by any process with C<WriteDeviceData> capability. It is therefore possible to dynamically add new, and alter existing port configurations.

=head1 Copyright

Copyright (c) 2008-2010 Accenture. All rights reserved.

=cut
