epoc32/include/d32comm.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/d32comm.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,572 +0,0 @@
     1.4 -// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 -// All rights reserved.
     1.6 -// This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 -// which accompanies this distribution, and is available
     1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 -//
    1.11 -// Initial Contributors:
    1.12 -// Nokia Corporation - initial contribution.
    1.13 -//
    1.14 -// Contributors:
    1.15 -//
    1.16 -// Description:
    1.17 -// e32\include\d32comm.h
    1.18 -// 
    1.19 -//
    1.20 -
    1.21 -//#define _DEBUG_DEVCOMM
    1.22 -
    1.23 -/**
    1.24 -@file
    1.25 -@publishedPartner
    1.26 -@released
    1.27 -*/
    1.28 -
    1.29 -#ifndef __D32COMM_H__
    1.30 -#define __D32COMM_H__
    1.31 -#include <e32cmn.h>
    1.32 -#include <e32ver.h>
    1.33 -
    1.34 -/**
    1.35 - Enumeration of number of data bits for serial port configuration.
    1.36 - Typically, these values are used to initialize the iDataBits of 
    1.37 - TCommConfigV01 before calling DComm::Configure() or any other serial
    1.38 - comm API to configure the serial port's databits size.
    1.39 - */
    1.40 -enum TDataBits {EData5,EData6,EData7,EData8};
    1.41 -/**
    1.42 - Enumeration of number of stop bits for serial port configuration.
    1.43 - Typically, these values are used to initialize the iStopBits of 
    1.44 - TCommConfigV01 before calling DComm::Configure() or any other serial
    1.45 - comm API to configure the serial port's stopbits.
    1.46 - */
    1.47 -enum TStopBits {EStop1,EStop2};
    1.48 -/**
    1.49 - Enumeration of types of parity for serial port configuration.
    1.50 - Typically, these values are used to initialize the iParity of 
    1.51 - TCommConfigV01 before calling DComm::Configure() or any other serial
    1.52 - comm API to configure the serial port's parity setting.
    1.53 - */
    1.54 -enum TParity {EParityNone,EParityEven,EParityOdd,EParityMark,EParitySpace};
    1.55 -/**
    1.56 - Enumeration of baud rates in bits per second for serial port configuration.
    1.57 - * e.g EBps115200 is for 115200Bps data rate  
    1.58 - Typically, these values are used to initialize the iRate of TCommConfigV01 
    1.59 - before calling DComm::Configure() or any other serial comm API to configure
    1.60 - the serial port's baud rate.
    1.61 - */
    1.62 -enum TBps
    1.63 -	{
    1.64 -	EBps50,
    1.65 -	EBps75,
    1.66 -	EBps110,
    1.67 -	EBps134,
    1.68 -	EBps150,
    1.69 -	EBps300,
    1.70 -	EBps600,
    1.71 -	EBps1200,
    1.72 -	EBps1800,
    1.73 -	EBps2000,
    1.74 -	EBps2400,
    1.75 -	EBps3600,
    1.76 -	EBps4800,
    1.77 -	EBps7200,
    1.78 -	EBps9600,
    1.79 -	EBps19200,
    1.80 -	EBps38400,
    1.81 -	EBps57600,
    1.82 -	EBps115200,
    1.83 -	EBps230400,
    1.84 -	EBps460800,
    1.85 -	EBps576000,
    1.86 -	EBps1152000,
    1.87 -	EBps4000000,
    1.88 -	EBps921600,
    1.89 -	EBpsAutobaud=0x40000000,
    1.90 -	EBpsSpecial=0x80000000,
    1.91 -	};
    1.92 -/**
    1.93 - Enumeration of Fifo status (enable and disable) for serial port configuration.
    1.94 - Typically, these values are used to initialize the iFifo of TCommConfigV01 
    1.95 - before calling DComm::Configure() or any other serial comm API to configure
    1.96 - the serial port's fifo.
    1.97 - */
    1.98 -enum TFifo
    1.99 -	{
   1.100 -	EFifoEnable,EFifoDisable,
   1.101 -	};
   1.102 -/**
   1.103 - Enumeration of SIR status (enable and disable) for serial comm configuration.
   1.104 - Typically, these values are used to initialize the iSIREnable of TCommConfigV01 
   1.105 - before calling DComm::Configure() or any other serial comm API to configure
   1.106 - the serial port's SIR (infrared) settings.
   1.107 - */
   1.108 -enum TSir 
   1.109 -	{
   1.110 -	ESIREnable,ESIRDisable,
   1.111 -	};
   1.112 -
   1.113 -enum TFlowControl
   1.114 -	{
   1.115 -	EFlowControlOn,EFlowControlOff
   1.116 -	};
   1.117 -//
   1.118 -
   1.119 -const TInt KConfigMaxTerminators=4;
   1.120 -// DTE Constants
   1.121 -const TUint KConfigObeyXoff=0x01;
   1.122 -const TUint KConfigSendXoff=0x02;
   1.123 -const TUint KConfigObeyCTS=0x04;
   1.124 -const TUint KConfigFailCTS=0x08;
   1.125 -const TUint KConfigObeyDSR=0x10;
   1.126 -const TUint KConfigFailDSR=0x20;
   1.127 -const TUint KConfigObeyDCD=0x40;
   1.128 -const TUint KConfigFailDCD=0x80;
   1.129 -const TUint KConfigFreeRTS=0x100;
   1.130 -const TUint KConfigFreeDTR=0x200;
   1.131 -// DCE Constants
   1.132 -const TUint KConfigObeyDTR=0x400;
   1.133 -const TUint KConfigFailDTR=0x800;
   1.134 -const TUint KConfigObeyRTS=0x1000;
   1.135 -const TUint KConfigFailRTS=0x2000;
   1.136 -const TUint KConfigFreeDSR=0x4000;
   1.137 -const TUint KConfigFreeCTS=0x8000;
   1.138 -const TUint KConfigFreeDCD=0x10000;
   1.139 -const TUint KConfigFreeRI=0x20000;
   1.140 -const TUint KConfigWriteBufferedComplete=0x80000000;
   1.141 -//
   1.142 -const TUint KConfigParityErrorFail=0;
   1.143 -const TUint KConfigParityErrorIgnore=0x01;
   1.144 -const TUint KConfigParityErrorReplaceChar=0x02;
   1.145 -const TUint KConfigXonXoffDebug=0x80000000;
   1.146 -//
   1.147 -const TUint KSignalCTS=0x01;
   1.148 -const TUint KSignalDSR=0x02;
   1.149 -const TUint KSignalDCD=0x04;
   1.150 -const TUint KSignalRNG=0x08;
   1.151 -const TUint KSignalRTS=0x10; 
   1.152 -const TUint KSignalDTR=0x20;
   1.153 -const TUint KSignalBreak=0x40;
   1.154 -
   1.155 -const TUint KSignalChanged=0x1000;
   1.156 -const TUint KCTSChanged=KSignalCTS*KSignalChanged;
   1.157 -const TUint KDSRChanged=KSignalDSR*KSignalChanged;
   1.158 -const TUint KDCDChanged=KSignalDCD*KSignalChanged;
   1.159 -const TUint KRNGChanged=KSignalRNG*KSignalChanged;
   1.160 -const TUint KRTSChanged=KSignalRTS*KSignalChanged;
   1.161 -const TUint KDTRChanged=KSignalDTR*KSignalChanged;
   1.162 -const TUint KBreakChanged=KSignalBreak*KSignalChanged;
   1.163 -
   1.164 -const TUint KSignalDTEOutputs=KSignalRTS|KSignalDTR;
   1.165 -const TUint KSignalDTEInputs=KSignalCTS|KSignalDSR|KSignalDCD|KSignalRNG;
   1.166 -const TUint KSignalDCEInputs=KSignalDTEOutputs;
   1.167 -const TUint KSignalDCEOutputs=KSignalDTEInputs;
   1.168 -
   1.169 -const TUint KConfigSIRPulseWidthMaximum=0x01;
   1.170 -const TUint KConfigSIRPulseWidthMinimum=0x02;
   1.171 -
   1.172 -// more SIRSettings for selecting the IR range
   1.173 -const TUint KConfigSIRShutDown=0x10;
   1.174 -const TUint KConfigSIRMinimumRange=0x20;
   1.175 -const TUint KConfigSIRMediumRange=0x40;
   1.176 -const TUint KConfigSIRMaximumRange=0x80;
   1.177 -
   1.178 -/**
   1.179 - Comms configuration structure.
   1.180 - Class to hold the configuration settings for serial comm port
   1.181 - 
   1.182 - This class provides the serial port configuration block interface of serial comms (c32).
   1.183 - A serial comm client sets up a serial port before use, by providing a configuration block. 
   1.184 - TCommConfigV01 is initialized with settings for serial port and used to configure the 
   1.185 - serial port by calling DComm::Configure(TCommConfigV01 &aConfig) or any other serial comm 
   1.186 - API to configure the serial port.
   1.187 - */
   1.188 -class TCommConfigV01
   1.189 -    {
   1.190 -public:
   1.191 -	/** 
   1.192 -	 Data rate in bits per second.
   1.193 -	 @see TBps 	
   1.194 -	 */
   1.195 -	TBps iRate;
   1.196 -	/** 
   1.197 -	 Character width in bits.
   1.198 -	 @see TDataBits
   1.199 -	 */	
   1.200 -	TDataBits iDataBits;
   1.201 -	/**
   1.202 -	 Number of stop bits.
   1.203 -	 @see TStopBits
   1.204 -	 */
   1.205 -	TStopBits iStopBits;
   1.206 -	/**
   1.207 -	 Type of parity.
   1.208 -	 @see TParity 
   1.209 -	 */
   1.210 -	TParity iParity;
   1.211 -	/**
   1.212 -	 Type of Handshaking control.
   1.213 -	 Possible values can be KConfigObeyXXX or KConfigSendXXX or KConfigFailXXX or KConfigFreeXXX
   1.214 -	 */
   1.215 -	TUint iHandshake;
   1.216 -	/**
   1.217 -	 Type of error to generate on a parity failure.
   1.218 -	 Possible values can be KConfigParityErrorFail or KConfigParityErrorIgnore or KConfigParityErrorReplaceChar
   1.219 -	 */
   1.220 -	TUint iParityError;
   1.221 -	/**
   1.222 -	 FIFO status, enabled or disabled.
   1.223 -	 @see TFifo 
   1.224 -	 */
   1.225 -	TUint iFifo;
   1.226 -	/**
   1.227 -	 Special data rate, not listed under TBps. Use this, when iRate is set to EBpsSpecial 
   1.228 -	 */
   1.229 -	TInt iSpecialRate;
   1.230 -	/**
   1.231 -	 Count of number of special characters used as terminators (<=KConfigMaxTerminators) 
   1.232 -	 */				
   1.233 -	TInt iTerminatorCount;
   1.234 -	/**
   1.235 -	 Array of special characters which can be used as terminators 
   1.236 -	 */
   1.237 -	TText8 iTerminator[KConfigMaxTerminators];
   1.238 -	/**
   1.239 -	 Character used to signal the transmitter to resume sending when using XON/XOFF handshaking
   1.240 -	 i.e character used as XON - software flow control
   1.241 -	 */
   1.242 -	TText8 iXonChar;
   1.243 -	/**
   1.244 -	 Character used to signal the transmitter to suspend sending when using XON/XOFF handshaking
   1.245 -	 i.e character used as XOFF - software flow control
   1.246 -	 */
   1.247 -	TText8 iXoffChar;
   1.248 -	/**
   1.249 -	 Character used to replace the characters received with a parity error.
   1.250 -	 This is used when iParityError is set to KConfigParityErrorReplaceChar 
   1.251 -	 */	
   1.252 -	TText8 iParityErrorChar;
   1.253 -	/**
   1.254 -	 Switch the SIR encoding hardware on and off.
   1.255 -	 @see TSir
   1.256 -	 */
   1.257 -	TSir iSIREnable;
   1.258 -	/**
   1.259 -	 SIR hardware control setting. Possible value can be one of KConfigSIRXXX
   1.260 -	 */
   1.261 -	TUint iSIRSettings;
   1.262 -	};
   1.263 -/** 
   1.264 - Package buffer for a TCommConfigV01 object.
   1.265 - 
   1.266 - TCommConfig packages the comms configuration structure TCommConfigV01 to a buffer. 
   1.267 - This is used with API of serial comms like RComm::Config(TDes8 &aConfig) and 
   1.268 - RComm::SetConfig(TDesC8 &aConfig) where config structure is passed as buffer.
   1.269 - 
   1.270 - @see TCommConfigV01
   1.271 - */		
   1.272 -typedef TPckgBuf<TCommConfigV01> TCommConfig;
   1.273 -
   1.274 -// TCommConfigV02 is deprecated.
   1.275 -//
   1.276 -class TCommConfigV02: public TCommConfigV01
   1.277 -	{
   1.278 -public:		
   1.279 -	TInt iTxShutdownTimeout;
   1.280 -	};
   1.281 -
   1.282 -// TCommConfig2 is deprecated
   1.283 -// 
   1.284 -typedef TPckgBuf<TCommConfigV02> TCommConfig2;
   1.285 -
   1.286 -//
   1.287 -const TUint KCapsBps50=0x00000001;
   1.288 -const TUint KCapsBps75=0x00000002;
   1.289 -const TUint KCapsBps110=0x00000004;
   1.290 -const TUint KCapsBps134=0x00000008;
   1.291 -const TUint KCapsBps150=0x00000010;
   1.292 -const TUint KCapsBps300=0x00000020;
   1.293 -const TUint KCapsBps600=0x00000040;
   1.294 -const TUint KCapsBps1200=0x00000080;
   1.295 -const TUint KCapsBps1800=0x00000100;
   1.296 -const TUint KCapsBps2000=0x00000200;
   1.297 -const TUint KCapsBps2400=0x00000400;
   1.298 -const TUint KCapsBps3600=0x00000800;
   1.299 -const TUint KCapsBps4800=0x00001000;
   1.300 -const TUint KCapsBps7200=0x00002000;
   1.301 -const TUint KCapsBps9600=0x00004000;
   1.302 -const TUint KCapsBps19200=0x00008000;
   1.303 -const TUint KCapsBps38400=0x00010000;
   1.304 -const TUint KCapsBps57600=0x00020000;
   1.305 -const TUint KCapsBps115200=0x00040000;
   1.306 -const TUint KCapsBps230400=0x00080000;
   1.307 -const TUint KCapsBps460800=0x00100000;
   1.308 -const TUint KCapsBps576000 =0x00200000;
   1.309 -const TUint KCapsBps1152000=0x00400000;
   1.310 -const TUint KCapsBps4000000=0x00800000;
   1.311 -const TUint KCapsBps921600=0x01000000;
   1.312 -const TUint KCapsBpsAutobaud=0x40000000;
   1.313 -const TUint KCapsBpsSpecial=0x80000000;
   1.314 -//
   1.315 -const TUint KCapsData5=0x01;
   1.316 -const TUint KCapsData6=0x02;
   1.317 -const TUint KCapsData7=0x04;
   1.318 -const TUint KCapsData8=0x08;
   1.319 -//
   1.320 -const TUint KCapsStop1=0x01;
   1.321 -const TUint KCapsStop2=0x02;
   1.322 -//
   1.323 -const TUint KCapsParityNone=0x01;
   1.324 -const TUint KCapsParityEven=0x02;
   1.325 -const TUint KCapsParityOdd=0x04;
   1.326 -const TUint KCapsParityMark=0x08;
   1.327 -const TUint KCapsParitySpace=0x10;
   1.328 -//
   1.329 -const TUint KCapsSignalCTSSupported=0x01;
   1.330 -const TUint KCapsSignalDSRSupported=0x02;
   1.331 -const TUint KCapsSignalDCDSupported=0x04;
   1.332 -const TUint KCapsSignalRNGSupported=0x08;
   1.333 -const TUint KCapsSignalRTSSupported=0x10;
   1.334 -const TUint KCapsSignalDTRSupported=0x20;
   1.335 -//
   1.336 -const TUint KCapsObeyXoffSupported=0x01;
   1.337 -const TUint KCapsSendXoffSupported=0x02;
   1.338 -const TUint KCapsObeyCTSSupported=0x04;
   1.339 -const TUint KCapsFailCTSSupported=0x08;
   1.340 -const TUint KCapsObeyDSRSupported=0x10;
   1.341 -const TUint KCapsFailDSRSupported=0x20;
   1.342 -const TUint KCapsObeyDCDSupported=0x40;
   1.343 -const TUint KCapsFailDCDSupported=0x80;
   1.344 -const TUint KCapsFreeRTSSupported=0x100;
   1.345 -const TUint KCapsFreeDTRSupported=0x200;
   1.346 -// DCE Constants
   1.347 -const TUint KCapsObeyRTSSupported=0x400;
   1.348 -const TUint KCapsObeyDTRSupported=0x800;
   1.349 -//
   1.350 -const TUint KCapsHasFifo=0x01;
   1.351 -//
   1.352 -const TUint KCapsSIR115kbps=0x01;
   1.353 -const TUint KCapsSIR2400bpsOnly=0x02;
   1.354 -const TUint KCapsSIR4Mbs=0x04;
   1.355 -//
   1.356 -const TUint KNotifySignalsChangeSupported=0x01;
   1.357 -const TUint KNotifyRateChangeSupported=0x02;
   1.358 -const TUint KNotifyDataFormatChangeSupported=0x04;
   1.359 -const TUint KNotifyHandshakeChangeSupported=0x08;
   1.360 -const TUint KNotifyBreakSupported=0x10;
   1.361 -const TUint KNotifyFlowControlChangeSupported=0x20;
   1.362 -const TUint KNotifyDataAvailableSupported=0x40;
   1.363 -const TUint KNotifyOutputEmptySupported=0x80;
   1.364 -//
   1.365 -const TUint KCapsRoleSwitchSupported=0x01;
   1.366 -//
   1.367 -const TUint KCapsFlowControlStatusSupported=0x01;
   1.368 -//
   1.369 -const TUint KRateChanged=0x01;
   1.370 -const TUint KDataFormatChanged=0x02;
   1.371 -const TUint KHandshakeChanged=0x04;
   1.372 -//
   1.373 -class TCommCapsV01
   1.374 -	{
   1.375 -public:
   1.376 -	TUint iRate;
   1.377 -	TUint iDataBits;
   1.378 -	TUint iStopBits;
   1.379 -	TUint iParity;
   1.380 -	TUint iHandshake;
   1.381 -	TUint iSignals;
   1.382 -	TUint iFifo;
   1.383 -	TUint iSIR;
   1.384 -	};
   1.385 -typedef TPckgBuf<TCommCapsV01> TCommCaps;
   1.386 -
   1.387 -class TCommCapsV02 : public TCommCapsV01
   1.388 -	{
   1.389 -public:
   1.390 -	TUint iNotificationCaps;
   1.391 -	TUint iRoleCaps;
   1.392 -	TUint iFlowControlCaps;
   1.393 -	};
   1.394 -typedef TPckgBuf<TCommCapsV02> TCommCaps2;
   1.395 -
   1.396 -class TCommCapsV03 : public TCommCapsV02
   1.397 -	{
   1.398 -public:
   1.399 -	TBool iBreakSupported;
   1.400 -	};
   1.401 -typedef TPckgBuf<TCommCapsV03> TCommCaps3;
   1.402 -
   1.403 -//
   1.404 -class TCapsDevCommV01
   1.405 -	{
   1.406 -public:
   1.407 -	TVersion version;
   1.408 -	};
   1.409 -
   1.410 -class TCommNotificationV01
   1.411 -	{
   1.412 -public:
   1.413 -	TUint iChangedMembers;
   1.414 -	TBps iRate;
   1.415 -	TDataBits iDataBits;
   1.416 -	TStopBits iStopBits;
   1.417 -	TParity iParity;
   1.418 -	TUint iHandshake;
   1.419 -	};
   1.420 -typedef TPckgBuf<TCommNotificationV01> TCommNotificationPckg;
   1.421 -//
   1.422 -const TUint KDataAvailableNotifyFlag=0x80000000;
   1.423 -//
   1.424 -#ifdef _DEBUG_DEVCOMM
   1.425 -class TCommDebugInfo
   1.426 -	{
   1.427 -public:
   1.428 -	TBool iRxBusy;
   1.429 -	TBool iRxHeld;
   1.430 -	TInt iRxLength;
   1.431 -	TInt iRxOffset;
   1.432 -	TInt iRxIntCount;
   1.433 -	TInt iRxErrCount;
   1.434 -	TInt iRxBufCount;
   1.435 -	TBool iTxBusy;
   1.436 -	TBool iTxHeld;
   1.437 -	TInt iTxLength;
   1.438 -	TInt iTxOffset;
   1.439 -	TInt iTxIntCount;
   1.440 -	TInt iTxErrCount;
   1.441 -	TInt iTxBufCount;
   1.442 -	TBool iDrainingRxBuf;
   1.443 -	TBool iFillingTxBuf;
   1.444 -	TBool iRunningDfc;
   1.445 -	TInt iDfcCount;
   1.446 -	TInt iDfcReqSeq;
   1.447 -	TInt iDfcHandlerSeq;
   1.448 -	TInt iDoDrainSeq;
   1.449 -	TBool iTxDfcPend;
   1.450 -	TBool iRxDfcPend;
   1.451 -	TInt iTxChars, iRxChars;
   1.452 -	TInt iTxXon, iTxXoff, iRxXon, iRxXoff;
   1.453 -	};
   1.454 -typedef TPckgBuf<TCommDebugInfo> TCommDebugInfoPckg;
   1.455 -#endif
   1.456 -//
   1.457 -class RBusDevComm : public RBusLogicalChannel
   1.458 -	{
   1.459 -public:
   1.460 -	enum TVer {EMajorVersionNumber=1,EMinorVersionNumber=0,EBuildVersionNumber=KE32BuildVersionNumber};
   1.461 -	enum TRequest
   1.462 -		{
   1.463 -		ERequestRead=0x0,ERequestReadCancel=0x1,
   1.464 -		ERequestWrite=0x1,ERequestWriteCancel=0x2,
   1.465 -		ERequestBreak=0x2,ERequestBreakCancel=0x4,
   1.466 -		ERequestNotifySignalChange=0x3,ERequestNotifySignalChangeCancel=0x8,
   1.467 -		};
   1.468 -	enum TControl
   1.469 -		{
   1.470 -		EControlConfig,EControlSetConfig,EControlCaps,
   1.471 -		EControlSignals,EControlSetSignals,
   1.472 -		EControlQueryReceiveBuffer,EControlResetBuffers,
   1.473 -		EControlReceiveBufferLength,EControlSetReceiveBufferLength,
   1.474 -		EControlMinTurnaroundTime,EControlSetMinTurnaroundTime,
   1.475 -#ifdef _DEBUG_DEVCOMM
   1.476 -		EControlDebugInfo
   1.477 -#endif
   1.478 -		};
   1.479 -public:
   1.480 -#ifndef __KERNEL_MODE__
   1.481 -	inline TInt Open(TInt aUnit);
   1.482 -	inline TVersion VersionRequired() const;
   1.483 -	inline void Read(TRequestStatus &aStatus,TDes8 &aDes);
   1.484 -	inline void Read(TRequestStatus &aStatus,TDes8 &aDes,TInt aLength);
   1.485 -	inline void ReadOneOrMore(TRequestStatus &aStatus,TDes8 &aDes);
   1.486 -	inline void ReadCancel();
   1.487 -	inline void Write(TRequestStatus &aStatus,const TDesC8 &aDes);
   1.488 -	inline void Write(TRequestStatus &aStatus,const TDesC8 &aDes,TInt aLength);
   1.489 -	inline void WriteCancel();
   1.490 -	inline void Break(TRequestStatus &aStatus,TInt aTime);
   1.491 -	inline void BreakCancel();
   1.492 -	inline void Config(TDes8 &aConfig);
   1.493 -	inline TInt SetConfig(const TDesC8 &aConfig);
   1.494 -	inline void Caps(TDes8 &aCaps);
   1.495 -	inline TUint Signals();
   1.496 -	inline void SetSignals(TUint aSetMask,TUint aClearMask);
   1.497 -	inline TInt QueryReceiveBuffer();
   1.498 -	inline void ResetBuffers();
   1.499 -	inline TInt ReceiveBufferLength();
   1.500 -	inline TInt SetReceiveBufferLength(TInt aLength);
   1.501 -	inline void NotifySignalChange(TRequestStatus& aStatus,TUint& aSignals,TUint aSignalMask=0x3F);
   1.502 -	inline void NotifySignalChangeCancel();
   1.503 -	inline void NotifyReceiveDataAvailable(TRequestStatus& aStatus);
   1.504 -	inline void NotifyReceiveDataAvailableCancel();
   1.505 -	inline TUint MinTurnaroundTime();
   1.506 -	inline TInt SetMinTurnaroundTime(TUint aMicroSeconds);
   1.507 -#ifdef _DEBUG_DEVCOMM
   1.508 -	inline void DebugInfo(TDes8 &aInfo);
   1.509 -#endif
   1.510 -#endif
   1.511 -	};
   1.512 -
   1.513 -class RBusDevCommDCE : public RBusLogicalChannel
   1.514 -	{
   1.515 -public:
   1.516 -	enum TVer {EMajorVersionNumber=1,EMinorVersionNumber=0,EBuildVersionNumber=KE32BuildVersionNumber};
   1.517 -	enum TRequest
   1.518 -		{
   1.519 -		ERequestRead=0x0,ERequestReadCancel=0x1,
   1.520 -		ERequestWrite=0x1,ERequestWriteCancel=0x2,
   1.521 -		ERequestBreak=0x2,ERequestBreakCancel=0x4,
   1.522 -		ERequestNotifySignalChange=0x3,ERequestNotifySignalChangeCancel=0x8,
   1.523 -		ERequestNotifyFlowControlChange=0x4,ERequestNotifyFlowControlChangeCancel=0x10,
   1.524 -		ERequestNotifyConfigChange=0x5,ERequestNotifyConfigChangeCancel=0x20
   1.525 -		};
   1.526 -	enum TControl
   1.527 -		{
   1.528 -		EControlConfig,EControlSetConfig,EControlCaps,
   1.529 -		EControlSignals,EControlSetSignals,
   1.530 -		EControlQueryReceiveBuffer,EControlResetBuffers,
   1.531 -		EControlReceiveBufferLength,EControlSetReceiveBufferLength,
   1.532 -		EControlFlowControlStatus,
   1.533 -#ifdef _DEBUG_DEVCOMM
   1.534 -		EControlDebugInfo
   1.535 -#endif
   1.536 -		};
   1.537 -public:
   1.538 -#ifndef __KERNEL_MODE__
   1.539 -	inline TInt Open(TInt aUnit);
   1.540 -	inline TVersion VersionRequired() const;
   1.541 -	inline void Read(TRequestStatus &aStatus,TDes8 &aDes);
   1.542 -	inline void Read(TRequestStatus &aStatus,TDes8 &aDes,TInt aLength);
   1.543 -	inline void ReadOneOrMore(TRequestStatus &aStatus,TDes8 &aDes);
   1.544 -	inline void ReadCancel();
   1.545 -	inline void Write(TRequestStatus &aStatus,const TDesC8 &aDes);
   1.546 -	inline void Write(TRequestStatus &aStatus,const TDesC8 &aDes,TInt aLength);
   1.547 -	inline void WriteCancel();
   1.548 -	inline void Break(TRequestStatus &aStatus,TInt aTime);
   1.549 -	inline void BreakCancel();
   1.550 -	inline void Config(TDes8 &aConfig);
   1.551 -	inline TInt SetConfig(const TDesC8 &aConfig);
   1.552 -	inline void Caps(TDes8 &aCaps);
   1.553 -	inline TUint Signals();
   1.554 -	inline void SetSignals(TUint aSetMask,TUint aClearMask);
   1.555 -	inline TInt QueryReceiveBuffer();
   1.556 -	inline void ResetBuffers();
   1.557 -	inline TInt ReceiveBufferLength();
   1.558 -	inline TInt SetReceiveBufferLength(TInt aLength);
   1.559 -	inline void NotifySignalChange(TRequestStatus& aStatus,TUint& aSignals,TUint aSignalMask=0x3F);
   1.560 -	inline void NotifySignalChangeCancel();
   1.561 -	inline void NotifyReceiveDataAvailable(TRequestStatus& aStatus);
   1.562 -	inline void NotifyReceiveDataAvailableCancel();
   1.563 -	inline void NotifyFlowControlChange(TRequestStatus& aStatus);
   1.564 -	inline void NotifyFlowControlChangeCancel();
   1.565 -	inline void GetFlowControlStatus(TFlowControl& aFlowControl);
   1.566 -	inline void NotifyConfigChange(TRequestStatus& aStatus, TDes8& aNewConfig);
   1.567 -	inline void NotifyConfigChangeCancel();
   1.568 -#ifdef _DEBUG_DEVCOMM
   1.569 -	inline void DebugInfo(TDes8 &aInfo);
   1.570 -#endif
   1.571 -#endif
   1.572 -	};
   1.573 -
   1.574 -#include <d32comm.inl>
   1.575 -#endif