#ifndef MODULE_ARGPARSER_H
#define MODULE_ARGPARSER_H


#define	PARSETAG_Dummy			(TAG_USER + 0x100000)
#define	PARSETAG_TYPE			(PARSETAG_Dummy + 0x0)
#define	PARSETAG_VALUE			(PARSETAG_Dummy + 0x1)
#define	PARSETAG_ERROR			(PARSETAG_Dummy + 0x2)
#define	PARSETAG_BUFFEREND		(PARSETAG_Dummy + 0x3)
#define	PARSETAG_SYMBOLHOOK		(PARSETAG_Dummy + 0x4)
#define	PARSETAG_UNKNOWNOPERANDHOOK	(PARSETAG_Dummy + 0x5)
#define	PARSETAG_OPERANDHOOK		(PARSETAG_Dummy + 0x6)


#define	PARSETYPE_INTEGER		0
#define	PARSETYPE_DOUBLE		1
#define	PARSETYPE_MULTIPLE		2

#define	ERROR_MISSINGARGUMENT		0
#define	ERROR_WRONGOPERATOR		1
#define	ERROR_NOTSUPPORTEDOPERATOR	2
#define	ERROR_MISSINGKLAMMER		3
#define	ERROR_WRONGOPERAND		4
#define	ERROR_NOTENOUGHMEMORY		5
#define	ERROR_ARGUNRESOLVED		6
#define	ERROR_SYMBOLTOOLONG		7
#define	ERROR_UNKNOWNSYMBOL		8

struct	SymbolHookMsg
{
	int	Type;
	int	Length;
	int	Error;
	int	*Integer;
	double	*Double;
};


#endif
