// PLPLINK.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#if !defined (__PLPLINK_H__)
#define __PLPLINK_H__

#if !defined (__E32BASE_H__)
#include <e32base.h>
#endif

#if !defined(__C32COMM_H__)
#include <c32comm.h>
#endif

//
const TInt KMaxLinkPduSize = 300;
//
enum TPlpLinkConnectMode 
    { 
    EAcceptor, EInitiator
    };
//
class TPlpLinkTimerValues
    {
public:
    TUint iMinRtt;
    TUint iMaxRtt;
    TUint iDefaultSrtt;
    TUint iDefaultVrtt;
    };
//
class TPlpLinkOptions
    {

public:
    TPlpLinkTimerValues iTimerValues;
    TUint iCfgFlags;
    TUint iInactivityTimeout;
    TUint iWriteTimeout;
    TUint iMaxConnectRetries;
    TUint iMaxDataRetries;
    TUint iAbortLinger;
    TUint iExtTransmitWindow;
    TUint iExtReceiveWindow;
    TUint iSendFlowLowWater;
    TUint iSendFlowHighWater;
    TPlpLinkConnectMode iConnectMode;
	};
//
class TPlpLinkConfig : public TPlpLinkOptions
    {
public:
    TInt iBufferSize;
    TBps iRate;
    };
//
class TPlpLinkInfo
    {

public:
    enum TPeerType { ENoConnection, ENormal, EExtended };
    TUint iBrokenFrameTotal;
    TUint iRetransTotal;
    TPeerType iPeerType;
    };
//
const TUint KPlpLinkCfgNone                 = 0x00000000;
const TUint KPlpLinkCfgExtSendMagicNumber   = 0x00000001;
const TUint KPlpLinkCfgExtUseMagicNumber    = 0x00000002;
const TUint KPlpLinkCfgMonitorLine          = 0x00000004;
const TUint KPlpLinkCfgUseBaudDefaultTimers = 0x00000008;
const TUint KPlpLinkCfgExtObeyCTS           = 0x00000010;
const TUint KPlpLinkCfgExtUseWindowing      = 0x00000020;
const TUint KPlpLinkCfgAll                  = 0x0000003F;
//

#endif __PLPLINK_H__
