HyperDbg Debugger
Loading...
Searching...
No Matches
type.h File Reference

Variable type definitions for the script engine. More...

Go to the source code of this file.

Classes

struct  _VARIABLE_TYPE

Macros

#define TYPE_H

Typedefs

typedef enum _VARIABLE_TYPE_KIND VARIABLE_TYPE_KIND
typedef struct _VARIABLE_TYPE VARIABLE_TYPE
typedef struct _VARIABLE_TYPEPVARIABLE_TYPE
typedef enum _SCRIPT_ENGINE_ERROR_TYPE SCRIPT_ENGINE_ERROR_TYPE
typedef enum _SCRIPT_ENGINE_ERROR_TYPEPSCRIPT_ENGINE_ERROR_TYPE

Enumerations

enum  _VARIABLE_TYPE_KIND {
  TY_UNKNOWN , TY_VOID , TY_BOOL , TY_CHAR ,
  TY_SHORT , TY_INT , TY_LONG , TY_FLOAT ,
  TY_DOUBLE , TY_LDOUBLE , TY_ENUM , TY_PTR ,
  TY_FUNC , TY_ARRAY , TY_VLA , TY_STRUCT ,
  TY_UNION
}
enum  _SCRIPT_ENGINE_ERROR_TYPE {
  SCRIPT_ENGINE_ERROR_FREE , SCRIPT_ENGINE_ERROR_SYNTAX , SCRIPT_ENGINE_ERROR_UNKNOWN_TOKEN , SCRIPT_ENGINE_ERROR_UNRESOLVED_VARIABLE ,
  SCRIPT_ENGINE_ERROR_UNHANDLED_SEMANTIC_RULE , SCRIPT_ENGINE_ERROR_TEMP_LIST_FULL , SCRIPT_ENGINE_ERROR_UNDEFINED_FUNCTION , SCRIPT_ENGINE_ERROR_UNDEFINED_VARIABLE_TYPE ,
  SCRIPT_ENGINE_ERROR_VOID_FUNCTION_RETURNING_VALUE , SCRIPT_ENGINE_ERROR_NON_VOID_FUNCTION_NOT_RETURNING_VALUE
}

Variables

VARIABLE_TYPEVARIABLE_TYPE_UNKNOWN
VARIABLE_TYPEVARIABLE_TYPE_VOID
VARIABLE_TYPEVARIABLE_TYPE_BOOL
VARIABLE_TYPEVARIABLE_TYPE_CHAR
VARIABLE_TYPEVARIABLE_TYPE_SHORT
VARIABLE_TYPEVARIABLE_TYPE_INT
VARIABLE_TYPEVARIABLE_TYPE_LONG
VARIABLE_TYPEVARIABLE_TYPE_UCHAR
VARIABLE_TYPEVARIABLE_TYPE_USHORT
VARIABLE_TYPEVARIABLE_TYPE_UINT
VARIABLE_TYPEVARIABLE_TYPE_ULONG
VARIABLE_TYPEVARIABLE_TYPE_FLOAT
VARIABLE_TYPEVARIABLE_TYPE_DOUBLE
VARIABLE_TYPEVARIABLE_TYPE_LDOUBLE

Detailed Description

Variable type definitions for the script engine.

Author
M.H. Gholamrezaei (mh@hy.nosp@m.perd.nosp@m.bg.or.nosp@m.g)
Version
0.1
Date
2020-10-22

Macro Definition Documentation

◆ TYPE_H

#define TYPE_H

Typedef Documentation

◆ PSCRIPT_ENGINE_ERROR_TYPE

◆ PVARIABLE_TYPE

typedef struct _VARIABLE_TYPE * PVARIABLE_TYPE

◆ SCRIPT_ENGINE_ERROR_TYPE

◆ VARIABLE_TYPE

typedef struct _VARIABLE_TYPE VARIABLE_TYPE

◆ VARIABLE_TYPE_KIND

Enumeration Type Documentation

◆ _SCRIPT_ENGINE_ERROR_TYPE

Enumerator
SCRIPT_ENGINE_ERROR_FREE 
SCRIPT_ENGINE_ERROR_SYNTAX 
SCRIPT_ENGINE_ERROR_UNKNOWN_TOKEN 
SCRIPT_ENGINE_ERROR_UNRESOLVED_VARIABLE 
SCRIPT_ENGINE_ERROR_UNHANDLED_SEMANTIC_RULE 
SCRIPT_ENGINE_ERROR_TEMP_LIST_FULL 
SCRIPT_ENGINE_ERROR_UNDEFINED_FUNCTION 
SCRIPT_ENGINE_ERROR_UNDEFINED_VARIABLE_TYPE 
SCRIPT_ENGINE_ERROR_VOID_FUNCTION_RETURNING_VALUE 
SCRIPT_ENGINE_ERROR_NON_VOID_FUNCTION_NOT_RETURNING_VALUE 
69{
enum _SCRIPT_ENGINE_ERROR_TYPE SCRIPT_ENGINE_ERROR_TYPE
@ SCRIPT_ENGINE_ERROR_UNDEFINED_FUNCTION
Definition type.h:76
@ SCRIPT_ENGINE_ERROR_UNRESOLVED_VARIABLE
Definition type.h:73
@ SCRIPT_ENGINE_ERROR_UNKNOWN_TOKEN
Definition type.h:72
@ SCRIPT_ENGINE_ERROR_NON_VOID_FUNCTION_NOT_RETURNING_VALUE
Definition type.h:79
@ SCRIPT_ENGINE_ERROR_UNHANDLED_SEMANTIC_RULE
Definition type.h:74
@ SCRIPT_ENGINE_ERROR_UNDEFINED_VARIABLE_TYPE
Definition type.h:77
@ SCRIPT_ENGINE_ERROR_VOID_FUNCTION_RETURNING_VALUE
Definition type.h:78
@ SCRIPT_ENGINE_ERROR_SYNTAX
Definition type.h:71
@ SCRIPT_ENGINE_ERROR_FREE
Definition type.h:70
@ SCRIPT_ENGINE_ERROR_TEMP_LIST_FULL
Definition type.h:75

◆ _VARIABLE_TYPE_KIND

Enumerator
TY_UNKNOWN 
TY_VOID 
TY_BOOL 
TY_CHAR 
TY_SHORT 
TY_INT 
TY_LONG 
TY_FLOAT 
TY_DOUBLE 
TY_LDOUBLE 
TY_ENUM 
TY_PTR 
TY_FUNC 
TY_ARRAY 
TY_VLA 
TY_STRUCT 
TY_UNION 
19{
21 TY_VOID,
22 TY_BOOL,
23 TY_CHAR,
25 TY_INT,
26 TY_LONG,
30 TY_ENUM,
31 TY_PTR,
32 TY_FUNC,
34 TY_VLA, // variable-length array
enum _VARIABLE_TYPE_KIND VARIABLE_TYPE_KIND
@ TY_PTR
Definition type.h:31
@ TY_SHORT
Definition type.h:24
@ TY_VOID
Definition type.h:21
@ TY_STRUCT
Definition type.h:35
@ TY_UNION
Definition type.h:36
@ TY_INT
Definition type.h:25
@ TY_DOUBLE
Definition type.h:28
@ TY_FLOAT
Definition type.h:27
@ TY_CHAR
Definition type.h:23
@ TY_VLA
Definition type.h:34
@ TY_ENUM
Definition type.h:30
@ TY_LDOUBLE
Definition type.h:29
@ TY_LONG
Definition type.h:26
@ TY_ARRAY
Definition type.h:33
@ TY_UNKNOWN
Definition type.h:20
@ TY_FUNC
Definition type.h:32
@ TY_BOOL
Definition type.h:22

Variable Documentation

◆ VARIABLE_TYPE_BOOL

VARIABLE_TYPE* VARIABLE_TYPE_BOOL
extern
18{TY_BOOL, 1, 1};

◆ VARIABLE_TYPE_CHAR

VARIABLE_TYPE* VARIABLE_TYPE_CHAR
extern
20{TY_CHAR, 1, 1};

◆ VARIABLE_TYPE_DOUBLE

VARIABLE_TYPE* VARIABLE_TYPE_DOUBLE
extern
31{TY_DOUBLE, 8, 8};

◆ VARIABLE_TYPE_FLOAT

VARIABLE_TYPE* VARIABLE_TYPE_FLOAT
extern
30{TY_FLOAT, 4, 4};

◆ VARIABLE_TYPE_INT

VARIABLE_TYPE* VARIABLE_TYPE_INT
extern
22{TY_INT, 4, 4};

◆ VARIABLE_TYPE_LDOUBLE

VARIABLE_TYPE* VARIABLE_TYPE_LDOUBLE
extern
32{TY_LDOUBLE, 16, 16};

◆ VARIABLE_TYPE_LONG

VARIABLE_TYPE* VARIABLE_TYPE_LONG
extern
23{TY_LONG, 8, 8};

◆ VARIABLE_TYPE_SHORT

VARIABLE_TYPE* VARIABLE_TYPE_SHORT
extern
21{TY_SHORT, 2, 2};

◆ VARIABLE_TYPE_UCHAR

VARIABLE_TYPE* VARIABLE_TYPE_UCHAR
extern
25{TY_CHAR, 1, 1, TRUE};
#define TRUE
Definition BasicTypes.h:114

◆ VARIABLE_TYPE_UINT

VARIABLE_TYPE* VARIABLE_TYPE_UINT
extern
27{TY_INT, 4, 4, TRUE};

◆ VARIABLE_TYPE_ULONG

VARIABLE_TYPE* VARIABLE_TYPE_ULONG
extern
28{TY_LONG, 8, 8, TRUE};

◆ VARIABLE_TYPE_UNKNOWN

VARIABLE_TYPE* VARIABLE_TYPE_UNKNOWN
extern

◆ VARIABLE_TYPE_USHORT

VARIABLE_TYPE* VARIABLE_TYPE_USHORT
extern
26{TY_SHORT, 2, 2, TRUE};

◆ VARIABLE_TYPE_VOID

VARIABLE_TYPE* VARIABLE_TYPE_VOID
extern
17{TY_VOID, 1, 1};