libTriton version 1.0 build 1590
Loading...
Searching...
No Matches
pythonBindings.hpp
Go to the documentation of this file.
1
2/*
3** Copyright (C) - Triton
4**
5** This program is under the terms of the Apache License 2.0.
6*/
7
8#ifndef TRITONPYTHONBINDINGS_H
9#define TRITONPYTHONBINDINGS_H
10
11#include <Python.h>
12
13#if defined(_WIN32) && !defined(__WINE__)
14 #include <cmath>
15 #define _hypot hypot
16#endif
17
18#include <triton/py3c_compat.h>
19
20
21
23namespace triton {
30 namespace bindings {
38 namespace python {
46 extern PyObject* tritonModule;
47
50
52 extern PyMethodDef tritonCallbacks[];
53
55 void initArchNamespace(PyObject* archDict);
56
58 void initAstNodeNamespace(PyObject* astNodeDict);
59
61 void initAstRepresentationNamespace(PyObject* astRepresentationDict);
62
64 void initCallbackNamespace(PyObject* callbackDict);
65
67 void initConditionsNamespace(PyObject* conditionsDict);
68
70 void initCpuSizeNamespace(PyObject* cpuSizeDict);
71
73 void initOpcodesNamespace(PyObject* opcodeDict);
74
76 void initPrefixesNamespace(PyObject* prefixDict);
77
79 void initOperandNamespace(PyObject* operandDict);
80
82 void initShiftsNamespace(PyObject* shiftDict);
83
85 void initExceptionNamespace(PyObject* exceptionDict);
86
88 void initExtendNamespace(PyObject* extendDict);
89
91 void initVASNamespace(PyObject* vasDict);
92
94 void initRegNamespace(PyObject* regDict);
95
97 void initModeNamespace(PyObject* modeDict);
98
100 void initSolverNamespace(PyObject* solverDict);
101
103 void initSolverStateNamespace(PyObject* solverStateDict);
104
106 void initStubsNamespace(PyObject* stubsDict);
107
109 void initSymbolicNamespace(PyObject* symbolicDict);
110
112 void initVersionNamespace(PyObject* versionDict);
113
115 #if IS_PY3
116 PyMODINIT_FUNC PyInit_triton(void);
117 #else
118 PyMODINIT_FUNC inittriton(void);
119 PyObject* PyInit_triton(void);
120 #endif
121
123 };
125 };
127};
128
129#endif /* TRITONPYTHONBINDINGS_H */
void initArchNamespace(PyObject *archDict)
Initializes the ARCH python namespace.
void initSolverNamespace(PyObject *solverDict)
Initializes the SOLVER python namespace.
void initSymbolicNamespace(PyObject *symbolicDict)
Initializes the SYMBOLIC python namespace.
void initSolverStateNamespace(PyObject *solverStateDict)
Initializes the SOLVER_STATE python namespace.
void initConditionsNamespace(PyObject *conditionsDict)
Initializes the CONDITION python namespace.
void initOperandNamespace(PyObject *operandDict)
Initializes the OPERAND python namespace.
void initAstNodeNamespace(PyObject *astNodeDict)
Initializes the AST_NODE python namespace.
void initRegNamespace(PyObject *registersDict)
Initializes the REG python namespace.
void initCpuSizeNamespace(PyObject *cpuSizeDict)
Initializes the CPUSIZE python namespace.
void initAstRepresentationNamespace(PyObject *astRepresentationDict)
Initializes the AST_REPRESENTATION python namespace.
void initStubsNamespace(PyObject *stubsDict)
Initializes the STUBS python namespace.
PyMethodDef tritonCallbacks[]
triton python methods.
PyObject * tritonModule
triton python module.
Definition init.cpp:20
PyMODINIT_FUNC inittriton(void)
Entry point python bindings (Py2/3).
Definition init.cpp:42
void initModeNamespace(PyObject *modeDict)
Initializes the MODE python namespace.
void initOpcodesNamespace(PyObject *opcodesDict)
Initializes the OPCODE python namespace.
PyModuleDef tritonModuleDef
triton python module definition.
Definition init.cpp:22
void initCallbackNamespace(PyObject *callbackDict)
Initializes the CALLBACK python namespace.
void initShiftsNamespace(PyObject *shiftsDict)
Initializes the SHIFT python namespace.
void initExceptionNamespace(PyObject *exceptionDict)
Initializes the EXCEPTION python namespace.
void initPrefixesNamespace(PyObject *prefixesDict)
Initializes the PREFIX python namespace.
void initVASNamespace(PyObject *vasDict)
Initializes the VAS python namespace.
void initVersionNamespace(PyObject *versionDict)
Initializes the VERSION python namespace.
void initExtendNamespace(PyObject *extendDict)
Initializes the EXTEND python namespace.
The Triton namespace.