;//////////////////////////////////////////////////////////////////////////////
;// Copyright (C) 2008 Cinterion Wireless Modules GmbH
;// Copyright (C) 2005-2008 Siemens AG
;//
;// Version: 1.0
;// Date:    dummy
;//
;//////////////////////////////////////////////////////////////////////////////

;******************************************************************************
; The section with the multiplex driver itself.
;
; More instances can be added if more than one module should be supported. In
; that case there are the additional values "MuxInstance" and "DLCI" required
; in the sections of the virtual ports.
;******************************************************************************
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Multiplexer]
  "Prefix"="MPX"
  "Dll"="multiplx.dll"
  "Index"=dword:1
  "Order"=dword:2
  "BaudRate"=dword:1c200
  "ParentPort"="COM1:"
  "IClass"="{A32942B7-920C-486b-B0E6-92A702A99B35}"
  "FriendlyName"="Cinterion GSM 27.10 Multiplex Driver"
  ;----------------------------------------------------------------------------
  ; If the following value exists and is set to a value unequal to zero the
  ; multiplex driver is executing an initialization sequence. In that case
  ; the driver is trying to switch the module on when the first virtual port
  ; is opened and tries to synchronate the baud rate with the module. That
  ; sequence is skipped if the value "EnableInitialization" is not set which
  ; is useful when the required module start is done by an external
  ; application.
  ; "EnableInitialization"=dword:1
  ;----------------------------------------------------------------------------
  ; The registry values "InitCommand1", "InitCommand2" and so on provide the
  ; possibility to send a row of free definable initialization AT commands to
  ; the module before the multiplex mode is started.
  ; "InitCommand1"="AT"
  ; "InitCommand2"="AT"
  ; ...
  ;----------------------------------------------------------------------------
  ; The registry values "DeinitCommand1", "DeinitCommand2" and so on provide the
  ; possibility to send a row of free definable deinitialization AT commands to
  ; the module after the multiplex mode has been closed.
  ; "DeinitCommand1"="AT"
  ; "DeinitCommand2"="AT"
  ; ...
  ;----------------------------------------------------------------------------
  ; If the following value exists and is set to a value unequal to zero the
  ; multiplex driver is shutting down the module if the last virtual COM port
  ; is closed or the system is shutting down. The module is not switched off
  ; if the value "EnableShutdown" is not set which is useful when the required
  ; module shutdown is done by an external application.
  ; "EnableShutdown"=dword:1
  ;----------------------------------------------------------------------------
  ; To prevent data loss the multiplex driver disables data flow on the
  ; hardware port by clearing the hardware RTS signal if the system suspends
  ; and enables data flow again when the system resumes. Because sometimes the
  ; hardware of a COM port needs some time to get ready after a resume the
  ; following value can add a delay after system resume before the data flow
  ; is enabled in milliseconds.
  ; "WaitAfterResume"=dword:7d0

;******************************************************************************
; The sections with the virtual COM ports provided by the multiplex driver.
;
; More ports can be added correspondingly if supported by the connected module
; and the multiplex driver.
; The multiplex channel number (DLCI) of the port is taken from the DWORD
; value "DLCI". If that value is missing the "Index" value is interpreted as
; DLCI number (e.g. "VCA1:" is connected with DLCI 1).
; If there are used more than one instance of the multiplex driver to support
; multiple modules the connected MPX instance is given in the string value
; "MuxInstance". In that case the "DLCI" value is required because there
; cannot exist two different virtual "VCA" ports with the same index and it
; therefore cannot be used as DLCI number for higher MPX instances.
;******************************************************************************
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VirtCom1]
  "Prefix"="VCA"
  "Dll"="multiplx.dll"
  "Index"=dword:1
  "Order"=dword:3
  "FriendlyName"="1st Virtual COM Port on \"MPX1:\""
  ; The following value is not required if the port is connected to "MPX1:"
  ; "MuxInstance"="MPX1:"
  ; The following value is not required if the port is connected to "MPX1:"
  ; because the "Index" value is taken instead as DLCI number
  ; "DLCI"=dword:1

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VirtCom2]
  "Prefix"="VCA"
  "Dll"="multiplx.dll"
  "Index"=dword:2
  "Order"=dword:3
  "FriendlyName"="2nd Virtual COM on \"MPX1:\""

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VirtCom3]
  "Prefix"="VCA"
  "Dll"="multiplx.dll"
  "Index"=dword:3
  "Order"=dword:3
  "FriendlyName"="3rd Virtual COM Port on \"MPX1:\""

;******************************************************************************
; The section with the virtual COM port provided by the multiplex driver to
; enable the possibility of multiplex operation on serial UART drivers without
; integrated buffer handling.
;
; If more than one multiplex instance is required on such limited serial port
; more buffered parent ports can be added correspondingly. They are connected
; to the multiplex instance by entering the buffered parent port into the
; parent port value of the corresponding multiplex instance.
;******************************************************************************
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\BufferedParentPort]
  "Prefix"="BPP"
  "Dll"="multiplx.dll"
  "Index"=dword:1
  "Order"=dword:1
  "ParentPort"="COM1:"
  "FriendlyName"="Buffered parent port for muxer"
