void initModeNamespace(PyObject* modeDict) { PyDict_SetItemString(modeDict, "ALIGNED_MEMORY", PyLong_FromUint32(triton::modes::ALIGNED_MEMORY)); PyDict_SetItemString(modeDict, "AST_DICTIONARIES", PyLong_FromUint32(triton::modes::AST_DICTIONARIES)); PyDict_SetItemString(modeDict, "ONLY_ON_SYMBOLIZED", PyLong_FromUint32(triton::modes::ONLY_ON_SYMBOLIZED)); PyDict_SetItemString(modeDict, "ONLY_ON_TAINTED", PyLong_FromUint32(triton::modes::ONLY_ON_TAINTED)); PyDict_SetItemString(modeDict, "PC_TRACKING_SYMBOLIC", PyLong_FromUint32(triton::modes::PC_TRACKING_SYMBOLIC)); }
static PyObject* PeExportEntry_getOrdinal(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyPeExportEntry_AsPeExportEntry(self)->ordinal); } catch (const triton::exceptions::Exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* SymbolicVariable_getBitSize(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PySymbolicVariable_AsSymbolicVariable(self)->getSize()); } catch (const std::exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* BitsVector_getLow(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyBitsVector_AsBitsVector(self)->getLow()); } catch (const triton::exceptions::Exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* ElfProgramHeader_getType(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyElfProgramHeader_AsElfProgramHeader(self)->getType()); } catch (const std::exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* ElfHeader_getVersion(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyElfHeader_AsElfHeader(self)->getVersion()); } catch (const triton::exceptions::Exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* Bitvector_getLow(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyBitvector_AsLow(self)); } catch (const std::exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* SymbolicExpression_getKind(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PySymbolicExpression_AsSymbolicExpression(self)->getKind()); } catch (const std::exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* MemoryAccess_getType(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyMemoryAccess_AsMemoryAccess(self)->getType()); } catch (const triton::exceptions::Exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* ElfSymbolTable_getShndx(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyElfSymbolTable_AsElfSymbolTable(self)->getShndx()); } catch (const triton::exceptions::Exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* Immediate_getType(PyObject* self, PyObject* noarg) { try { return PyLong_FromUint32(PyImmediate_AsImmediate(self)->getType()); } catch (const triton::exceptions::Exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
static PyObject* Bitvector_getVectorSize(PyObject* self, PyObject* noarg) { try { triton::uint32 vectorSize = ((PyBitvector_AsHigh(self) - PyBitvector_AsLow(self)) + 1); return PyLong_FromUint32(vectorSize); } catch (const std::exception& e) { return PyErr_Format(PyExc_TypeError, "%s", e.what()); } }
void initSymExprNamespace(PyObject* symExprDict) { xPyDict_SetItemString(symExprDict, "UNDEF", PyLong_FromUint32(triton::engines::symbolic::UNDEF)); xPyDict_SetItemString(symExprDict, "MEM", PyLong_FromUint32(triton::engines::symbolic::MEM)); xPyDict_SetItemString(symExprDict, "REG", PyLong_FromUint32(triton::engines::symbolic::REG)); }
void initArchNamespace(PyObject* archDict) { xPyDict_SetItemString(archDict, "X86", PyLong_FromUint32(triton::arch::ARCH_X86)); xPyDict_SetItemString(archDict, "X86_64", PyLong_FromUint32(triton::arch::ARCH_X86_64)); }
void initSyscallNamespace(void) { if (!triton::bindings::python::initialized) return; PyDict_Clear(triton::bindings::python::syscallsDict); switch (api.getArchitecture()) { case triton::arch::ARCH_X86_64: for (triton::uint32 i = 0; i < triton::os::unix::NB_SYSCALL64; ++i) PyDict_SetItemString(triton::bindings::python::syscallsDict, triton::os::unix::syscallmap64[i], PyLong_FromUint32(i)); break; #if defined(__unix__) case triton::arch::ARCH_X86: for (triton::uint32 i = 0; i < triton::os::unix::NB_SYSCALL32; ++i) PyDict_SetItemString(triton::bindings::python::syscallsDict, triton::os::unix::syscallmap32[i], PyLong_FromUint32(i)); break; #endif } /* switch */ }
void initSymExprNamespace(PyObject* symExprDict) { PyDict_SetItemString(symExprDict, "UNSET", PyLong_FromUsize(static_cast<triton::usize>(-1))); PyDict_SetItemString(symExprDict, "UNDEF", PyLong_FromUint32(triton::engines::symbolic::UNDEF)); PyDict_SetItemString(symExprDict, "MEM", PyLong_FromUint32(triton::engines::symbolic::MEM)); PyDict_SetItemString(symExprDict, "REG", PyLong_FromUint32(triton::engines::symbolic::REG)); }
void initOperandNamespace(PyObject* operandDict) { PyDict_SetItemString(operandDict, "INVALID", PyLong_FromUint32(triton::arch::OP_INVALID)); PyDict_SetItemString(operandDict, "IMM", PyLong_FromUint32(triton::arch::OP_IMM)); PyDict_SetItemString(operandDict, "MEM", PyLong_FromUint32(triton::arch::OP_MEM)); PyDict_SetItemString(operandDict, "REG", PyLong_FromUint32(triton::arch::OP_REG)); }
void initAstRepresentationNamespace(PyObject* astRepresentationDict) { PyDict_SetItemString(astRepresentationDict, "SMT", PyLong_FromUint32(triton::ast::representations::SMT_REPRESENTATION)); PyDict_SetItemString(astRepresentationDict, "PYTHON", PyLong_FromUint32(triton::ast::representations::PYTHON_REPRESENTATION)); }
void initCpuSizeNamespace(void) { if (!triton::bindings::python::initialized) return; PyDict_Clear(triton::bindings::python::cpuSizeDict); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "BYTE", PyLong_FromUint32(BYTE_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "BYTE_BIT", PyLong_FromUint32(BYTE_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "WORD", PyLong_FromUint32(WORD_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "WORD_BIT", PyLong_FromUint32(WORD_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "DWORD", PyLong_FromUint32(DWORD_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "DWORD_BIT", PyLong_FromUint32(DWORD_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "QWORD", PyLong_FromUint32(QWORD_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "QWORD_BIT", PyLong_FromUint32(QWORD_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "DQWORD", PyLong_FromUint32(DQWORD_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "DQWORD_BIT", PyLong_FromUint32(DQWORD_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "QQWORD", PyLong_FromUint32(QQWORD_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "QQWORD_BIT", PyLong_FromUint32(QQWORD_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "DQQWORD", PyLong_FromUint32(DQQWORD_SIZE)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "DQQWORD_BIT", PyLong_FromUint32(DQQWORD_SIZE_BIT)); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "REG", PyLong_FromUint32(triton::api.cpuRegisterSize())); PyDict_SetItemString(triton::bindings::python::cpuSizeDict, "REG_BIT", PyLong_FromUint32(triton::api.cpuRegisterBitSize())); }