diff -r 000000000000 -r 72b543305e3a messagingappbase/obexmtms/TObexMTM/obexstub/BluetoothSdpStub/inc/sdpconsts.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/obexmtms/TObexMTM/obexstub/BluetoothSdpStub/inc/sdpconsts.h Thu Dec 17 08:44:11 2009 +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 + +// 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