bluetoothcommsprofiles/btpan/bnep/bneputils.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 15 Jan 2010 08:13:17 +0200
changeset 0 29b1cd4cb562
permissions -rw-r--r--
Revision: 200951_001

// Copyright (c) 2004-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 __BNEPUTILS_H
#define __BNEPUTILS_H 

#include <e32std.h>
#include <e32def.h>
#include <bttypes.h>

const TInt KEthernetHWAddrSize = KBTDevAddrSize;
const TInt KEthernetProtocolSize = 2;
const TInt KBnepPacketTypeSize = 1;
const TInt KMaxBnepHeaderSize = 19;
const TInt KEthernetProtocolOffset = KEthernetHWAddrSize * 2;
const TInt KEthernetHeaderSize = KEthernetProtocolOffset + KEthernetProtocolSize;

const TInt KSocketReaderPriority = EPriorityHigh;
//KBnepProceedCallBackPriority is used for async callback from PanAgent after processing
//a part of the frame. The priority has be higher than the one used in socket reader.
//Otherwise the current frame may be overwritten if the socket reader completes request 
//before the async callback.
const TInt KBnepProceedCallBackPriority = KSocketReaderPriority + 1;

namespace Bnep
    {
    enum TBnepPanic
        {
        ENullTlsPointer,
        ENullPointer,
        EUnableToRespond,
        ESocketWriterQueueOverflow,
        ELogResetAttempt,
        EAppendFailed,
        ECallBackAlreadyAdded,
        EProceedingOnInvalidLink,
        EUnexpectedMessage
        };
    } // Namespace Bnep

class BnepUtils 
    {
public:
    static TBool IsMulticast (const TBTDevAddr& aAddr);
    static void Panic (Bnep::TBnepPanic aReason);
    };

#endif