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.
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.
Serial protocol modules have a .csy
extension and a UID 2 of 0x10000049.
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.
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 RCommServ::LoadCommModule()
API and are unloaded using the RCommServ::UnloadCommModule()
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.
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 wire of the infrared link.
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.