This section describes the format of the files loaded at startup by the Root Server Configurator. The files are known as Comms Module Ini (CMI) files and are used to describe Comms Provider Modules to be started by Root Server.
The files have an extension of .cmi .
Each Comms Module Ini file represents one Comms Provider Module for the Root Server Configurator to load.
Comms Module Ini files can be stored in the ROM of the device by placing the file in the \private\101f7988 folder. For example z:\private\101f7988\etel.cmi .
Comms Module Ini files can also be stored on other drives by placing the file in the same \private\101f7988 folder on the required drive. For example c:\private\101f7988\esock_ir.cmi .
The Comms Configurator searches for the Comms Module Ini files in the \private\101f7988 folders by searching from Y: to A: and then Z:. The folder 101f7988 is the secure area for the Comms Configurator process and its name derives from the UID for the process - as specified by the requirements for Data Caging . If the files are found in the ROM (usually Z:) they are not then copied to any other drive but only read in-place. Thus, a later configuration of Comms Module Ini files installed on another media/drive other than the ROM drive can be used to override the original ROM configuration. The Configurator reads these files only once during startup so any further changes will not take effect until the next time the system is started.
Every Comms Module Ini file contains a [Loader] section, which contains the parameters that the Root Server Configurator must process. Optionally the Comms Module Ini files can also contain a [IniData] section which is read and sent in 8 bit form to the Comms Provider Module as part of the parameters to the main thread function.
Note: The data in the [IniData] does not need to follow the Comms Module Ini file format, since everything from the section header to the end of the file is passed verbatim to the Comms Provider Module.
The format of the [Loader] section of the file is:
Key = Value
For example
FileName=etel.dll
The keywords for the Loader section are summarised in the following table.
The following example shows a CMI file to load the Telephony Server:
## Comms Configurator config file for the ETel server [Loader] Name=CTelServer FileName=etel.dll ThreadFunctionOrdinal=233 IsSticky=1 IsServer=1 Priority=EPriorityNormal StackSize=16384 ScaledStartupState=0x1085 HeapOption=ENewHeap MinHeapSize=256 MaxHeapSize=786432 SystemCritical=1 ControlFlags=1
The following example shows a CMI file to load the IP thread for the Socket Server:
# Comms Configurator config file for the ESock IP Data worker [Loader] Name=ESock_DIP FileName=esocksvr.dll ThreadFunctionOrdinal=1 IsSticky=0 IsServer=1 Priority=EPriorityMuchMore StackSize=16384 ScaledStartupState=0x3040 HeapOption=ENewHeap MinHeapSize=256 MaxHeapSize=524288 SystemCritical=0 SystemCriticalAfterInit=1 Binding0=ESock_DIP:1,ESock_Main:0,ECustom,15,15 # Dont check heap if shutting down with EImmediate (KCF_ModuleImmediateNoCheck) ControlFlags=4 [IniData] Role=DealerPlayer WorkerId=1 EskMask=IP.*.ESK PlayerRole=0x0001 # Hosting only data
The following example shows a CMI file to load the ECUART CSY into the second thread for the Serial Communications Server:
# c32_second - Comms Configurator config file forming part of the Default C32 server configuration [Loader] Name=C32_BaseBand FileName=c32.dll ThreadFunctionOrdinal=87 IsSticky=0 IsServer=1 Priority=EPriorityMuchMore StackSize=16384 ScaledStartupState=0x1087 HeapOption=ENewHeap MinHeapSize=256 MaxHeapSize=524288 SystemCriticalAfterInit=1 Group=C32SerComms OnDemand=1 Binding0=C32_BaseBand:2,C32_Main:0,ECustom,42,42 # Dont check heap if shutting down with EImmediate (KCF_ModuleImmediateNoCheck) ControlFlags=4 [IniData] Role=Player WorkerId=2 CSYList=ECUART
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.