Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"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:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-C7E37B5D-C7AA-5624-B34F-B3CA44516E1D"><title>What are Serial Protocol Modules (CSYs)</title><shortdesc>This topic describes the Comms SYstem (CSY) plug-ins, which the Serial Communications Server uses to control serial ports. Serial protocol module are also known as CSYs after the extension of the filename for their DLLs. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p>Serial protocol modules are DLLs with a single entry point which return a factory object which is capable of creating one or more objects that implement serial services. </p> <p>Serial protocol modules have a <filepath>.csy</filepath> extension and a <keyword>UID</keyword> 2 of 0x10000049. </p> <p>Serial protocol modules are loaded by the Serial Communications Server, and are not directly accessed by client applications. The server passes client requests to the appropriate Serial protocol module. An example of a client request is to read from a port. </p> <p>A client of the Serial Communications Server must have at least one Serial protocol module loaded in the client session to be able to send and receive serial data. Serial protocol modules are loaded into a client session by using the <xref href="GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306.dita#GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306/GUID-F851835B-4585-3C3A-B257-ADAE04CD95AA"><apiname>RCommServ::LoadCommModule()</apiname></xref> API and are unloaded using the <xref href="GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306.dita#GUID-6B3CA99B-ABF2-32EA-935D-23AE5AE2C306/GUID-98B29787-1CC4-35AF-9C56-B2D2E29C897C"><apiname>RCommServ::UnloadCommModule()</apiname></xref> API. The Serial Communications Server manages the situation where multiple clients load and unload the same Serial protocol module. A Serial protocol module remains loaded by the server for as long as at least one client has the Serial protocol module loaded. </p> <p>An example Serial protocol module is IrCOMM, the infrared serial protocol module. IrCOMM is a presentation layer ISO model network protocol that programmers access through a serial API. IrCOMM includes specifications for sending information about RS-232 signal lines, handshaking and emulating full duplex data transfer over the single <i>wire</i> of the infrared link. </p> <p>A theoretical Serial protocol module would be the Telnet protocol, which runs over TCP/IP or GSM Data services which run over the GSM digital network. The Telnet protocol could simulate a serial port. </p> </conbody><related-links><link href="GUID-7651FA57-4C0E-5EB6-8DB1-AAF23D39CD7C.dita"><linktext>List of
Serial Communications Server protocol modules</linktext> </link> </related-links></concept>