libTriton  version 0.7 build 1407
pythonBindings.hpp
Go to the documentation of this file.
1 /*
3 ** Copyright (C) - Triton
4 **
5 ** This program is under the terms of the BSD License.
6 */
7 
8 #ifndef TRITONPYTHONBINDINGS_H
9 #define TRITONPYTHONBINDINGS_H
10 
11 #include <Python.h>
12 #include <longintrepr.h>
13 #if _WIN32
14  #include <cmath>
15  #define _hypot hypot
16 #endif
17 
18 
19 
21 namespace triton {
27  namespace bindings {
35  namespace python {
43  extern PyObject* tritonModule;
45 
47  extern PyMethodDef tritonCallbacks[];
48 
50  void initArchNamespace(PyObject* archDict);
51 
53  void initAstNodeNamespace(PyObject* astNodeDict);
54 
56  void initAstRepresentationNamespace(PyObject* astRepresentationDict);
57 
59  void initCallbackNamespace(PyObject* callbackDict);
60 
62  void initConditionsNamespace(PyObject* conditionsDict);
63 
65  void initCpuSizeNamespace(PyObject* cpuSizeDict);
66 
68  void initOpcodesNamespace(PyObject* opcodeDict);
69 
71  void initPrefixesNamespace(PyObject* prefixDict);
72 
74  void initOperandNamespace(PyObject* operandDict);
75 
77  void initShiftsNamespace(PyObject* shiftDict);
78 
80  void initExtendNamespace(PyObject* extendDict);
81 
83  void initRegNamespace(PyObject* regDict);
84 
86  void initModeNamespace(PyObject* modeDict);
87 
89  void initSymbolicNamespace(PyObject* symbolicDict);
90 
91  #if defined(__unix__) || defined(__APPLE__)
92  void initSyscall64Namespace(PyObject* sys64Dict);
94 
95  #if defined(__unix__)
96  void initSyscall32Namespace(PyObject* sys32Dict);
98  #endif
99  #endif
100 
102  void initVersionNamespace(PyObject* versionDict);
103 
105  PyMODINIT_FUNC inittriton(void);
106 
108  };
110  };
112 };
113 
114 #endif /* TRITONPYTHONBINDINGS_H */
void initCpuSizeNamespace(PyObject *cpuSizeDict)
Initializes the CPUSIZE python namespace.
void initPrefixesNamespace(PyObject *prefixesDict)
Initializes the PREFIX python namespace.
PyMODINIT_FUNC inittriton(void)
Entry point python bindings.
Definition: init.cpp:24
PyMethodDef tritonCallbacks[]
triton python methods.
void initShiftsNamespace(PyObject *shiftsDict)
Initializes the SHIFT python namespace.
void initArchNamespace(PyObject *archDict)
Initializes the ARCH python namespace.
void initSymbolicNamespace(PyObject *symbolicDict)
Initializes the SYMBOLIC python namespace.
The Triton namespace.
Definition: api.cpp:225
void initAstRepresentationNamespace(PyObject *astRepresentationDict)
Initializes the AST_REPRESENTATION python namespace.
void initConditionsNamespace(PyObject *conditionsDict)
Initializes the CONDITION python namespace.
void initSyscall64Namespace(PyObject *syscallsDict64)
Initializes the SYSCALL32 python namespace.
void initVersionNamespace(PyObject *versionDict)
Initializes the VERSION python namespace.
void initOpcodesNamespace(PyObject *opcodesDict)
Initializes the OPCODE python namespace.
void initOperandNamespace(PyObject *operandDict)
Initializes the OPERAND python namespace.
PyObject * tritonModule
triton python module.
Definition: init.cpp:20
void initAstNodeNamespace(PyObject *astNodeDict)
Initializes the AST_NODE python namespace.
void initCallbackNamespace(PyObject *callbackDict)
Initializes the CALLBACK python namespace.
void initModeNamespace(PyObject *modeDict)
Initializes the MODE python namespace.
void initExtendNamespace(PyObject *extendDict)
Initializes the EXTEND python namespace.
void initSyscall32Namespace(PyObject *syscallsDict32)
Initializes the SYSCALL32 python namespace.
void initRegNamespace(PyObject *registersDict)
Initializes the REG python namespace.