⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcpoptions.cpp

📁 基于单片机的 snmp协议解析的一些原代码 给有用的 同行
💻 CPP
字号:
//---------------------------------------------------------------------------
#include <string>
using namespace std;
#include <vcl.h>
#pragma hdrstop

#include "lcpOptions.h"
#include "linkDefs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
void lcpOptions::GetLCPOptions( long *theMaximumReceiveUnit, string *theAsyncControlCharacterMap,
    long *theAuthenticationProtocol, long *theQualityProtocol, long *theMagicNumber,
    bool *theProtocolFieldCompression, bool *theAddressControlFieldCompression,
    long *theReserved, long *theFCSAlternative, bool *theSelfDescribingPad, bool *theNumberedMode,
    bool *theCallback, bool *theMultilinkOptions)
{
    *theMaximumReceiveUnit = maximumReceiveUnit;
    theAsyncControlCharacterMap->assign(asyncControlCharacterMap);
    *theAuthenticationProtocol = authenticationProtocol;
    *theQualityProtocol = qualityProtocol;
    *theMagicNumber = magicNumber;
    *theProtocolFieldCompression = protocolFieldCompression;
    *theAddressControlFieldCompression = addressControlFieldCompression;
    *theReserved = reserved;
    *theFCSAlternative = FCSAlternative;
    *theSelfDescribingPad = selfDescribingPad;
    *theNumberedMode = numberedMode;
    *theCallback = callback;
    *theMultilinkOptions = multilinkOptions;
}
void lcpOptions::SetLCPOptions(long theMaximumReceiveUnit, string theAsyncControlCharacterMap,
    long theAuthenticationProtocol, long theQualityProtocol, long theMagicNumber,
    bool theProtocolFieldCompression, bool theAddressControlFieldCompression,
    long theReserved, long theFCSAlternative, bool theSelfDescribingPad, bool theNumberedMode,
    bool theCallback, bool theMultilinkOptions)
{
    maximumReceiveUnit = theMaximumReceiveUnit;
    asyncControlCharacterMap.assign(theAsyncControlCharacterMap);
    authenticationProtocol = theAuthenticationProtocol;
    qualityProtocol = theQualityProtocol;
    magicNumber = theMagicNumber;
    protocolFieldCompression = theProtocolFieldCompression;
    addressControlFieldCompression = theAddressControlFieldCompression;
    reserved = theReserved;
    FCSAlternative = theFCSAlternative;
    selfDescribingPad = theSelfDescribingPad;
    numberedMode = theNumberedMode;
    callback = theCallback;
    multilinkOptions = theMultilinkOptions;
}
void lcpOptions::GetSelectedOptions(long *numOptions, long *optionsList)
{
    int i=0;

    if (maximumReceiveUnit != 0)
        optionsList[i++] = PPP_OPTION_MAXIMUM_RECEIVE_UNIT;
    if (asyncControlCharacterMap.length() > 0)
        optionsList[i++] = PPP_OPTION_ASYNC_CONTROL_CHARACTER_MAP;
    if (authenticationProtocol != 0)
        optionsList[i++] = PPP_OPTION_AUTHENTICATION_PROTOCOL;
    if (qualityProtocol != 0)
        optionsList[i++] = PPP_OPTION_QUALITY_PROTOCOL;
    if (magicNumber != 0)
        optionsList[i++] = PPP_OPTION_MAGIC_NUMBER;
    if (protocolFieldCompression == true)
        optionsList[i++] = PPP_OPTION_PROTOCOL_FIELD_COMPRESSION;
    if (addressControlFieldCompression == true)
        optionsList[i++] = PPP_OPTION_ADDRESS_AND_CONTROL_FIELD_COMPRESSION;
    if (reserved != 0)
        optionsList[i++] = PPP_OPTION_RESERVED;
    if (FCSAlternative != 0)
        optionsList[i++] = PPP_OPTION_FCS_ALTERNATIVE;
    if (selfDescribingPad == true)
        optionsList[i++] = PPP_OPTION_SELF_DESCRIBING_PAD;
    if (numberedMode == true)
        optionsList[i++] = PPP_OPTION_NUMBERED_MODE;
    if (callback == true)
        optionsList[i++] = PPP_OPTION_CALLBACK;
    if (multilinkOptions == true)
        optionsList[i++] = PPP_OPTION_MULTILINK_OPTIONS;

    *numOptions = i;
}

long lcpOptions::GetMaximumReceiveUnit()
{
    return maximumReceiveUnit;
}
void lcpOptions::SetMaximumReceiveUnit(long theMRU)
{
    maximumReceiveUnit = theMRU;
}
string lcpOptions::GetAsyncControlCharacterMap()
{
    return asyncControlCharacterMap;
}
void lcpOptions::SetAsyncControlCharacterMap(string theCharacterMap)
{
    asyncControlCharacterMap.assign(theCharacterMap);
}
long lcpOptions::GetAuthenticationProtocol()
{
    return authenticationProtocol;
}
void lcpOptions::SetAuthenticationProtocol(long theProtocol)
{
    authenticationProtocol=theProtocol;
}
long lcpOptions::GetQualityProtocol()
{
    return qualityProtocol;
}
void lcpOptions::SetQualityProtocol(long theQualityProtocol)
{
    qualityProtocol = theQualityProtocol;
}
long lcpOptions::GetMagicNumber()
{
    return magicNumber;
}
void lcpOptions::SetMagicNumber(long theMagicNumber)
{
    magicNumber=theMagicNumber;
}
bool lcpOptions::GetProtocolFieldCompression()
{
    return protocolFieldCompression;
}
void lcpOptions::GetProtocolFieldCompression(bool theProtocolFieldCompression)
{
    protocolFieldCompression = theProtocolFieldCompression;
}
bool lcpOptions::GetAddressControlFieldCompression()
{
    return addressControlFieldCompression;
}
void lcpOptions::GetAddressControlFieldCompression(bool theAddressControlFieldCompression)
{
    addressControlFieldCompression = theAddressControlFieldCompression;
}
long lcpOptions::GetReserved()
{
    return reserved;
}
void lcpOptions::SetReserved(long theReserved)
{
    reserved = theReserved;
}
long lcpOptions::GetFCSAlternative()
{
    return FCSAlternative;
}
void lcpOptions::SetFCSAlternative(long theFCSAlternative)
{
    FCSAlternative = theFCSAlternative;
}
bool lcpOptions::GetSelfDescribingPad()
{
    return selfDescribingPad;
}
void lcpOptions::SetSelfDescribingPad(bool theSelfDescribingPad)
{
    selfDescribingPad = theSelfDescribingPad;
}
bool lcpOptions::GetNumberedMode()
{
    return numberedMode;
}
void lcpOptions::SetNumberedMode(bool theNumberedMode)
{
    numberedMode = theNumberedMode;
}
bool lcpOptions::GetCallback()
{
    return callback;
}
void lcpOptions::SetCallback(bool theCallback)
{
    callback = theCallback;
}
bool lcpOptions::GetMultilinkOptions()
{
    return multilinkOptions;
}
void lcpOptions::SetMultilinkOptions(bool theMultilinkOptions)
{
    multilinkOptions = theMultilinkOptions;
}
lcpOptions::lcpOptions()
{
    maximumReceiveUnit = 1500;
    asyncControlCharacterMap.assign("");
    authenticationProtocol = PPP_CHALLENGE_HANDSHAKE_AUTHENTICATION_PROTOCOL;
    qualityProtocol = 0;
    magicNumber = 0;
    protocolFieldCompression = false;
    addressControlFieldCompression = false;
    reserved = 0;
    FCSAlternative = 0;
    selfDescribingPad = false;
    numberedMode = false;
    callback = false;
    multilinkOptions = false;
}
lcpOptions::~lcpOptions()
{
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -