diff options
Diffstat (limited to 'core/script.h')
-rw-r--r-- | core/script.h | 1734 |
1 files changed, 1734 insertions, 0 deletions
diff --git a/core/script.h b/core/script.h new file mode 100644 index 0000000..c118524 --- /dev/null +++ b/core/script.h @@ -0,0 +1,1734 @@ +#ifndef SCRIPT_H +#define SCRIPT_H + +#include "../third-party/lua/lua.hpp" +#include "../third-party/libffi/ffi.h" + +#ifndef VMP_GNU +#ifdef _WIN64 +#if NDEBUG +#pragma comment(lib, "../third-party/libffi/libffi64.lib") +#else +#pragma comment(lib, "../third-party/libffi/libffi64d.lib") +#endif // NDEBUG +#else +#if NDEBUG +#pragma comment(lib, "../third-party/libffi/libffi32.lib") +#else +#pragma comment(lib, "../third-party/libffi/libffi32d.lib") +#endif // NDEBUG +#endif // _WIN64 +#endif // VMP_GNU + +class Core; + +class Script : public IObject +{ +public: + Script(Core *owner); + ~Script(); + void clear() { text_.clear(); } + std::string text() const { return text_; } + bool need_compile() const { return need_compile_; } + void set_text(const std::string &text) { text_ = text; } + void set_need_compile(bool need_compile); + void DoBeforeCompilation(); + void DoAfterCompilation(); + void DoBeforeSaveFile(); + void DoAfterSaveFile(); + void DoBeforePackFile(); + static Core *core() { return core_; } + bool Compile(); + bool LoadFromFile(const std::string &file_name); +private: + void ExecuteFunction(const std::string &func_name); + void close(); + void ShowError(); + static Core *core_; + lua_State *state_; + std::string text_; + bool need_compile_; +}; + +class Uint64Binder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "uint64"; } +private: + static int add(lua_State *L); + static int sub(lua_State *L); + static int mul(lua_State *L); + static int div(lua_State *L); + static int mod(lua_State *L); + static int pow(lua_State *L); + static int unm(lua_State *L); + static int eq(lua_State *L); + static int lt(lua_State *L); + static int le(lua_State *L); + static int _new(lua_State *L); + static int tostring(lua_State *L); +}; + +class FFILibrary : public IObject +{ +public: + FFILibrary(const std::string &name); + ~FFILibrary(); + void close(); + HMODULE value() const { return value_; } + std::string name() const { return name_; } +private: + HMODULE value_; + std::string name_; +}; + +class FFIFunction : public IObject +{ +public: + FFIFunction(HMODULE module, const std::string &name); + void *value() const { return value_; } + std::string name() const { return name_; } + int ret() const { return ret_; } + void set_ret(int ret) { ret_ = ret; } + void set_abi(int abi) { abi_ = abi; } + void add_param(int param) { params_.push_back(param); } + ffi_status Prepare(); + void Call(void *ret, void **args); + std::vector<int> params() const { return params_; } +private: + std::string name_; + void *value_; + int ret_; + int abi_; + std::vector<int> params_; + ffi_cif cif_; + ffi_type *ffi_ret_; + std::vector<ffi_type *> ffi_params_; +}; + +class FFILibraryBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "FFILibrary"; } +private: + static int tostring(lua_State *state); + static int close(lua_State *state); + static int gc(lua_State *state); + static int get_function(lua_State *state); + static int address(lua_State *state); +}; + +class FFIFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "FFIFunction"; } +private: + static int tostring(lua_State *state); + static int gc(lua_State *state); + static int address(lua_State *state); + static int call(lua_State *state); +}; + +class OperandTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "OperandType"; } +}; + +class OperandSizeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "OperandSize"; } +}; + +class ObjectTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "ObjectType"; } +}; + +class CommandOptionBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "CommandOption"; } +}; + +class FoldersBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Folders"; } +private: + static int count(lua_State *state); + static int item(lua_State *state); + static int add(lua_State *state); + static int clear(lua_State *state); +}; + +class FolderBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Folder"; } +private: + static int count(lua_State *state); + static int item(lua_State *state); + static int add(lua_State *state); + static int clear(lua_State *state); + static int name(lua_State *state); + static int destroy(lua_State *state); +}; + +class PEFileBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEFile"; } +private: + static int name(lua_State *state); + static int format(lua_State *state); + static int size(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int count(lua_State *state); + static int item(lua_State *state); + static int flush(lua_State *state); + static int read(lua_State *state); +}; + +class PEArchitectureBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEArchitecture"; } +private: + static int segments(lua_State *state); + static int sections(lua_State *state); + static int name(lua_State *state); + static int file(lua_State *state); + static int entry_point(lua_State *state); + static int image_base(lua_State *state); + static int cpu_address_size(lua_State *state); + static int dll_characteristics(lua_State *state); + static int size(lua_State *state); + static int functions(lua_State *state); + static int directories(lua_State *state); + static int imports(lua_State *state); + static int exports(lua_State *state); + static int resources(lua_State *state); + static int fixups(lua_State *state); + static int map_functions(lua_State *state); + static int folders(lua_State *state); + static int address_seek(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int read(lua_State *state); +}; + +class PESegmentsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PESegments"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class PESegmentBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PESegment"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int set_name(lua_State *state); + static int physical_offset(lua_State *state); + static int physical_size(lua_State *state); + static int flags(lua_State *state); + static int excluded_from_packing(lua_State *state); + static int destroy(lua_State *state); +}; + +class PESectionsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PESections"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class PESectionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PESection"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int offset(lua_State *state); + static int segment(lua_State *state); +}; + +class PEDirectoriesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEDirectories"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByType(lua_State *state); +}; + +class PEDirectoryBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEDirectory"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); + static int set_size(lua_State *state); + static int set_address(lua_State *state); + static int clear(lua_State *state); +}; + +class PEFormatBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "PE"; } +}; + +class PEImportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEImports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class PEImportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEImport"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int name(lua_State *state); + static int is_sdk(lua_State *state); + static int set_name(lua_State *state); +}; + +class PEImportFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEImportFunction"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); +}; + +class APITypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "APIType"; } +}; + +class PEExportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEExports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int name(lua_State *state); + static int set_name(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class PEExportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEExport"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int set_name(lua_State *state); + static int ordinal(lua_State *state); + static int forwarded_name(lua_State *state); + static int destroy(lua_State *state); +}; + +class PEResourcesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEResources"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int GetItemByName(lua_State *state); + static int GetItemByType(lua_State *state); +}; + +class PEResourceBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEResource"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int address(lua_State *state); + static int size(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); + static int is_directory(lua_State *state); + static int destroy(lua_State *state); + static int GetItemByName(lua_State *state); + static int excluded_from_packing(lua_State *state); + static int set_excluded_from_packing(lua_State *state); +}; + +class PEFixupsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEFixups"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int IndexOf(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class PEFixupBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "PEFixup"; } +private: + static int address(lua_State *state); + static int set_deleted(lua_State *state); +}; + +class MacFileBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacFile"; } +private: + static int name(lua_State *state); + static int format(lua_State *state); + static int size(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int count(lua_State *state); + static int item(lua_State *state); + static int flush(lua_State *state); + static int read(lua_State *state); +}; + +class MacArchitectureBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacArchitecture"; } +private: + static int segments(lua_State *state); + static int sections(lua_State *state); + static int name(lua_State *state); + static int file(lua_State *state); + static int entry_point(lua_State *state); + static int image_base(lua_State *state); + static int cpu_address_size(lua_State *state); + static int size(lua_State *state); + static int functions(lua_State *state); + static int commands(lua_State *state); + static int symbols(lua_State *state); + static int imports(lua_State *state); + static int exports(lua_State *state); + static int fixups(lua_State *state); + static int map_functions(lua_State *state); + static int folders(lua_State *state); + static int address_seek(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int read(lua_State *state); +}; + +class MacSegmentsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacSegments"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class MacSegmentBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacSegment"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int physical_offset(lua_State *state); + static int physical_size(lua_State *state); + static int flags(lua_State *state); + static int excluded_from_packing(lua_State *state); +}; + +class MacSectionsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacSections"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class MacSectionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacSection"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int offset(lua_State *state); + static int segment(lua_State *state); + static int destroy(lua_State *state); +}; + +class MacCommandsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacCommands"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByType(lua_State *state); +}; + +class MacCommandBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacCommand"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); +}; + +class MacFormatBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "MachO"; } +}; + +class MacSymbolsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacSymbols"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class MacSymbolBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacSymbol"; } +private: + static int value(lua_State *state); + static int name(lua_State *state); + static int sect(lua_State *state); + static int desc(lua_State *state); +}; + +class MacImportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacImports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class MacImportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacImport"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int name(lua_State *state); + static int is_sdk(lua_State *state); + static int set_name(lua_State *state); +}; + +class MacImportFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacImportFunction"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); +}; + +class MacFixupsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacFixups"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int IndexOf(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class MacFixupBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacFixup"; } +private: + static int address(lua_State *state); + static int set_deleted(lua_State *state); +}; + +class MacExportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacExports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int name(lua_State *state); + static int set_name(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class MacExportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MacExport"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int forwarded_name(lua_State *state); + static int destroy(lua_State *state); +}; + +class ELFFileBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFFile"; } +private: + static int name(lua_State *state); + static int format(lua_State *state); + static int size(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int count(lua_State *state); + static int item(lua_State *state); + static int flush(lua_State *state); + static int read(lua_State *state); +}; + +class ELFArchitectureBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFArchitecture"; } +private: + static int segments(lua_State *state); + static int sections(lua_State *state); + static int name(lua_State *state); + static int file(lua_State *state); + static int entry_point(lua_State *state); + static int image_base(lua_State *state); + static int cpu_address_size(lua_State *state); + static int size(lua_State *state); + static int functions(lua_State *state); + static int directories(lua_State *state); + static int imports(lua_State *state); + static int exports(lua_State *state); + static int fixups(lua_State *state); + static int map_functions(lua_State *state); + static int folders(lua_State *state); + static int address_seek(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int read(lua_State *state); +}; + +class ELFFormatBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "ELF"; } +}; + +class ELFSegmentsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFSegments"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class ELFSegmentBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFSegment"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int physical_offset(lua_State *state); + static int physical_size(lua_State *state); + static int flags(lua_State *state); + static int excluded_from_packing(lua_State *state); +}; + +class ELFSectionsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFSections"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class ELFSectionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFSection"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int offset(lua_State *state); + static int segment(lua_State *state); +}; + +class ELFDirectoriesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFDirectories"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByType(lua_State *state); +}; + +class ELFDirectoryBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFDirectory"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); +}; + +class ELFImportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFImports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class ELFImportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFImport"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int name(lua_State *state); + static int is_sdk(lua_State *state); +}; + +class ELFImportFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFImportFunction"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); +}; + +class ELFExportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFExports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int name(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class ELFExportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFExport"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int ordinal(lua_State *state); + static int forwarded_name(lua_State *state); + static int destroy(lua_State *state); +}; + +class ELFFixupsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFFixups"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int IndexOf(lua_State *state); + static int GetItemByAddress(lua_State *state); +}; + +class ELFFixupBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ELFFixup"; } +private: + static int address(lua_State *state); + static int set_deleted(lua_State *state); +}; + +class NETArchitectureBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETArchitecture"; } +private: + static int segments(lua_State *state); + static int sections(lua_State *state); + static int name(lua_State *state); + static int file(lua_State *state); + static int entry_point(lua_State *state); + static int image_base(lua_State *state); + static int cpu_address_size(lua_State *state); + static int size(lua_State *state); + static int functions(lua_State *state); + static int streams(lua_State *state); + static int imports(lua_State *state); + static int exports(lua_State *state); + static int map_functions(lua_State *state); + static int folders(lua_State *state); + static int address_seek(lua_State *state); + static int seek(lua_State *state); + static int tell(lua_State *state); + static int write(lua_State *state); + static int read(lua_State *state); +}; + +class NETFormatBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "NET"; } +}; + +class ILStream; +class ILToken; + +class NETMetaDataBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETMetaData"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int heap(lua_State *state); + static void push_stream(lua_State *state, ILStream *stream); + static int table(lua_State *state); +}; + +class NETStreamBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETStream"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); +}; + +class NETHeapBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETHeap"; } +private: + static int size(lua_State *state); + static int address(lua_State *state); + static int name(lua_State *state); + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByType(lua_State *state); +}; + +class TokenTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "TokenType"; } +}; + +class NETTableBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETTable"; } +private: + static int type(lua_State *state); + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class NETTokenTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "TokenType"; } +}; + +class NETTokenBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETToken"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int can_rename(lua_State *state); + static int set_can_rename(lua_State *state); +}; + +class NETMethodsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETMethods"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class NETFieldsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETFields"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class NETTypeDefBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETTypeDef"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name_space(lua_State *state); + static int name(lua_State *state); + static int full_name(lua_State *state); + static int flags(lua_State *state); + static int declaring_type(lua_State *state); + static int base_type(lua_State *state); + static int method_list(lua_State *state); + static int field_list(lua_State *state); + static int set_namespace(lua_State *state); + static int set_name(lua_State *state); +}; + +class NETTypeRefBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETTypeRef"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name_space(lua_State *state); + static int name(lua_State *state); + static int full_name(lua_State *state); + static int resolution_scope(lua_State *state); +}; + +class NETAssemblyRefBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETAssemblyRef"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name(lua_State *state); + static int full_name(lua_State *state); +}; + +class NETParamsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETParams"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class NETMethodDefBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETMethodDef"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name(lua_State *state); + static int full_name(lua_State *state); + static int address(lua_State *state); + static int flags(lua_State *state); + static int impl_flags(lua_State *state); + static int parent(lua_State *state); + static int param_list(lua_State *state); + static int set_name(lua_State *state); +}; + +class NETFieldBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETField"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name(lua_State *state); + static int flags(lua_State *state); + static int declaring_type(lua_State *state); + static int set_name(lua_State *state); +}; + +class NETParamBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETParam"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name(lua_State *state); + static int parent(lua_State *state); + static int flags(lua_State *state); + static int set_name(lua_State *state); +}; + +class NETCustomAttributeBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETCustomAttribute"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int parent(lua_State *state); + static int ref_type(lua_State *state); +}; + +class NETMemberRefBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETMemberRef"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int declaring_type(lua_State *state); + static int name(lua_State *state); +}; + +class NETUserStringBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETUserString"; } +private: + static int id(lua_State *state); + static int type(lua_State *state); + static int value(lua_State *state); + static int name(lua_State *state); +}; + +class NETImportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETImport"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int name(lua_State *state); + static int is_sdk(lua_State *state); +}; + +class NETImportFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETImportFunction"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); +}; + +class NETImportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETImports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class NETExportsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETExports"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class NETExportBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "NETExport"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); +}; + +class ILFunctionsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ILFunctions"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); + static int AddByAddress(lua_State *state); +}; + +class ILFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ILFunction"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int item(lua_State *state); + static int count(lua_State *state); + static int type(lua_State *state); + static int compilation_type(lua_State *state); + static int set_compilation_type(lua_State *state); + static int lock_to_key(lua_State *state); + static int set_lock_to_key(lua_State *state); + static int need_compile(lua_State *state); + static int set_need_compile(lua_State *state); + static int links(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int IndexOf(lua_State *state); + static int destroy(lua_State *state); + static int info(lua_State *state); + static int ranges(lua_State *state); + static int x_proc(lua_State *state); + static int folder(lua_State *state); + static int set_folder(lua_State *state); +}; + +class ILCommandBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "ILCommand"; } +private: + static int address(lua_State *state); + static int type(lua_State *state); + static int text(lua_State *state); + static int size(lua_State *state); + static int dump(lua_State *state); + static int link(lua_State *state); + static int operand_value(lua_State *state); + static int options(lua_State *state); + static int alignment(lua_State *state); + static int token_reference(lua_State *state); +}; + +class ILCommandTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "ILCommandType"; } +}; + +class MapFunctionsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MapFunctions"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); +}; + +class MapFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "MapFunction"; } +private: + static int address(lua_State *state); + static int size(lua_State *state); + static int name(lua_State *state); + static int type(lua_State *state); + static int references(lua_State *state); +}; + +class ReferencesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "References"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); +}; + +class ReferenceBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Reference"; } +private: + static int address(lua_State *state); + static int operand_address(lua_State *state); + static int tag(lua_State *state); +}; + +class IntelFunctionsBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "IntelFunctions"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int GetItemByName(lua_State *state); + static int AddByAddress(lua_State *state); +}; + +class IntelFunctionBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "IntelFunction"; } +private: + static int address(lua_State *state); + static int name(lua_State *state); + static int item(lua_State *state); + static int count(lua_State *state); + static int type(lua_State *state); + static int compilation_type(lua_State *state); + static int set_compilation_type(lua_State *state); + static int lock_to_key(lua_State *state); + static int set_lock_to_key(lua_State *state); + static int need_compile(lua_State *state); + static int set_need_compile(lua_State *state); + static int links(lua_State *state); + static int GetItemByAddress(lua_State *state); + static int IndexOf(lua_State *state); + static int destroy(lua_State *state); + static int info(lua_State *state); + static int ranges(lua_State *state); + static int x_proc(lua_State *state); + static int folder(lua_State *state); + static int set_folder(lua_State *state); +}; + +class CompilationTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "CompilationType"; } +}; + +class CommandLinksBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "CommandLinks"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); +}; + +class AddressRangeBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "AddressRange"; } +private: + static int begin(lua_State *state); + static int end(lua_State *state); + static int begin_entry(lua_State *state); + static int end_entry(lua_State *state); + static int size_entry(lua_State *state); +}; + +class UnwindOpcodesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "UnwindOpcodes"; } +private: + static int count(lua_State *state); + static int item(lua_State *state); +}; + +class FunctionInfoBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "FunctionInfo"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int begin(lua_State *state); + static int end(lua_State *state); + static int base_type(lua_State *state); + static int base_value(lua_State *state); + static int prolog_size(lua_State *state); + static int frame_registr(lua_State *state); + static int entry(lua_State *state); + static int unwind_opcodes(lua_State *state); + static int data_entry(lua_State *state); +}; + +class FunctionInfoListBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "FunctionInfoList"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int IndexOf(lua_State *state); +}; + +class IntelCommandBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "IntelCommand"; } +private: + static int address(lua_State *state); + static int type(lua_State *state); + static int text(lua_State *state); + static int size(lua_State *state); + static int dump(lua_State *state); + static int link(lua_State *state); + static int flags(lua_State *state); + static int base_segment(lua_State *state); + static int operand(lua_State *state); + static int preffix(lua_State *state); + static int options(lua_State *state); + static int alignment(lua_State *state); + static int set_dump(lua_State *state); +}; + +class IntelOperandBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "IntelOperand"; } +private: + static int type(lua_State *state); + static int size(lua_State *state); + static int registr(lua_State *state); + static int base_registr(lua_State *state); + static int scale(lua_State *state); + static int value(lua_State *state); + static int address_size(lua_State *state); + static int value_size(lua_State *state); + static int fixup(lua_State *state); + static int is_large_value(lua_State *state); +}; + +class IntelCommandTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "IntelCommandType"; } +}; + +class IntelSegmentBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "IntelSegment"; } +}; + +class IntelFlagBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "IntelFlag"; } +}; + +class IntelRegistrBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "IntelRegistr"; } +}; + +class CommandLinkBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "CommandLink"; } +private: + static int to_address(lua_State *state); + static int type(lua_State *state); + static int from(lua_State *state); + static int parent(lua_State *state); + static int operand(lua_State *state); + static int sub_value(lua_State *state); + static int base_function_info(lua_State *state); +}; + +class LinkTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "LinkType"; } +}; + +class CoreBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Core"; } +private: + static int extract_file_path(lua_State *state); + static int extract_file_name(lua_State *state); + static int extract_file_ext(lua_State *state); + static int expand_environment_variables(lua_State *state); + static int set_environment_variable(lua_State *state); + static int command_line(lua_State *state); + + static int input_file(lua_State *state); + static int input_file_name(lua_State *state); + static int output_file(lua_State *state); + static int output_file_name(lua_State *state); + static int set_output_file_name(lua_State *state); + static int project_file_name(lua_State *state); + static int instance(lua_State* state); + static int watermarks(lua_State *state); + static int watermark_name(lua_State *state); + static int set_watermark_name(lua_State *state); + static int options(lua_State *state); + static int set_options(lua_State *state); + static int vm_section_name(lua_State *state); + static int set_vm_section_name(lua_State *state); + static int save_project(lua_State *state); + static int input_architecture(lua_State *state); + static int output_architecture(lua_State *state); +#ifdef ULTIMATE + static int licenses(lua_State *state); + static int files(lua_State *state); +#endif +}; + +class ProjectOptionBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "ProjectOption"; } +}; + +#ifdef ULTIMATE + +class LicensesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Licenses"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int public_exp(lua_State *state); + static int private_exp(lua_State *state); + static int modulus(lua_State *state); + static int key_length(lua_State *state); + static int hash(lua_State *state); + static int GetLicenseBySerialNumber(lua_State *state); + static int import_license(lua_State *state); +}; + +class LicenseInfoBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "LicenseInfo"; } +private: + static int flags(lua_State *state); + static int customer_name(lua_State *state); + static int customer_email(lua_State *state); + static int expire_date(lua_State *state); + static int hwid(lua_State *state); + static int running_time_limit(lua_State *state); + static int max_build_date(lua_State *state); + static int user_data(lua_State *state); +}; + +class LicenseBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "License"; } +private: + static int date(lua_State *state); + static int customer_name(lua_State *state); + static int customer_email(lua_State *state); + static int order_ref(lua_State *state); + static int comments(lua_State *state); + static int serial_number(lua_State *state); + static int blocked(lua_State *state); + static int set_blocked(lua_State *state); + static int info(lua_State *state); +}; + +class FileFoldersBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "FileFolders"; } +private: + static int count(lua_State *state); + static int item(lua_State *state); + static int add(lua_State *state); + static int clear(lua_State *state); +}; + +class FileFolderBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "FileFolder"; } +private: + static int count(lua_State *state); + static int item(lua_State *state); + static int add(lua_State *state); + static int clear(lua_State *state); + static int name(lua_State *state); + static int destroy(lua_State *state); +}; + +class FilesBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Files"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int folders(lua_State *state); + static int Delete(lua_State *state); +}; + +class FileActionTypeBinder +{ +public: + static void Register(lua_State *state); + static const char *enum_name() { return "FileActionType"; } +}; + +class FileBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "File"; } +private: + static int name(lua_State *state); + static int file_name(lua_State *state); + static int action(lua_State *state); + static int folder(lua_State *state); + static int set_name(lua_State *state); + static int set_file_name(lua_State *state); + static int set_action(lua_State *state); +}; + +#endif + +class WatermarksBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Watermarks"; } +private: + static int item(lua_State *state); + static int count(lua_State *state); + static int clear(lua_State *state); + static int Delete(lua_State *state); + static int GetItemByName(lua_State *state); + static int add(lua_State *state); +}; + +class WatermarkBinder +{ +public: + static void Register(lua_State *state); + static const char *class_name() { return "Watermark"; } +private: + static int name(lua_State *state); + static int value(lua_State *state); + static int blocked(lua_State *state); + static int set_blocked(lua_State *state); +}; + +#endif
\ No newline at end of file |