lcp.h
来自「基于单片机的 snmp协议解析的一些原代码 给有用的 同行」· C头文件 代码 · 共 69 行
H
69 行
//---------------------------------------------------------------------------
#ifndef lcpH
#define lcpH
//---------------------------------------------------------------------------
//#include <string>
#include "lcpOptions.h"
class LCP
{
public:
LCP();
~LCP();
void FillLCP(string &data);
void GetMessageType(string &type);
void AssignConfigureReject(LCP receivedMessage);
void AssignConfigureAck(LCP receivedMessage);
void AssignConfigureNak(LCP receivedMessage);
void AssignConfigureRequest();
void AssignConfigureRequest(unsigned char ident);
void AppendConfigureRequestOption(unsigned long option, string theOptionData);
void AppendConfigureRequestOption(unsigned long option, long optionType);
void AssignTerminateRequest();
void AssignTerminateRequest(unsigned char ident);
void AssignTerminateAck(unsigned char ident);
void AssignCodeReject();
void AssignCodeReject(LCP receivedMessage);
void AssignProtocolReject(LCP receivedMessage);
void AssignEchoRequest(unsigned char ident);
void AssignEchoReply(unsigned char ident);
void AssignDiscardRequest(unsigned char ident);
unsigned char GetCode();
unsigned char GetIdentifier();
unsigned short GetLength();
// unsigned short GetData(unsigned char *dataArray);
unsigned short GetData(string &dataArray);
unsigned short GetPacket(string &packet);
long GetEvent(LCP lastSentLCP, long lastSentMagicNumber);
void SetPacketTime();
unsigned long GetPacketTime();
char GetConfigureRequestOptionType();
long HandleConfigureRequest(long lastSentMagicNumber);
string GetOptionString(long theOptionType);
long GetOption(char *theUsedOptionLength, char *theOptionType, char *theOptionLength, char *theOptionData);
long FillOptionsList(LCP receivedMessage, string &newOptionsList, long newMessageType);
long GetMagicNumber();
void GetLCPOptions( long *maximumReceiveUnit, string *asyncControlCharacterMap,
long *authenticationProtocol, long *qualityProtocol, long *magicNumber,
bool *protocolFieldCompression, bool *addressControlFieldCompression,
long *reserved, long *FCSAlternative, bool *selfDescribingPad, bool *numberedMode,
bool *callback, bool *multilinkOptions);
void SetLCPOptions(long maximumReceiveUnit, string asyncControlCharacterMap,
long authenticationProtocol, long qualityProtocol, long magicNumber,
bool protocolFieldCompression, bool addressControlFieldCompression,
long reserved, long FCSAlternative, bool selfDescribingPad, bool numberedMode,
bool callback, bool multilinkOptions);
void GetSelectedOptions(long *numOptions, long *optionsList);
long GetAuthenticationProtocol();
private:
unsigned char code;
unsigned short length;
// unsigned char data[1024];
string data;
static unsigned char identifier;
unsigned char identifierCounter;
unsigned long timeOfPacket;
lcpOptions options;
};
unsigned char LCP::identifier=0;
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?