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

📄 lcp.h

📁 基于单片机的 snmp协议解析的一些原代码 给有用的 同行
💻 H
字号:
//---------------------------------------------------------------------------
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -