bthci/hci2implementations/hctls/bcsp/inc/hctlbcspconsts.h
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bthci/hci2implementations/hctls/bcsp/inc/hctlbcspconsts.h	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,115 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "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:
+//
+// Description:
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#ifndef HCTLBCSPCONSTS_H
+#define HCTLBCSPCONSTS_H
+
+
+/**BCSP Channel allocation*/
+const TUint8 KBcspAckChnl=0x00;				// channel 0
+const TUint8 KBcspLinkChnl=0x01;			// channel 1 Link Establishment
+const TUint8 KBcspBcCmdChnl=0x02;			// channel 2
+const TUint8 KBcspCommEvntChnl=0x05;		// channel 5
+const TUint8 KBcspACLDataChnl=0x06;			// channel 6
+const TUint8 KBcspSynchronousDataChnl=0x07;	// channel 7
+
+//FlagByte Constants
+const TUint8 KBcspCrcPresentMask = 0x40;
+const TUint8 KBcspProtocolTypeMask = 0x80;
+
+const TUint8 KBcspSeqMask = 0x07;
+const TUint8 KBcspAckFieldOffset = 3;
+const TUint8 KBcspAckMask = 0x38;
+
+const TUint8 KBcspPayloadLen1stBitsMask=0xf0;
+const TUint8 KBcspProtocolIdMask=0x0f;	
+
+/**HCTL Header and trailer consts*/
+const TUint8 KBcspHeaderFlagsByteIndex = 0;
+const TUint8 KBcspHeaderByte2Index = 1;
+const TUint8 KBcspHeaderByte3Index = 2;
+const TUint8 KBcspHeaderChecksumByteIndex = 3;
+
+const TUint8 KBcspHeaderBytes = 4;
+const TUint8 KBcspCrcBytes = 2;
+
+/**Defined max payload sizes of various packet types*/
+const TUint16 KMaxSCOData = 64;
+const TUint16 KMaxHCICommand = 256;
+const TUint16 KMaxACLData = 1021;
+
+const TUint16 KMaxReliablePayloadSize=KMaxACLData+5;
+const TUint16 KMaxUnreliablePayloadSize=KMaxSCOData+4;
+
+/**Defined max windows size i.e. no. packets that can be transmitted without acknowledgement */
+const TUint8  KBcspReliableWindowSize = 4;
+const TUint8  KBcspUnreliableQueueSize = 4;
+const TUint8  KBcspWindowSize=4;      // Maximum Window Size for BCSP in Casiras by default
+const TUint8  KMaxBcspWindowSize=8;   // Window Size for BCSP in Casiras by default
+const TUint16 KHCIHeaderSize=4;
+
+
+/** Flags field masks */
+
+const TInt KBcspUnreliableDatagramQueue=0;
+const TInt KBcspReliableSequenceQueue=1;
+
+/**Sequence layer constants */
+const TUint8 KWindowSize=4;				// Define according to efficiency and performance
+const TUint8 KMaxWindowSize=8;
+const TInt KRxAckTimeout=250000;			// Some number to tune/adjust for performance
+const TInt KTxAckTimeout=125000;			// Some number to tune/adjust for performance
+const TUint8 KTxRetryLimit=20;				// Some number to tune/adjust for performance
+
+/**Link Establishment layer constants */
+_LIT8(KBcspLinkMsg_Sync,     "\xda\xdc\xed\xed");
+_LIT8(KBcspLinkMsg_SyncResp, "\xac\xaf\xef\xee");
+_LIT8(KBcspLinkMsg_Conf,     "\xad\xef\xac\xed");
+_LIT8(KBcspLinkMsg_ConfResp, "\xde\xad\xd0\xd0");
+const TInt KBcspConfCntMax=50;
+const TInt KTShyTimeout = 250000;
+const TInt KTConfTimeout = 250000;
+
+
+/**SLIP Encoding Bytes */
+const TUint8 KSlipWrapperByte = 0xc0;	
+const TUint8 KSlipByteDB = 0xdb;	
+const TUint8 KSlipByteDC = 0xdc;	
+const TUint8 KSlipByteDD = 0xdd;	
+
+/**BCSP Framing errors*/
+
+const TInt KErrSlipCorrupted=-6100;
+const TInt KErrBcspHeaderCorrupt=-6101;
+const TInt KErrBcspCorruptedHCIPayload=-6102;
+const TInt KErrBcspCRCCheckFailed=-6103;
+const TInt KErrBcspUnRecognizableHCIData=-6104;
+const TInt KErrBcspPacketTypeUnrecognized=-6105;
+const TInt KErrBcspInvalidAckFlagValue=-6106;
+const TInt KErrBcspInvalidSeqFlagValue=-6107;
+const TInt KErrBcspWriteACLDataFailed=-6108;
+const TInt KErrBcspWriteCommandDataFailed=-6109;
+const TInt KErrBcspNothingToSend = -6110;
+const TInt KErrBcspMaxRetries = -6111;
+const TInt KErrBcspWriteBcCmdDataFailed=-6112;
+
+const TUint KHCTLRecvBufSize=2048;
+
+#endif // HCTLBCSPCONSTS_H