bluetoothmgmt/btcommon/inc/sdpconsts.h
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothmgmt/btcommon/inc/sdpconsts.h	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,112 @@
+// Copyright (c) 1999-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:
+// Constants for the SDP protocol.
+// Version for the SDP server
+// 
+//
+
+#ifndef SDPCONSTS_H
+#define SDPCONSTS_H
+
+#include <btsdp.h>
+
+// The PSM on which SDP resides
+static const TInt KSDPPSM = 0x01;
+
+// Idle timer default value (seconds)
+static const TInt KSDPIdleTimeout = 5;
+
+// Client timeouts
+static const TInt KSDPClientTimeout = 120; // seconds
+
+// PDU Size
+static const TInt KSdpMaxPduSize = 250;
+
+//PDU Fields
+static const TInt KSdpPduHeaderSize = 5;
+static const TInt KSdpPduIdOffset   = 0;
+static const TInt KSdpPduTransIdOffset = 1;
+static const TInt KSdpPduParamLengthOffset = 3;
+
+// PDU Types
+enum TSdpPduId
+	{
+	EErrorResponse					= 0x01,
+	EServiceSearchRequest			= 0x02,
+	EServiceSearchResponse			= 0x03,
+	EServiceAttributeRequest		= 0x04,
+	EServiceAttributeResponse		= 0x05,
+	EServiceSearchAttributeRequest	= 0x06,
+	EServiceSearchAttributeResponse	= 0x07
+	};
+
+// Errors
+enum TSdpErrorCodes							// EPOC error that'll generate each code
+	{
+	EErrorReserved				= 0x00,
+	EInvalidSdpVersion			= 0x01,		// KErrNotSupported
+	EInvalidServiceRecordHandle = 0x02,		// KErrBadHandle 
+	EInvalidRequestSyntax		= 0x03,		// KErrCorrupt, KErrArgument
+	EInvalidPduSize				= 0x04,		// KErrOverflow, KErrUnderflow, KErrTooBig
+	EInvalidContinuationState	= 0x05,		// KErrNotReady, KErrUnknown, KErrLocked
+	EInsufficientResources		= 0x06,		// KErrNoMemory, KErrHardwareNotAvailable
+	};
+
+
+
+// Data Element stuff
+
+static const TInt KErrSdpParserInvalidSizeForType = -3000;
+static const TInt KErrSdpParserInvalidSizeForParentList = -3001;
+static const TInt KErrSdpBadAttributeId = -3002;
+
+static const TInt KSdpRecordHandleSize = 4;
+static const TInt KSdpAttributeIdSize = 2;
+static const TSdpServRecordHandle KSdpMaxServRecordHandle = 0xffffffff;
+static const TSdpServRecordHandle KSdpMinServRecordHandle = 0x10000;
+
+static const TInt KSdpContinuationStateMaxLength = 16;
+
+enum TSdpElementSizeDesc
+	{
+	ESizeOneByte		= 0,
+	ESizeTwoBytes		= 1,
+	ESizeFourBytes		= 2,
+	ESizeEightBytes		= 3,
+	ESizeSixteenBytes	= 4,
+	ESizeOneAdditional	= 5,
+	ESizeTwoAdditional	= 6,
+	ESizeFourAdditional	= 7
+	};
+
+// Element header fields
+static const TInt KSdpElemHdrTypeShift = 3;
+static const TInt KSdpElemHdrSizeMask = 0x07;
+
+// Data Element Stuff
+static const TUint8 KSdpElementValidSizes[] = 
+	{		// Type		// Sizes
+	0x01,	//	00		-------0
+	0x1f,	//	01		---43210
+	0x1f,	//	02		---43210
+	0x16,	//	03		---4-21-
+	0xe0,	//	04		765-----
+	0x01,	//	05		-------0
+	0xe0,	//	06		765-----
+	0xe0,	//	07		765-----
+	0xe0	//	08		765-----
+	};
+
+
+#endif