windows-nt/Source/XPSP1/NT/net/snmp/subagent/snmpevnt/evntcmd/parser.h

53 lines
1.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
#include "Operation.h"
#ifndef _PARSER_H
#define _PARSER_H
#define INPUT_BUFFER_SZ 256
#define INPUT_TOKEN_SZ 80
#define TOKEN_SZ_BLANKS " \t\n\r"
#define TOKEN_CH_COM_DELIM ';'
#define TOKEN_CH_NL '\n'
#define TOKEN_CH_STR_DELIM '\"'
#define KEYWORD_PRAGMA "#pragma"
#define KEYWORD_CMD_ADD_EVENT "ADD"
#define KEYWORD_CMD_DEL_EVENT "DELETE"
#define KEYWORD_CMD_ADD_TRAP "ADD_TRAP_DEST"
#define KEYWORD_CMD_DEL_TRAP "DELETE_TRAP_DEST"
class COperation;
class CParser
{
COperation *m_pOperList;
int m_fdInput;
char m_szInput[INPUT_BUFFER_SZ];
char *m_pInput;
DWORD OpenInputFile();
DWORD ReloadInputBuffer();
DWORD AdvanceInputPointer();
public:
DWORD m_nLineNo;
DWORD m_nTokenNo;
CParser();
~CParser();
DWORD GetNextToken(char *pToken, int nSizeToken);
DWORD UnGetToken(char *szToken);
DWORD CheckUnGetToken(char *pMatchToken, char *pToken);
DWORD ParseInputFile();
DWORD ParseCommand(tOperation opType);
DWORD ProcessCommands();
};
extern CParser gParser;
#endif