plugins/networking/tcpcsy/doc/tcpcsy.pod
author Tom Sutcliffe <thomas.sutcliffe@accenture.com>
Thu, 26 Aug 2010 00:49:35 +0100
changeset 45 534b01198c2d
parent 0 7f656887cf89
permissions -rw-r--r--
Added ENotifyKeypresses and ECaptureCtrlC flags to CCommandBase. Commands can now get keypresses and handle ctrl-C via callbacks instead of having to implement custom active objects. As part of this extended the CCommandBase extension interface to MCommandExtensionsV2 for the new virtual functions KeyPressed(TUint aKeyCode, TUint aModifiers) and CtrlCPressed(). sudo now cleans up correctly by using ECaptureCtrlC.

# 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