79 PyDict_Clear(registersDict);
85 #define REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5, _6, _7, X86_AVAIL) \
87 xPyDict_SetItemString(x86RegistersDict, #UPPER_NAME, PyLong_FromUint32(triton::arch::ID_REG_X86_##UPPER_NAME));
89 #define REG_SPEC_NO_CAPSTONE REG_SPEC
90 #include "triton/x86.spec"
99 #define REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5, _6, _7, _8) \
100 xPyDict_SetItemString(x8664RegistersDict, #UPPER_NAME, PyLong_FromUint32(triton::arch::ID_REG_X86_##UPPER_NAME));
102 #define REG_SPEC_NO_CAPSTONE REG_SPEC
103 #include "triton/x86.spec"
112 #define REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5) \
113 xPyDict_SetItemString(aarch64RegistersDict, #UPPER_NAME, PyLong_FromUint32(triton::arch::ID_REG_AARCH64_##UPPER_NAME));
115 #define REG_SPEC_NO_CAPSTONE REG_SPEC
116 #define SYS_REG_SPEC REG_SPEC
117 #include "triton/aarch64.spec"
126 #define REG_SPEC(UPPER_NAME, _1, _2, _3, _4, _5) \
127 xPyDict_SetItemString(arm32RegistersDict, #UPPER_NAME, PyLong_FromUint32(triton::arch::ID_REG_ARM32_##UPPER_NAME));
129 #define REG_SPEC_NO_CAPSTONE REG_SPEC
130 #include "triton/arm32.spec"
PyObject * xPyClass_New(PyObject *b, PyObject *d, PyObject *n)
Creates a PyClass and raises an exception if it fails. dict is copied in Py3 ! All references are dec...
PyObject * xPyString_FromString(const char *v)
Creates a PyString and raises an exception if it fails.
void initRegNamespace(PyObject *registersDict)
Initializes the REG python namespace.
PyObject * xPyDict_New(void)
Creates a PyDict and raises an exception if it fails.
int xPyDict_SetItemString(PyObject *p, const char *key, PyObject *val)
Same as PyDict_SetItemString but decrements reference on object.