📄 lcpoptions.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 + -