Go to the documentation of this file.
29 #ifndef PLUGIN_PYTHON_H
30 #define PLUGIN_PYTHON_H
49 #if PY_MAJOR_VERSION >= 3
50 # if PY_MINOR_VERSION >= 3
53 # if PY_MINOR_VERSION >= 8
56 # if PY_MINOR_VERSION >= 10
62 #define CF_IS_PYSTR(cfpy_obj) (PyUnicode_Check(cfpy_obj))
68 # ifdef PYTHON_PLUGIN_EXPORTS
69 # define MODULEAPI __declspec(dllexport)
71 # define MODULEAPI __declspec(dllimport)
74 #ifdef HAVE_VISIBILITY
75 # define MODULEAPI __attribute__((visibility("default")))
81 #define PLUGIN_NAME "Python"
82 #define PLUGIN_VERSION "CFPython Plugin 2.0a13 (Fido)"
146 #if PY_VERSION_HEX == 0x030503F0
147 #define CF_PYTHON_OBJECT(NAME, DEALLOC, CONVERT, HASH, FLAGS, DOC, CMP, METHODS, GETSET, BASE, OBNEW) \
148 PyTypeObject Crossfire_ ## NAME ## Type = { \
150 PyVarObject_HEAD_INIT(NULL, 0) \
151 "Crossfire." #NAME, \
152 sizeof(Crossfire_ ## NAME), \
166 PyObject_GenericGetAttr, \
167 PyObject_GenericSetAttr, \
200 #define CF_PYTHON_OBJECT(NAME, DEALLOC, CONVERT, HASH, FLAGS, DOC, CMP, METHODS, GETSET, BASE, OBNEW) \
201 PyTypeObject Crossfire_ ## NAME ## Type = { \
203 PyVarObject_HEAD_INIT(NULL, 0) \
204 "Crossfire." #NAME, \
205 sizeof(Crossfire_ ## NAME), \
219 PyObject_GenericGetAttr, \
220 PyObject_GenericSetAttr, \
258 #if PY_VERSION_HEX == 0x030503F0
259 #define CF_PYTHON_NUMBER_METHODS(NAME, LONG) \
260 static PyNumberMethods NAME ## Convert = { \
303 #define CF_PYTHON_NUMBER_METHODS(NAME, LONG) \
304 static PyNumberMethods NAME ## Convert = { \
const CFConstant cstReplyTypes[]
const CFConstant cstDirection[]
const CFConstant cstEventType[]
const CFConstant cstMove[]
void(* f_plug_api)(int *type,...)
CFPContext * current_context
const CFConstant cstType[]
const CFConstant cstTime[]
CFPContext * context_stack
const CFConstant cstAttackType[]
const CFConstant cstAttackTypeNumber[]
PyMethodDef CFPythonMethods[]
const CFConstant cstMessageFlag[]
const CFConstant cstAttackMovement[]