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

📄 grambase.h

📁 一个很好的协议,数据包解码工具,可以分析7号(ISUP,MTP,...), TCP/UDP等各种协议,特别的是还能支持自定义的二进制数据报,可以通过插件无限扩充协议库.
💻 H
字号:
/*==================================================================
=  文件名  : Grambase
=  主要功能: 
=  修改日期: 
=  作者    : shen beide
====================================================================*/

#if !defined(_GRAMBASE_H)
#define _GRAMBASE_H

#include "PubHeader.h"

#include "Array.h"
#include "ObArray.h"
#include "ObList.h"

//////////////////////////////////////////
class GramRules;
class GramState;

#define GRAM_FUNC_HEADER '$'

class GramTransition
{
public:
    bool        m_isGramFunc;       // GramFunc(定义时以$打头) 或 GramString 
    OTSTR       m_strCondition;    // 为空时, 表示直接跳转
    GramState*  m_pNextGramState;
};

class GramState
{
public:
    long     m_nId;

    /////////////////////////////////////////////
    long     m_RuleId;

    TObArray<GramTransition> m_TransitionList;

public:    
    GramState(long nId=1);
   ~GramState();

    ///////////////////////////////////////////////
    bool AddTransition(bool isGramFunc, char* szCondition, GramState* pNextState);
    GramState* FindTransition(bool isGramFunc, char* szCondition,bool bCaseSensitive,bool bReverseFind,bool& isLastTransition);
    
    bool isAcceptable() { return (m_RuleId==-1)? false:true; }

    friend class LexRules;

    OTSTR m_strTransitionDescription;
};


#endif

⌨️ 快捷键说明

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