abstract public long apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : object.h:21</i>
	/// <i>native declaration : object.h:21</i>
	public static abstract class coercion extends Callback<coercion > {
		abstract public int apply(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr2);
	};
	/// <i>native declaration : object.h:22</i>
	/// <i>native declaration : object.h:22</i>
	public static abstract class intargfunc extends Callback<intargfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, int int1);
	};
	/// <i>native declaration : object.h:23</i>
	/// <i>native declaration : object.h:23</i>
	public static abstract class intintargfunc extends Callback<intintargfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, int int1, int int2);
	};
	/// <i>native declaration : object.h:24</i>
	/// <i>native declaration : object.h:24</i>
	public static abstract class ssizeargfunc extends Callback<ssizeargfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1);
	};
	/// <i>native declaration : object.h:25</i>
	/// <i>native declaration : object.h:25</i>
	public static abstract class ssizessizeargfunc extends Callback<ssizessizeargfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2);
	};
	/// <i>native declaration : object.h:26</i>
	/// <i>native declaration : object.h:26</i>
	public static abstract class intobjargproc extends Callback<intobjargproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, int int1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:27</i>
	/// <i>native declaration : object.h:27</i>
	public static abstract class intintobjargproc extends Callback<intintobjargproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, int int1, int int2, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:28</i>
	/// <i>native declaration : object.h:28</i>
	public static abstract class ssizeobjargproc extends Callback<ssizeobjargproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:29</i>
	/// <i>native declaration : object.h:29</i>
	public static abstract class ssizessizeobjargproc extends Callback<ssizessizeobjargproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:30</i>
	/// <i>native declaration : object.h:30</i>
	public static abstract class objobjargproc extends Callback<objobjargproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3);
	};
	/**
	 * int-based buffer interface<br>
	 * <i>native declaration : object.h:32</i>
	 */
	/**
	 * int-based buffer interface<br>
	 * <i>native declaration : object.h:32</i>
	 */
	public static abstract class getreadbufferproc extends Callback<getreadbufferproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, int int1, Pointer<Pointer<? > > voidPtrPtr1);
	};
	/// <i>native declaration : object.h:33</i>
	/// <i>native declaration : object.h:33</i>
	public static abstract class getwritebufferproc extends Callback<getwritebufferproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, int int1, Pointer<Pointer<? > > voidPtrPtr1);
	};
	/// <i>native declaration : object.h:34</i>
	/// <i>native declaration : object.h:34</i>
	public static abstract class getsegcountproc extends Callback<getsegcountproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<Integer > intPtr1);
	};
	/// <i>native declaration : object.h:35</i>
	/// <i>native declaration : object.h:35</i>
	public static abstract class getcharbufferproc extends Callback<getcharbufferproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, int int1, Pointer<Pointer<Byte > > charPtrPtr1);
	};
	/**
	 * ssize_t-based buffer interface<br>
	 * <i>native declaration : object.h:37</i>
	 */
	/**
	 * ssize_t-based buffer interface<br>
	 * <i>native declaration : object.h:37</i>
	 */
	public static abstract class readbufferproc extends Callback<readbufferproc > {
		@Ptr 
		abstract public long apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<Pointer<? > > voidPtrPtr1);
	};
	/// <i>native declaration : object.h:38</i>
	/// <i>native declaration : object.h:38</i>
	public static abstract class writebufferproc extends Callback<writebufferproc > {
		@Ptr 
		abstract public long apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<Pointer<? > > voidPtrPtr1);
	};
	/// <i>native declaration : object.h:39</i>
	/// <i>native declaration : object.h:39</i>
	public static abstract class segcountproc extends Callback<segcountproc > {
		@Ptr 
		abstract public long apply(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1);
	};
	/// <i>native declaration : object.h:40</i>
	/// <i>native declaration : object.h:40</i>
	public static abstract class charbufferproc extends Callback<charbufferproc > {
		@Ptr 
		abstract public long apply(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<Pointer<Byte > > charPtrPtr1);
	};
	/// <i>native declaration : object.h:58</i>
	/// <i>native declaration : object.h:58</i>
	public static abstract class getbufferproc extends Callback<getbufferproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<Py_buffer > Py_bufferPtr1, int int1);
	};
	/// <i>native declaration : object.h:59</i>
	/// <i>native declaration : object.h:59</i>
	public static abstract class releasebufferproc extends Callback<releasebufferproc > {
		abstract public void apply(Pointer<PyObject > PyObjectPtr1, Pointer<Py_buffer > Py_bufferPtr1);
	};
	/// <i>native declaration : object.h:60</i>
	/// <i>native declaration : object.h:60</i>
	public static abstract class objobjproc extends Callback<objobjproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:61</i>
	/// <i>native declaration : object.h:61</i>
	public static abstract class visitproc extends Callback<visitproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<? > voidPtr1);
	};
	/// <i>native declaration : object.h:62</i>
	/// <i>native declaration : object.h:62</i>
	public static abstract class traverseproc extends Callback<traverseproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<Python27Library.visitproc > visitproc1, Pointer<? > voidPtr1);
	};
	/// <i>native declaration : object.h:133</i>
	/// <i>native declaration : object.h:133</i>
	public static abstract class freefunc extends Callback<freefunc > {
		abstract public void apply(Pointer<? > voidPtr1);
	};
	/// <i>native declaration : object.h:134</i>
	/// <i>native declaration : object.h:134</i>
	public static abstract class destructor extends Callback<destructor > {
		abstract public void apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : object.h:135</i>
	/// <i>native declaration : object.h:135</i>
	public static abstract class printfunc extends Callback<printfunc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<Python27Library.FILE > FILEPtr1, int int1);
	};
	/// <i>native declaration : object.h:136</i>
	/// <i>native declaration : object.h:136</i>
	public static abstract class getattrfunc extends Callback<getattrfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1);
	};
	/// <i>native declaration : object.h:137</i>
	/// <i>native declaration : object.h:137</i>
	public static abstract class getattrofunc extends Callback<getattrofunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:138</i>
	/// <i>native declaration : object.h:138</i>
	public static abstract class setattrfunc extends Callback<setattrfunc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:139</i>
	/// <i>native declaration : object.h:139</i>
	public static abstract class setattrofunc extends Callback<setattrofunc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3);
	};
	/// <i>native declaration : object.h:140</i>
	/// <i>native declaration : object.h:140</i>
	public static abstract class cmpfunc extends Callback<cmpfunc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:141</i>
	/// <i>native declaration : object.h:141</i>
	public static abstract class reprfunc extends Callback<reprfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : object.h:142</i>
	/// <i>native declaration : object.h:142</i>
	public static abstract class hashfunc extends Callback<hashfunc > {
		@org.bridj.ann.CLong 
		abstract public long apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : object.h:143</i>
	/// <i>native declaration : object.h:143</i>
	public static abstract class richcmpfunc extends Callback<richcmpfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, int int1);
	};
	/// <i>native declaration : object.h:144</i>
	/// <i>native declaration : object.h:144</i>
	public static abstract class getiterfunc extends Callback<getiterfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : object.h:145</i>
	/// <i>native declaration : object.h:145</i>
	public static abstract class iternextfunc extends Callback<iternextfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : object.h:146</i>
	/// <i>native declaration : object.h:146</i>
	public static abstract class descrgetfunc extends Callback<descrgetfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3);
	};
	/// <i>native declaration : object.h:147</i>
	/// <i>native declaration : object.h:147</i>
	public static abstract class descrsetfunc extends Callback<descrsetfunc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3);
	};
	/// <i>native declaration : object.h:148</i>
	/// <i>native declaration : object.h:148</i>
	public static abstract class initproc extends Callback<initproc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3);
	};
	/// <i>native declaration : object.h:149</i>
	/// <i>native declaration : object.h:149</i>
	public static abstract class newfunc extends Callback<newfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyTypeObject > _typeobjectPtr1, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : object.h:150</i>
	/// <i>native declaration : object.h:150</i>
	public static abstract class allocfunc extends Callback<allocfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyTypeObject > _typeobjectPtr1, @Ptr long Py_ssize_t1);
	};
	/// <i>native declaration : methodobject.h:2</i>
	/// <i>native declaration : methodobject.h:2</i>
	public static abstract class PyCFunction extends Callback<PyCFunction > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : methodobject.h:3</i>
	/// <i>native declaration : methodobject.h:3</i>
	public static abstract class PyCFunctionWithKeywords extends Callback<PyCFunctionWithKeywords > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3);
	};
	/// <i>native declaration : methodobject.h:4</i>
	/// <i>native declaration : methodobject.h:4</i>
	public static abstract class PyNoArgsFunction extends Callback<PyNoArgsFunction > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : fileobject.h:71</i>
	/// <i>native declaration : fileobject.h:71</i>
	public static abstract class PyFile_FromFile_arg1_callback extends Callback<PyFile_FromFile_arg1_callback > {
		abstract public int apply(Pointer<Python27Library.FILE > FILEPtr1);
	};
	/// <i>native declaration : cobject.h:46</i>
	/// <i>native declaration : cobject.h:46</i>
	public static abstract class PyCObject_FromVoidPtr_destruct_callback extends Callback<PyCObject_FromVoidPtr_destruct_callback > {
		abstract public void apply(Pointer<? > voidPtr1);
	};
	/// <i>native declaration : cobject.h:47</i>
	/// <i>native declaration : cobject.h:47</i>
	public static abstract class PyCObject_FromVoidPtrAndDesc_destruct_callback extends Callback<PyCObject_FromVoidPtrAndDesc_destruct_callback > {
		abstract public void apply(Pointer<? > voidPtr1, Pointer<? > voidPtr2);
	};
	/// <i>native declaration : pycapsule.h:2</i>
	/// <i>native declaration : pycapsule.h:2</i>
	public static abstract class PyCapsule_Destructor extends Callback<PyCapsule_Destructor > {
		abstract public void apply(Pointer<PyObject > PyObjectPtr1);
	};
	/// <i>native declaration : descrobject.h:1</i>
	/// <i>native declaration : descrobject.h:1</i>
	public static abstract class getter extends Callback<getter > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > PyObjectPtr1, Pointer<? > voidPtr1);
	};
	/// <i>native declaration : descrobject.h:2</i>
	/// <i>native declaration : descrobject.h:2</i>
	public static abstract class setter extends Callback<setter > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<? > voidPtr1);
	};
	/// <i>native declaration : descrobject.h:10</i>
	/// <i>native declaration : descrobject.h:10</i>
	public static abstract class wrapperfunc extends Callback<wrapperfunc > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > self, Pointer<PyObject > args, Pointer<? > wrapped);
	};
	/// <i>native declaration : descrobject.h:11</i>
	/// <i>native declaration : descrobject.h:11</i>
	public static abstract class wrapperfunc_kwds extends Callback<wrapperfunc_kwds > {
		abstract public Pointer<PyObject > apply(Pointer<PyObject > self, Pointer<PyObject > args, Pointer<? > wrapped, Pointer<PyObject > kwds);
	};
	/**
	 * Py_tracefunc return -1 when raising an exception, or 0 for success.<br>
	 * <i>native declaration : pystate.h:23</i>
	 */
	/**
	 * Py_tracefunc return -1 when raising an exception, or 0 for success.<br>
	 * <i>native declaration : pystate.h:23</i>
	 */
	public static abstract class Py_tracefunc extends Callback<Py_tracefunc > {
		abstract public int apply(Pointer<PyObject > PyObjectPtr1, Pointer<Python27Library._frame > _framePtr1, int int1, Pointer<PyObject > PyObjectPtr2);
	};
	/// <i>native declaration : pystate.h:150</i>
	/// <i>native declaration : pystate.h:150</i>
	public static abstract class PyThreadFrameGetter extends Callback<PyThreadFrameGetter > {
		abstract public Pointer<Python27Library._frame > apply(Pointer<PyThreadState > self_);
	};
	/**
	 * Signals<br>
	 * <i>native declaration : pythonrun.h:168</i>
	 */
	/**
	 * Signals<br>
	 * <i>native declaration : pythonrun.h:168</i>
	 */
	public static abstract class PyOS_sighandler_t extends Callback<PyOS_sighandler_t > {
		abstract public void apply(int int1);
	};
	/// <i>native declaration : pythonrun.h:178</i>
	/// <i>native declaration : pythonrun.h:178</i>
	public static abstract class Py_AtExit_func_callback extends Callback<Py_AtExit_func_callback > {
		abstract public void apply();
	};
	/// <i>native declaration : pythonrun.h:179</i>
	/// <i>native declaration : pythonrun.h:179</i>
	public static abstract class PyOS_InputHook_callback extends Callback<PyOS_InputHook_callback > {
		abstract public int apply();
	};
	/// <i>native declaration : pythonrun.h:180</i>
	/// <i>native declaration : pythonrun.h:180</i>
	public static abstract class PyOS_ReadlineFunctionPointer_callback extends Callback<PyOS_ReadlineFunctionPointer_callback > {
		abstract public Pointer<Byte > apply(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Python27Library.FILE > FILEPtr2, Pointer<Byte > charPtr1);
	};
	/// <i>native declaration : ceval.h:80</i>
	/// <i>native declaration : ceval.h:80</i>
	public static abstract class Py_AddPendingCall_func_callback extends Callback<Py_AddPendingCall_func_callback > {
		abstract public int apply(Pointer<? > voidPtr1);
	};
	/// <i>native declaration : import.h:58</i>
	/// <i>native declaration : import.h:58</i>
	public static abstract class PyImport_AppendInittab_initfunc_callback extends Callback<PyImport_AppendInittab_initfunc_callback > {
		abstract public void apply();
	};
	/**
	 * Original signature : <code>short _Py_get_387controlword()</code><br>
	 * <i>native declaration : pymath.h:1</i>
	 */
	native public static short _Py_get_387controlword();
	/**
	 * Original signature : <code>void _Py_set_387controlword(unsigned short)</code><br>
	 * <i>native declaration : pymath.h:3</i>
	 */
	native public static void _Py_set_387controlword(short u1);
	/**
	 * Original signature : <code>void* PyMem_Malloc(size_t)</code><br>
	 * <i>native declaration : pymem.h:2</i>
	 */
	public static Pointer<? > PyMem_Malloc(@Ptr long size_t1) {
		return Pointer.pointerToAddress(PyMem_Malloc$2(size_t1));
	}
	@Ptr 
	@Name("PyMem_Malloc") 
	protected native static long PyMem_Malloc$2(@Ptr long size_t1);
	/**
	 * Original signature : <code>void* PyMem_Realloc(void*, size_t)</code><br>
	 * <i>native declaration : pymem.h:4</i>
	 */
	public static Pointer<? > PyMem_Realloc(Pointer<? > voidPtr1, @Ptr long size_t1) {
		return Pointer.pointerToAddress(PyMem_Realloc(Pointer.getPeer(voidPtr1), size_t1));
	}
	@Ptr 
	protected native static long PyMem_Realloc(@Ptr long voidPtr1, @Ptr long size_t1);
	/**
	 * Original signature : <code>void PyMem_Free(void*)</code><br>
	 * <i>native declaration : pymem.h:6</i>
	 */
	public static void PyMem_Free(Pointer<? > voidPtr1) {
		PyMem_Free(Pointer.getPeer(voidPtr1));
	}
	protected native static void PyMem_Free(@Ptr long voidPtr1);
	/**
	 * Generic type check<br>
	 * Original signature : <code>int PyType_IsSubtype(PyTypeObject*, PyTypeObject*)</code><br>
	 * <i>native declaration : object.h:233</i>
	 */
	public static int PyType_IsSubtype(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<PyTypeObject > PyTypeObjectPtr2) {
		return PyType_IsSubtype(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyTypeObjectPtr2));
	}
	protected native static int PyType_IsSubtype(@Ptr long PyTypeObjectPtr1, @Ptr long PyTypeObjectPtr2);
	/**
	 * Original signature : <code>int PyType_Ready(PyTypeObject*)</code><br>
	 * <i>native declaration : object.h:238</i>
	 */
	public static int PyType_Ready(Pointer<PyTypeObject > PyTypeObjectPtr1) {
		return PyType_Ready(Pointer.getPeer(PyTypeObjectPtr1));
	}
	protected native static int PyType_Ready(@Ptr long PyTypeObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyType_GenericAlloc(PyTypeObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : object.h:240</i>
	 */
	public static Pointer<PyObject > PyType_GenericAlloc(Pointer<PyTypeObject > PyTypeObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyType_GenericAlloc(Pointer.getPeer(PyTypeObjectPtr1), Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	protected native static long PyType_GenericAlloc(@Ptr long PyTypeObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* PyType_GenericNew(PyTypeObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:242</i>
	 */
	public static Pointer<PyObject > PyType_GenericNew(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyType_GenericNew(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyType_GenericNew(@Ptr long PyTypeObjectPtr1, @Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* _PyType_Lookup(PyTypeObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:244</i>
	 */
	public static Pointer<PyObject > _PyType_Lookup(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(_PyType_Lookup(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyType_Lookup(@Ptr long PyTypeObjectPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* _PyObject_LookupSpecial(PyObject*, char*, PyObject**)</code><br>
	 * <i>native declaration : object.h:246</i>
	 */
	public static Pointer<PyObject > _PyObject_LookupSpecial(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr1) {
		return Pointer.pointerToAddress(_PyObject_LookupSpecial(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyObjectPtrPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_LookupSpecial(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long PyObjectPtrPtr1);
	/**
	 * Original signature : <code>int PyType_ClearCache()</code><br>
	 * <i>native declaration : object.h:248</i>
	 */
	native public static int PyType_ClearCache();
	/**
	 * Original signature : <code>void PyType_Modified(PyTypeObject*)</code><br>
	 * <i>native declaration : object.h:250</i>
	 */
	public static void PyType_Modified(Pointer<PyTypeObject > PyTypeObjectPtr1) {
		PyType_Modified(Pointer.getPeer(PyTypeObjectPtr1));
	}
	protected native static void PyType_Modified(@Ptr long PyTypeObjectPtr1);
	/**
	 * Generic operations on objects<br>
	 * Original signature : <code>int PyObject_Print(PyObject*, FILE*, int)</code><br>
	 * <i>native declaration : object.h:255</i>
	 */
	public static int PyObject_Print(Pointer<PyObject > PyObjectPtr1, Pointer<Python27Library.FILE > FILEPtr1, int int1) {
		return PyObject_Print(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(FILEPtr1), int1);
	}
	protected native static int PyObject_Print(@Ptr long PyObjectPtr1, @Ptr long FILEPtr1, int int1);
	/**
	 * Original signature : <code>void _PyObject_Dump(PyObject*)</code><br>
	 * <i>native declaration : object.h:257</i>
	 */
	public static void _PyObject_Dump(Pointer<PyObject > PyObjectPtr1) {
		_PyObject_Dump(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void _PyObject_Dump(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyObject_Repr(PyObject*)</code><br>
	 * <i>native declaration : object.h:259</i>
	 */
	public static Pointer<PyObject > PyObject_Repr(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_Repr(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Repr(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* _PyObject_Str(PyObject*)</code><br>
	 * <i>native declaration : object.h:261</i>
	 */
	public static Pointer<PyObject > _PyObject_Str(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(_PyObject_Str(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_Str(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyObject_Str(PyObject*)</code><br>
	 * <i>native declaration : object.h:263</i>
	 */
	public static Pointer<PyObject > PyObject_Str(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_Str(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Str(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyObject_Unicode(PyObject*)</code><br>
	 * <i>native declaration : object.h:265</i>
	 */
	public static Pointer<PyObject > PyObject_Unicode(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_Unicode(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Unicode(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyObject_Compare(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:267</i>
	 */
	public static int PyObject_Compare(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyObject_Compare(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyObject_Compare(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyObject_RichCompare(PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : object.h:269</i>
	 */
	public static Pointer<PyObject > PyObject_RichCompare(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, int int1) {
		return Pointer.pointerToAddress(PyObject_RichCompare(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_RichCompare(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, int int1);
	/**
	 * Original signature : <code>int PyObject_RichCompareBool(PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : object.h:271</i>
	 */
	public static int PyObject_RichCompareBool(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, int int1) {
		return PyObject_RichCompareBool(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), int1);
	}
	protected native static int PyObject_RichCompareBool(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, int int1);
	/**
	 * Original signature : <code>PyObject* PyObject_GetAttrString(PyObject*, const char*)</code><br>
	 * <i>native declaration : object.h:273</i>
	 */
	public static Pointer<PyObject > PyObject_GetAttrString(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyObject_GetAttrString(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_GetAttrString(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyObject_SetAttrString(PyObject*, const char*, PyObject*)</code><br>
	 * <i>native declaration : object.h:275</i>
	 */
	public static int PyObject_SetAttrString(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyObject_SetAttrString(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyObject_SetAttrString(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyObject_HasAttrString(PyObject*, const char*)</code><br>
	 * <i>native declaration : object.h:277</i>
	 */
	public static int PyObject_HasAttrString(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return PyObject_HasAttrString(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int PyObject_HasAttrString(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyObject_GetAttr(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:279</i>
	 */
	public static Pointer<PyObject > PyObject_GetAttr(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyObject_GetAttr(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_GetAttr(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyObject_SetAttr(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:281</i>
	 */
	public static int PyObject_SetAttr(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return PyObject_SetAttr(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3));
	}
	protected native static int PyObject_SetAttr(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>int PyObject_HasAttr(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:283</i>
	 */
	public static int PyObject_HasAttr(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyObject_HasAttr(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyObject_HasAttr(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject** _PyObject_GetDictPtr(PyObject*)</code><br>
	 * <i>native declaration : object.h:285</i>
	 */
	public static Pointer<Pointer<PyObject > > _PyObject_GetDictPtr(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(_PyObject_GetDictPtr(Pointer.getPeer(PyObjectPtr1)), DefaultParameterizedType.paramType(Pointer.class, PyObject.class));
	}
	@Ptr 
	protected native static long _PyObject_GetDictPtr(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyObject_SelfIter(PyObject*)</code><br>
	 * <i>native declaration : object.h:287</i>
	 */
	public static Pointer<PyObject > PyObject_SelfIter(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_SelfIter(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_SelfIter(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* _PyObject_NextNotImplemented(PyObject*)</code><br>
	 * <i>native declaration : object.h:289</i>
	 */
	public static Pointer<PyObject > _PyObject_NextNotImplemented(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(_PyObject_NextNotImplemented(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_NextNotImplemented(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyObject_GenericGetAttr(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:291</i>
	 */
	public static Pointer<PyObject > PyObject_GenericGetAttr(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyObject_GenericGetAttr(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_GenericGetAttr(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyObject_GenericSetAttr(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:293</i>
	 */
	public static int PyObject_GenericSetAttr(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return PyObject_GenericSetAttr(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3));
	}
	protected native static int PyObject_GenericSetAttr(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>long PyObject_Hash(PyObject*)</code><br>
	 * <i>native declaration : object.h:295</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyObject_Hash(Pointer<PyObject > PyObjectPtr1) {
		return PyObject_Hash(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyObject_Hash(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long PyObject_HashNotImplemented(PyObject*)</code><br>
	 * <i>native declaration : object.h:297</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyObject_HashNotImplemented(Pointer<PyObject > PyObjectPtr1) {
		return PyObject_HashNotImplemented(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyObject_HashNotImplemented(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyObject_IsTrue(PyObject*)</code><br>
	 * <i>native declaration : object.h:299</i>
	 */
	public static int PyObject_IsTrue(Pointer<PyObject > PyObjectPtr1) {
		return PyObject_IsTrue(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyObject_IsTrue(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyObject_Not(PyObject*)</code><br>
	 * <i>native declaration : object.h:301</i>
	 */
	public static int PyObject_Not(Pointer<PyObject > PyObjectPtr1) {
		return PyObject_Not(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyObject_Not(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyCallable_Check(PyObject*)</code><br>
	 * <i>native declaration : object.h:303</i>
	 */
	public static int PyCallable_Check(Pointer<PyObject > PyObjectPtr1) {
		return PyCallable_Check(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyCallable_Check(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyNumber_Coerce(PyObject**, PyObject**)</code><br>
	 * <i>native declaration : object.h:305</i>
	 */
	public static int PyNumber_Coerce(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr2) {
		return PyNumber_Coerce(Pointer.getPeer(PyObjectPtrPtr1), Pointer.getPeer(PyObjectPtrPtr2));
	}
	protected native static int PyNumber_Coerce(@Ptr long PyObjectPtrPtr1, @Ptr long PyObjectPtrPtr2);
	/**
	 * Original signature : <code>int PyNumber_CoerceEx(PyObject**, PyObject**)</code><br>
	 * <i>native declaration : object.h:307</i>
	 */
	public static int PyNumber_CoerceEx(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr2) {
		return PyNumber_CoerceEx(Pointer.getPeer(PyObjectPtrPtr1), Pointer.getPeer(PyObjectPtrPtr2));
	}
	protected native static int PyNumber_CoerceEx(@Ptr long PyObjectPtrPtr1, @Ptr long PyObjectPtrPtr2);
	/**
	 * Original signature : <code>void PyObject_ClearWeakRefs(PyObject*)</code><br>
	 * <i>native declaration : object.h:309</i>
	 */
	public static void PyObject_ClearWeakRefs(Pointer<PyObject > PyObjectPtr1) {
		PyObject_ClearWeakRefs(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyObject_ClearWeakRefs(@Ptr long PyObjectPtr1);
	/**
	 * A slot function whose address we need to compare<br>
	 * Original signature : <code>int _PyObject_SlotCompare(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:314</i>
	 */
	public static int _PyObject_SlotCompare(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return _PyObject_SlotCompare(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int _PyObject_SlotCompare(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Same as PyObject_Generic{Get,Set}Attr, but passing the attributes<br>
	 * dict as the last parameter.<br>
	 * Original signature : <code>PyObject* _PyObject_GenericGetAttrWithDict(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:320</i>
	 */
	public static Pointer<PyObject > _PyObject_GenericGetAttrWithDict(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return Pointer.pointerToAddress(_PyObject_GenericGetAttrWithDict(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_GenericGetAttrWithDict(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>int _PyObject_GenericSetAttrWithDict(PyObject*, PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : object.h:322</i>
	 */
	public static int _PyObject_GenericSetAttrWithDict(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3, Pointer<PyObject > PyObjectPtr4) {
		return _PyObject_GenericSetAttrWithDict(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3), Pointer.getPeer(PyObjectPtr4));
	}
	protected native static int _PyObject_GenericSetAttrWithDict(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3, @Ptr long PyObjectPtr4);
	/**
	 * PyObject_Dir(obj) acts like Python __builtin__.dir(obj), returning a<br>
	 * list of strings.  PyObject_Dir(NULL) is like __builtin__.dir(),<br>
	 * returning the names of the current locals.  In this case, if there are<br>
	 * no current locals, NULL is returned, and PyErr_Occurred() is false.<br>
	 * Original signature : <code>PyObject* PyObject_Dir(PyObject*)</code><br>
	 * <i>native declaration : object.h:330</i>
	 */
	public static Pointer<PyObject > PyObject_Dir(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_Dir(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Dir(@Ptr long PyObjectPtr1);
	/**
	 * Helpers for printing recursive container types<br>
	 * Original signature : <code>int Py_ReprEnter(PyObject*)</code><br>
	 * <i>native declaration : object.h:335</i>
	 */
	public static int Py_ReprEnter(Pointer<PyObject > PyObjectPtr1) {
		return Py_ReprEnter(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int Py_ReprEnter(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void Py_ReprLeave(PyObject*)</code><br>
	 * <i>native declaration : object.h:337</i>
	 */
	public static void Py_ReprLeave(Pointer<PyObject > PyObjectPtr1) {
		Py_ReprLeave(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void Py_ReprLeave(@Ptr long PyObjectPtr1);
	/**
	 * Helpers for hash functions<br>
	 * Original signature : <code>long _Py_HashDouble(double)</code><br>
	 * <i>native declaration : object.h:342</i>
	 */
	@org.bridj.ann.CLong 
	native public static long _Py_HashDouble(double double1);
	/**
	 * Original signature : <code>long _Py_HashPointer(void*)</code><br>
	 * <i>native declaration : object.h:344</i>
	 */
	@org.bridj.ann.CLong 
	public static long _Py_HashPointer(Pointer<? > voidPtr1) {
		return _Py_HashPointer(Pointer.getPeer(voidPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long _Py_HashPointer(@Ptr long voidPtr1);
	/**
	 * These are provided as conveniences to Python runtime embedders, so that<br>
	 * they can have object code that is not dependent on Python compilation flags.<br>
	 * Original signature : <code>void Py_IncRef(PyObject*)</code><br>
	 * <i>native declaration : object.h:355</i>
	 */
	public static void Py_IncRef(Pointer<PyObject > PyObjectPtr1) {
		Py_IncRef(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void Py_IncRef(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void Py_DecRef(PyObject*)</code><br>
	 * <i>native declaration : object.h:357</i>
	 */
	public static void Py_DecRef(Pointer<PyObject > PyObjectPtr1) {
		Py_DecRef(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void Py_DecRef(@Ptr long PyObjectPtr1);
	/**
	 * This is the old private API, invoked by the macros before 2.7.4.<br>
	 * Kept for binary compatibility of extensions.<br>
	 * Original signature : <code>void _PyTrash_deposit_object(PyObject*)</code><br>
	 * <i>native declaration : object.h:379</i>
	 */
	public static void _PyTrash_deposit_object(Pointer<PyObject > PyObjectPtr1) {
		_PyTrash_deposit_object(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void _PyTrash_deposit_object(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void _PyTrash_destroy_chain()</code><br>
	 * <i>native declaration : object.h:381</i>
	 */
	native public static void _PyTrash_destroy_chain();
	/**
	 * The new thread-safe private API, invoked by the macros below.<br>
	 * Original signature : <code>void _PyTrash_thread_deposit_object(PyObject*)</code><br>
	 * <i>native declaration : object.h:388</i>
	 */
	public static void _PyTrash_thread_deposit_object(Pointer<PyObject > PyObjectPtr1) {
		_PyTrash_thread_deposit_object(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void _PyTrash_thread_deposit_object(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void _PyTrash_thread_destroy_chain()</code><br>
	 * <i>native declaration : object.h:390</i>
	 */
	native public static void _PyTrash_thread_destroy_chain();
	/**
	 * Functions to call the same malloc/realloc/free as used by Python's<br>
	 * object allocator.  If WITH_PYMALLOC is enabled, these may differ from<br>
	 * the platform malloc/realloc/free.  The Python object allocator is<br>
	 * designed for fast, cache-conscious allocation of many "small" objects,<br>
	 * and with low hidden memory overhead.<br>
	 * PyObject_Malloc(0) returns a unique non-NULL pointer if possible.<br>
	 * PyObject_Realloc(NULL, n) acts like PyObject_Malloc(n).<br>
	 * PyObject_Realloc(p != NULL, 0) does not return  NULL, or free the memory<br>
	 * at p.<br>
	 * Returned pointers must be checked for NULL explicitly; no action is<br>
	 * performed on failure other than to return NULL (no warning it printed, no<br>
	 * exception is set, etc).<br>
	 * For allocating objects, use PyObject_{New, NewVar} instead whenever<br>
	 * possible.  The PyObject_{Malloc, Realloc, Free} family is exposed<br>
	 * so that you can exploit Python's small-block allocator for non-object<br>
	 * uses.  If you must use these routines to allocate object memory, make sure<br>
	 * the object gets initialized via PyObject_{Init, InitVar} after obtaining<br>
	 * the raw memory.<br>
	 * Original signature : <code>void* PyObject_Malloc(size_t)</code><br>
	 * <i>native declaration : objimpl.h:22</i>
	 */
	public static Pointer<? > PyObject_Malloc(@Ptr long size_t1) {
		return Pointer.pointerToAddress(PyObject_Malloc$2(size_t1));
	}
	@Ptr 
	@Name("PyObject_Malloc") 
	protected native static long PyObject_Malloc$2(@Ptr long size_t1);
	/**
	 * Original signature : <code>void* PyObject_Realloc(void*, size_t)</code><br>
	 * <i>native declaration : objimpl.h:24</i>
	 */
	public static Pointer<? > PyObject_Realloc(Pointer<? > voidPtr1, @Ptr long size_t1) {
		return Pointer.pointerToAddress(PyObject_Realloc(Pointer.getPeer(voidPtr1), size_t1));
	}
	@Ptr 
	protected native static long PyObject_Realloc(@Ptr long voidPtr1, @Ptr long size_t1);
	/**
	 * Original signature : <code>void PyObject_Free(void*)</code><br>
	 * <i>native declaration : objimpl.h:26</i>
	 */
	public static void PyObject_Free(Pointer<? > voidPtr1) {
		PyObject_Free(Pointer.getPeer(voidPtr1));
	}
	protected native static void PyObject_Free(@Ptr long voidPtr1);
	/**
	 * Functions<br>
	 * Original signature : <code>PyObject* PyObject_Init(PyObject*, PyTypeObject*)</code><br>
	 * <i>native declaration : objimpl.h:31</i>
	 */
	public static Pointer<PyObject > PyObject_Init(Pointer<PyObject > PyObjectPtr1, Pointer<PyTypeObject > PyTypeObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_Init(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyTypeObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Init(@Ptr long PyObjectPtr1, @Ptr long PyTypeObjectPtr1);
	/**
	 * Original signature : <code>PyVarObject* PyObject_InitVar(PyVarObject*, PyTypeObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : objimpl.h:33</i>
	 */
	public static Pointer<PyVarObject > PyObject_InitVar(Pointer<PyVarObject > PyVarObjectPtr1, Pointer<PyTypeObject > PyTypeObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyObject_InitVar(Pointer.getPeer(PyVarObjectPtr1), Pointer.getPeer(PyTypeObjectPtr1), Py_ssize_t1), PyVarObject.class);
	}
	@Ptr 
	protected native static long PyObject_InitVar(@Ptr long PyVarObjectPtr1, @Ptr long PyTypeObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* _PyObject_New(PyTypeObject*)</code><br>
	 * <i>native declaration : objimpl.h:35</i>
	 */
	public static Pointer<PyObject > _PyObject_New(Pointer<PyTypeObject > PyTypeObjectPtr1) {
		return Pointer.pointerToAddress(_PyObject_New(Pointer.getPeer(PyTypeObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_New(@Ptr long PyTypeObjectPtr1);
	/**
	 * Original signature : <code>PyVarObject* _PyObject_NewVar(PyTypeObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : objimpl.h:37</i>
	 */
	public static Pointer<PyVarObject > _PyObject_NewVar(Pointer<PyTypeObject > PyTypeObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(_PyObject_NewVar(Pointer.getPeer(PyTypeObjectPtr1), Py_ssize_t1), PyVarObject.class);
	}
	@Ptr 
	protected native static long _PyObject_NewVar(@Ptr long PyTypeObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * C equivalent of gc.collect().<br>
	 * Original signature : <code>Py_ssize_t PyGC_Collect()</code><br>
	 * <i>native declaration : objimpl.h:42</i>
	 */
	@Ptr 
	native public static long PyGC_Collect();
	/**
	 * Original signature : <code>PyVarObject* _PyObject_GC_Resize(PyVarObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : objimpl.h:44</i>
	 */
	public static Pointer<PyVarObject > _PyObject_GC_Resize(Pointer<PyVarObject > PyVarObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(_PyObject_GC_Resize(Pointer.getPeer(PyVarObjectPtr1), Py_ssize_t1), PyVarObject.class);
	}
	@Ptr 
	protected native static long _PyObject_GC_Resize(@Ptr long PyVarObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* _PyObject_GC_Malloc(size_t)</code><br>
	 * <i>native declaration : objimpl.h:57</i>
	 */
	public static Pointer<PyObject > _PyObject_GC_Malloc(@Ptr long size_t1) {
		return Pointer.pointerToAddress(_PyObject_GC_Malloc$2(size_t1), PyObject.class);
	}
	@Ptr 
	@Name("_PyObject_GC_Malloc") 
	protected native static long _PyObject_GC_Malloc$2(@Ptr long size_t1);
	/**
	 * Original signature : <code>PyObject* _PyObject_GC_New(PyTypeObject*)</code><br>
	 * <i>native declaration : objimpl.h:59</i>
	 */
	public static Pointer<PyObject > _PyObject_GC_New(Pointer<PyTypeObject > PyTypeObjectPtr1) {
		return Pointer.pointerToAddress(_PyObject_GC_New(Pointer.getPeer(PyTypeObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_GC_New(@Ptr long PyTypeObjectPtr1);
	/**
	 * Original signature : <code>PyVarObject* _PyObject_GC_NewVar(PyTypeObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : objimpl.h:61</i>
	 */
	public static Pointer<PyVarObject > _PyObject_GC_NewVar(Pointer<PyTypeObject > PyTypeObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(_PyObject_GC_NewVar(Pointer.getPeer(PyTypeObjectPtr1), Py_ssize_t1), PyVarObject.class);
	}
	@Ptr 
	protected native static long _PyObject_GC_NewVar(@Ptr long PyTypeObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>void PyObject_GC_Track(void*)</code><br>
	 * <i>native declaration : objimpl.h:63</i>
	 */
	public static void PyObject_GC_Track(Pointer<? > voidPtr1) {
		PyObject_GC_Track(Pointer.getPeer(voidPtr1));
	}
	protected native static void PyObject_GC_Track(@Ptr long voidPtr1);
	/**
	 * Original signature : <code>void PyObject_GC_UnTrack(void*)</code><br>
	 * <i>native declaration : objimpl.h:65</i>
	 */
	public static void PyObject_GC_UnTrack(Pointer<? > voidPtr1) {
		PyObject_GC_UnTrack(Pointer.getPeer(voidPtr1));
	}
	protected native static void PyObject_GC_UnTrack(@Ptr long voidPtr1);
	/**
	 * Original signature : <code>void PyObject_GC_Del(void*)</code><br>
	 * <i>native declaration : objimpl.h:67</i>
	 */
	public static void PyObject_GC_Del(Pointer<? > voidPtr1) {
		PyObject_GC_Del(Pointer.getPeer(voidPtr1));
	}
	protected native static void PyObject_GC_Del(@Ptr long voidPtr1);
	/**
	 * Original signature : <code>void Py_FatalError(const char*)</code><br>
	 * <i>native declaration : pydebug.h:26</i>
	 */
	public static void Py_FatalError(Pointer<Byte > message) {
		Py_FatalError(Pointer.getPeer(message));
	}
	protected native static void Py_FatalError(@Ptr long message);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromUnicode(const Py_UNICODE*, Py_ssize_t)</code><br>
	 * @param u Unicode buffer<br>
	 * @param size size of buffer<br>
	 * <i>native declaration : unicodeobject.h:19</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromUnicode(Pointer<Integer > u, @Ptr long size) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromUnicode(Pointer.getPeer(u), size), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromUnicode(@Ptr long u, @Ptr long size);
	/**
	 * Similar to PyUnicode_FromUnicode(), but u points to Latin-1 encoded bytes<br>
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromStringAndSize(const char*, Py_ssize_t)</code><br>
	 * @param u char buffer<br>
	 * @param size size of buffer<br>
	 * <i>native declaration : unicodeobject.h:26</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromStringAndSize(Pointer<Byte > u, @Ptr long size) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromStringAndSize(Pointer.getPeer(u), size), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromStringAndSize(@Ptr long u, @Ptr long size);
	/**
	 * Similar to PyUnicode_FromUnicode(), but u points to null-terminated<br>
	 * Latin-1 encoded bytes<br>
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromString(const char*)</code><br>
	 * @param u string<br>
	 * <i>native declaration : unicodeobject.h:33</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromString(Pointer<Byte > u) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromString(Pointer.getPeer(u)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromString(@Ptr long u);
	/**
	 * Original signature : <code>Py_UNICODE* PyUnicodeUCS4_AsUnicode(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:38</i>
	 */
	public static Pointer<Integer > PyUnicodeUCS4_AsUnicode(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsUnicode(Pointer.getPeer(unicode)), Integer.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsUnicode(@Ptr long unicode);
	/**
	 * Original signature : <code>Py_ssize_t PyUnicodeUCS4_GetSize(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:43</i>
	 */
	@Ptr 
	public static long PyUnicodeUCS4_GetSize(Pointer<PyObject > unicode) {
		return PyUnicodeUCS4_GetSize(Pointer.getPeer(unicode));
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_GetSize(@Ptr long unicode);
	/**
	 * Get the maximum ordinal for a Unicode character.<br>
	 * Original signature : <code>Py_UNICODE PyUnicodeUCS4_GetMax()</code><br>
	 * <i>native declaration : unicodeobject.h:48</i>
	 */
	native public static int PyUnicodeUCS4_GetMax();
	/**
	 * Original signature : <code>int PyUnicodeUCS4_Resize(PyObject**, Py_ssize_t)</code><br>
	 * @param unicode Pointer to the Unicode object<br>
	 * @param length New length<br>
	 * <i>native declaration : unicodeobject.h:54</i>
	 */
	public static int PyUnicodeUCS4_Resize(Pointer<Pointer<PyObject > > unicode, @Ptr long length) {
		return PyUnicodeUCS4_Resize(Pointer.getPeer(unicode), length);
	}
	protected native static int PyUnicodeUCS4_Resize(@Ptr long unicode, @Ptr long length);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromEncodedObject(register PyObject*, const char*, const char*)</code><br>
	 * @param obj Object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:61</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromEncodedObject(Pointer<PyObject > obj, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromEncodedObject(Pointer.getPeer(obj), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromEncodedObject(@Ptr long obj, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromObject(register PyObject*)</code><br>
	 * @param obj Object<br>
	 * <i>native declaration : unicodeobject.h:66</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromObject(Pointer<PyObject > obj) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromObject(Pointer.getPeer(obj)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromObject(@Ptr long obj);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromFormatV(const char*)</code><br>
	 * <i>native declaration : unicodeobject.h:68</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromFormatV(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromFormatV(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromFormatV(@Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromFormat(const char*, null)</code><br>
	 * <i>native declaration : unicodeobject.h:70</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromFormat(Pointer<Byte > charPtr1, Object... varargs) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromFormat(Pointer.getPeer(charPtr1), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromFormat(@Ptr long charPtr1, Object... varargs);
	/**
	 * Format the object based on the format_spec, as defined in PEP 3101<br>
	 * (Advanced String Formatting).<br>
	 * Original signature : <code>PyObject* _PyUnicode_FormatAdvanced(PyObject*, Py_UNICODE*, Py_ssize_t)</code><br>
	 * <i>native declaration : unicodeobject.h:76</i>
	 */
	public static Pointer<PyObject > _PyUnicode_FormatAdvanced(Pointer<PyObject > obj, Pointer<Integer > format_spec, @Ptr long format_spec_len) {
		return Pointer.pointerToAddress(_PyUnicode_FormatAdvanced(Pointer.getPeer(obj), Pointer.getPeer(format_spec), format_spec_len), PyObject.class);
	}
	@Ptr 
	protected native static long _PyUnicode_FormatAdvanced(@Ptr long obj, @Ptr long format_spec, @Ptr long format_spec_len);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromWideChar(register const wchar_t*, Py_ssize_t)</code><br>
	 * @param w wchar_t buffer<br>
	 * @param size size of buffer<br>
	 * <i>native declaration : unicodeobject.h:82</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromWideChar(Pointer<Character > w, @Ptr long size) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromWideChar(Pointer.getPeer(w), size), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_FromWideChar(@Ptr long w, @Ptr long size);
	/**
	 * Original signature : <code>Py_ssize_t PyUnicodeUCS4_AsWideChar(PyUnicodeObject*, register wchar_t*, Py_ssize_t)</code><br>
	 * @param unicode Unicode object<br>
	 * @param w wchar_t buffer<br>
	 * @param size size of buffer<br>
	 * <i>native declaration : unicodeobject.h:89</i>
	 */
	@Ptr 
	public static long PyUnicodeUCS4_AsWideChar(Pointer<PyUnicodeObject > unicode, Pointer<Character > w, @Ptr long size) {
		return PyUnicodeUCS4_AsWideChar(Pointer.getPeer(unicode), Pointer.getPeer(w), size);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsWideChar(@Ptr long unicode, @Ptr long w, @Ptr long size);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_FromOrdinal(int)</code><br>
	 * <i>native declaration : unicodeobject.h:91</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_FromOrdinal(int ordinal) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_FromOrdinal$2(ordinal), PyObject.class);
	}
	@Ptr 
	@Name("PyUnicodeUCS4_FromOrdinal") 
	protected native static long PyUnicodeUCS4_FromOrdinal$2(int ordinal);
	/**
	 * Original signature : <code>int PyUnicodeUCS4_ClearFreelist()</code><br>
	 * <i>native declaration : unicodeobject.h:93</i>
	 */
	native public static int PyUnicodeUCS4_ClearFreelist();
	/**
	 * Original signature : <code>PyObject* _PyUnicodeUCS4_AsDefaultEncodedString(PyObject*, const char*)</code><br>
	 * <i>native declaration : unicodeobject.h:95</i>
	 */
	public static Pointer<PyObject > _PyUnicodeUCS4_AsDefaultEncodedString(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(_PyUnicodeUCS4_AsDefaultEncodedString(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyUnicodeUCS4_AsDefaultEncodedString(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>char* PyUnicodeUCS4_GetDefaultEncoding()</code><br>
	 * <i>native declaration : unicodeobject.h:97</i>
	 */
	public static Pointer<Byte > PyUnicodeUCS4_GetDefaultEncoding() {
		return Pointer.pointerToAddress(PyUnicodeUCS4_GetDefaultEncoding$2(), Byte.class);
	}
	@Ptr 
	@Name("PyUnicodeUCS4_GetDefaultEncoding") 
	protected native static long PyUnicodeUCS4_GetDefaultEncoding$2();
	/**
	 * Original signature : <code>int PyUnicodeUCS4_SetDefaultEncoding(const char*)</code><br>
	 * @param encoding Encoding name in standard form<br>
	 * <i>native declaration : unicodeobject.h:102</i>
	 */
	public static int PyUnicodeUCS4_SetDefaultEncoding(Pointer<Byte > encoding) {
		return PyUnicodeUCS4_SetDefaultEncoding(Pointer.getPeer(encoding));
	}
	protected native static int PyUnicodeUCS4_SetDefaultEncoding(@Ptr long encoding);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Decode(const char*, Py_ssize_t, const char*, const char*)</code><br>
	 * @param s encoded string<br>
	 * @param size size of buffer<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:110</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Decode(Pointer<Byte > s, @Ptr long size, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Decode(Pointer.getPeer(s), size, Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Decode(@Ptr long s, @Ptr long size, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Encode(const Py_UNICODE*, Py_ssize_t, const char*, const char*)</code><br>
	 * @param s Unicode char buffer<br>
	 * @param size number of Py_UNICODE chars to encode<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:118</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Encode(Pointer<Integer > s, @Ptr long size, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Encode(Pointer.getPeer(s), size, Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Encode(@Ptr long s, @Ptr long size, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsEncodedObject(PyObject*, const char*, const char*)</code><br>
	 * @param unicode Unicode object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:125</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsEncodedObject(Pointer<PyObject > unicode, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsEncodedObject(Pointer.getPeer(unicode), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsEncodedObject(@Ptr long unicode, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsEncodedString(PyObject*, const char*, const char*)</code><br>
	 * @param unicode Unicode object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:132</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsEncodedString(Pointer<PyObject > unicode, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsEncodedString(Pointer.getPeer(unicode), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsEncodedString(@Ptr long unicode, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicode_BuildEncodingMap(PyObject*)</code><br>
	 * @param string 256 character map<br>
	 * <i>native declaration : unicodeobject.h:137</i>
	 */
	public static Pointer<PyObject > PyUnicode_BuildEncodingMap(Pointer<PyObject > string) {
		return Pointer.pointerToAddress(PyUnicode_BuildEncodingMap(Pointer.getPeer(string)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicode_BuildEncodingMap(@Ptr long string);
	/**
	 * Original signature : <code>PyObject* PyUnicode_DecodeUTF7(const char*, Py_ssize_t, const char*)</code><br>
	 * @param string UTF-7 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:144</i>
	 */
	public static Pointer<PyObject > PyUnicode_DecodeUTF7(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicode_DecodeUTF7(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicode_DecodeUTF7(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicode_DecodeUTF7Stateful(const char*, Py_ssize_t, const char*, Py_ssize_t*)</code><br>
	 * @param string UTF-7 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * @param consumed bytes consumed<br>
	 * <i>native declaration : unicodeobject.h:152</i>
	 */
	public static Pointer<PyObject > PyUnicode_DecodeUTF7Stateful(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors, Pointer<SizeT > consumed) {
		return Pointer.pointerToAddress(PyUnicode_DecodeUTF7Stateful(Pointer.getPeer(string), length, Pointer.getPeer(errors), Pointer.getPeer(consumed)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicode_DecodeUTF7Stateful(@Ptr long string, @Ptr long length, @Ptr long errors, @Ptr long consumed);
	/**
	 * Original signature : <code>PyObject* PyUnicode_EncodeUTF7(const Py_UNICODE*, Py_ssize_t, int, int, const char*)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length number of Py_UNICODE chars to encode<br>
	 * @param base64SetO Encode RFC2152 Set O characters in base64<br>
	 * @param base64WhiteSpace Encode whitespace (sp, ht, nl, cr) in base64<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:161</i>
	 */
	public static Pointer<PyObject > PyUnicode_EncodeUTF7(Pointer<Integer > data, @Ptr long length, int base64SetO, int base64WhiteSpace, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicode_EncodeUTF7(Pointer.getPeer(data), length, base64SetO, base64WhiteSpace, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicode_EncodeUTF7(@Ptr long data, @Ptr long length, int base64SetO, int base64WhiteSpace, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUTF8(const char*, Py_ssize_t, const char*)</code><br>
	 * @param string UTF-8 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:168</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUTF8(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUTF8(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUTF8(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUTF8Stateful(const char*, Py_ssize_t, const char*, Py_ssize_t*)</code><br>
	 * @param string UTF-8 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * @param consumed bytes consumed<br>
	 * <i>native declaration : unicodeobject.h:176</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUTF8Stateful(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors, Pointer<SizeT > consumed) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUTF8Stateful(Pointer.getPeer(string), length, Pointer.getPeer(errors), Pointer.getPeer(consumed)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUTF8Stateful(@Ptr long string, @Ptr long length, @Ptr long errors, @Ptr long consumed);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsUTF8String(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:181</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsUTF8String(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsUTF8String(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsUTF8String(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeUTF8(const Py_UNICODE*, Py_ssize_t, const char*)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length number of Py_UNICODE chars to encode<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:188</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeUTF8(Pointer<Integer > data, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeUTF8(Pointer.getPeer(data), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeUTF8(@Ptr long data, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUTF32(const char*, Py_ssize_t, const char*, int*)</code><br>
	 * @param string UTF-32 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * @param byteorder pointer to byteorder to use<br>0=native;-1=LE,1=BE; updated on<br>exit<br>
	 * <i>native declaration : unicodeobject.h:196</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUTF32(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors, Pointer<Integer > byteorder) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUTF32(Pointer.getPeer(string), length, Pointer.getPeer(errors), Pointer.getPeer(byteorder)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUTF32(@Ptr long string, @Ptr long length, @Ptr long errors, @Ptr long byteorder);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUTF32Stateful(const char*, Py_ssize_t, const char*, int*, Py_ssize_t*)</code><br>
	 * @param string UTF-32 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * @param byteorder pointer to byteorder to use<br>0=native;-1=LE,1=BE; updated on<br>exit<br>
	 * @param consumed bytes consumed<br>
	 * <i>native declaration : unicodeobject.h:205</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUTF32Stateful(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors, Pointer<Integer > byteorder, Pointer<SizeT > consumed) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUTF32Stateful(Pointer.getPeer(string), length, Pointer.getPeer(errors), Pointer.getPeer(byteorder), Pointer.getPeer(consumed)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUTF32Stateful(@Ptr long string, @Ptr long length, @Ptr long errors, @Ptr long byteorder, @Ptr long consumed);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsUTF32String(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:210</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsUTF32String(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsUTF32String(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsUTF32String(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeUTF32(const Py_UNICODE*, Py_ssize_t, const char*, int)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length number of Py_UNICODE chars to encode<br>
	 * @param errors error handling<br>
	 * @param byteorder byteorder to use 0=BOM+native;-1=LE,1=BE<br>
	 * <i>native declaration : unicodeobject.h:218</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeUTF32(Pointer<Integer > data, @Ptr long length, Pointer<Byte > errors, int byteorder) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeUTF32(Pointer.getPeer(data), length, Pointer.getPeer(errors), byteorder), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeUTF32(@Ptr long data, @Ptr long length, @Ptr long errors, int byteorder);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUTF16(const char*, Py_ssize_t, const char*, int*)</code><br>
	 * @param string UTF-16 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * @param byteorder pointer to byteorder to use<br>0=native;-1=LE,1=BE; updated on<br>exit<br>
	 * <i>native declaration : unicodeobject.h:226</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUTF16(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors, Pointer<Integer > byteorder) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUTF16(Pointer.getPeer(string), length, Pointer.getPeer(errors), Pointer.getPeer(byteorder)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUTF16(@Ptr long string, @Ptr long length, @Ptr long errors, @Ptr long byteorder);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUTF16Stateful(const char*, Py_ssize_t, const char*, int*, Py_ssize_t*)</code><br>
	 * @param string UTF-16 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * @param byteorder pointer to byteorder to use<br>0=native;-1=LE,1=BE; updated on<br>exit<br>
	 * @param consumed bytes consumed<br>
	 * <i>native declaration : unicodeobject.h:235</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUTF16Stateful(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors, Pointer<Integer > byteorder, Pointer<SizeT > consumed) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUTF16Stateful(Pointer.getPeer(string), length, Pointer.getPeer(errors), Pointer.getPeer(byteorder), Pointer.getPeer(consumed)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUTF16Stateful(@Ptr long string, @Ptr long length, @Ptr long errors, @Ptr long byteorder, @Ptr long consumed);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsUTF16String(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:240</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsUTF16String(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsUTF16String(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsUTF16String(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeUTF16(const Py_UNICODE*, Py_ssize_t, const char*, int)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length number of Py_UNICODE chars to encode<br>
	 * @param errors error handling<br>
	 * @param byteorder byteorder to use 0=BOM+native;-1=LE,1=BE<br>
	 * <i>native declaration : unicodeobject.h:248</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeUTF16(Pointer<Integer > data, @Ptr long length, Pointer<Byte > errors, int byteorder) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeUTF16(Pointer.getPeer(data), length, Pointer.getPeer(errors), byteorder), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeUTF16(@Ptr long data, @Ptr long length, @Ptr long errors, int byteorder);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeUnicodeEscape(const char*, Py_ssize_t, const char*)</code><br>
	 * @param string Unicode-Escape encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:255</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeUnicodeEscape(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeUnicodeEscape(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeUnicodeEscape(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsUnicodeEscapeString(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:260</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsUnicodeEscapeString(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsUnicodeEscapeString(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsUnicodeEscapeString(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeUnicodeEscape(const Py_UNICODE*, Py_ssize_t)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * <i>native declaration : unicodeobject.h:266</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeUnicodeEscape(Pointer<Integer > data, @Ptr long length) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeUnicodeEscape(Pointer.getPeer(data), length), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeUnicodeEscape(@Ptr long data, @Ptr long length);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeRawUnicodeEscape(const char*, Py_ssize_t, const char*)</code><br>
	 * @param string Raw-Unicode-Escape encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:273</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeRawUnicodeEscape(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeRawUnicodeEscape(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeRawUnicodeEscape(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsRawUnicodeEscapeString(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:278</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsRawUnicodeEscapeString(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsRawUnicodeEscapeString(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsRawUnicodeEscapeString(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeRawUnicodeEscape(const Py_UNICODE*, Py_ssize_t)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * <i>native declaration : unicodeobject.h:284</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeRawUnicodeEscape(Pointer<Integer > data, @Ptr long length) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeRawUnicodeEscape(Pointer.getPeer(data), length), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeRawUnicodeEscape(@Ptr long data, @Ptr long length);
	/**
	 * Original signature : <code>PyObject* _PyUnicode_DecodeUnicodeInternal(const char*, Py_ssize_t, const char*)</code><br>
	 * <i>native declaration : unicodeobject.h:286</i>
	 */
	public static Pointer<PyObject > _PyUnicode_DecodeUnicodeInternal(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(_PyUnicode_DecodeUnicodeInternal(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyUnicode_DecodeUnicodeInternal(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeLatin1(const char*, Py_ssize_t, const char*)</code><br>
	 * @param string Latin-1 encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:293</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeLatin1(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeLatin1(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeLatin1(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsLatin1String(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:298</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsLatin1String(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsLatin1String(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsLatin1String(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeLatin1(const Py_UNICODE*, Py_ssize_t, const char*)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:305</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeLatin1(Pointer<Integer > data, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeLatin1(Pointer.getPeer(data), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeLatin1(@Ptr long data, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeASCII(const char*, Py_ssize_t, const char*)</code><br>
	 * @param string ASCII encoded string<br>
	 * @param length size of string<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:312</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeASCII(Pointer<Byte > string, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeASCII(Pointer.getPeer(string), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeASCII(@Ptr long string, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsASCIIString(PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * <i>native declaration : unicodeobject.h:317</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsASCIIString(Pointer<PyObject > unicode) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsASCIIString(Pointer.getPeer(unicode)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsASCIIString(@Ptr long unicode);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeASCII(const Py_UNICODE*, Py_ssize_t, const char*)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:324</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeASCII(Pointer<Integer > data, @Ptr long length, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeASCII(Pointer.getPeer(data), length, Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeASCII(@Ptr long data, @Ptr long length, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_DecodeCharmap(const char*, Py_ssize_t, PyObject*, const char*)</code><br>
	 * @param string Encoded string<br>
	 * @param length size of string<br>
	 * @param mapping character mapping<br>(char ordinal -> unicode ordinal)<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:332</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_DecodeCharmap(Pointer<Byte > string, @Ptr long length, Pointer<PyObject > mapping, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_DecodeCharmap(Pointer.getPeer(string), length, Pointer.getPeer(mapping), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_DecodeCharmap(@Ptr long string, @Ptr long length, @Ptr long mapping, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_AsCharmapString(PyObject*, PyObject*)</code><br>
	 * @param unicode Unicode object<br>
	 * @param mapping character mapping<br>(unicode ordinal -> char ordinal)<br>
	 * <i>native declaration : unicodeobject.h:338</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_AsCharmapString(Pointer<PyObject > unicode, Pointer<PyObject > mapping) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_AsCharmapString(Pointer.getPeer(unicode), Pointer.getPeer(mapping)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_AsCharmapString(@Ptr long unicode, @Ptr long mapping);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_EncodeCharmap(const Py_UNICODE*, Py_ssize_t, PyObject*, const char*)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * @param mapping character mapping<br>(unicode ordinal -> char ordinal)<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:346</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_EncodeCharmap(Pointer<Integer > data, @Ptr long length, Pointer<PyObject > mapping, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_EncodeCharmap(Pointer.getPeer(data), length, Pointer.getPeer(mapping), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_EncodeCharmap(@Ptr long data, @Ptr long length, @Ptr long mapping, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_TranslateCharmap(const Py_UNICODE*, Py_ssize_t, PyObject*, const char*)</code><br>
	 * @param data Unicode char buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * @param table Translate table<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:354</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_TranslateCharmap(Pointer<Integer > data, @Ptr long length, Pointer<PyObject > table, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_TranslateCharmap(Pointer.getPeer(data), length, Pointer.getPeer(table), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_TranslateCharmap(@Ptr long data, @Ptr long length, @Ptr long table, @Ptr long errors);
	/**
	 * Original signature : <code>int PyUnicodeUCS4_EncodeDecimal(Py_UNICODE*, Py_ssize_t, char*, const char*)</code><br>
	 * @param s Unicode buffer<br>
	 * @param length Number of Py_UNICODE chars to encode<br>
	 * @param output Output buffer; must have size >= length<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:362</i>
	 */
	public static int PyUnicodeUCS4_EncodeDecimal(Pointer<Integer > s, @Ptr long length, Pointer<Byte > output, Pointer<Byte > errors) {
		return PyUnicodeUCS4_EncodeDecimal(Pointer.getPeer(s), length, Pointer.getPeer(output), Pointer.getPeer(errors));
	}
	protected native static int PyUnicodeUCS4_EncodeDecimal(@Ptr long s, @Ptr long length, @Ptr long output, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Concat(PyObject*, PyObject*)</code><br>
	 * @param left Left string<br>
	 * @param right Right string<br>
	 * <i>native declaration : unicodeobject.h:368</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Concat(Pointer<PyObject > left, Pointer<PyObject > right) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Concat(Pointer.getPeer(left), Pointer.getPeer(right)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Concat(@Ptr long left, @Ptr long right);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Split(PyObject*, PyObject*, Py_ssize_t)</code><br>
	 * @param s String to split<br>
	 * @param sep String separator<br>
	 * @param maxsplit Maxsplit count<br>
	 * <i>native declaration : unicodeobject.h:375</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Split(Pointer<PyObject > s, Pointer<PyObject > sep, @Ptr long maxsplit) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Split(Pointer.getPeer(s), Pointer.getPeer(sep), maxsplit), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Split(@Ptr long s, @Ptr long sep, @Ptr long maxsplit);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Splitlines(PyObject*, int)</code><br>
	 * @param s String to split<br>
	 * @param keepends If true, line end markers are included<br>
	 * <i>native declaration : unicodeobject.h:381</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Splitlines(Pointer<PyObject > s, int keepends) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Splitlines(Pointer.getPeer(s), keepends), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Splitlines(@Ptr long s, int keepends);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Partition(PyObject*, PyObject*)</code><br>
	 * @param s String to partition<br>
	 * @param sep String separator<br>
	 * <i>native declaration : unicodeobject.h:387</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Partition(Pointer<PyObject > s, Pointer<PyObject > sep) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Partition(Pointer.getPeer(s), Pointer.getPeer(sep)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Partition(@Ptr long s, @Ptr long sep);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_RPartition(PyObject*, PyObject*)</code><br>
	 * @param s String to partition<br>
	 * @param sep String separator<br>
	 * <i>native declaration : unicodeobject.h:393</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_RPartition(Pointer<PyObject > s, Pointer<PyObject > sep) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_RPartition(Pointer.getPeer(s), Pointer.getPeer(sep)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_RPartition(@Ptr long s, @Ptr long sep);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_RSplit(PyObject*, PyObject*, Py_ssize_t)</code><br>
	 * @param s String to split<br>
	 * @param sep String separator<br>
	 * @param maxsplit Maxsplit count<br>
	 * <i>native declaration : unicodeobject.h:400</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_RSplit(Pointer<PyObject > s, Pointer<PyObject > sep, @Ptr long maxsplit) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_RSplit(Pointer.getPeer(s), Pointer.getPeer(sep), maxsplit), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_RSplit(@Ptr long s, @Ptr long sep, @Ptr long maxsplit);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Translate(PyObject*, PyObject*, const char*)</code><br>
	 * @param str String<br>
	 * @param table Translate table<br>
	 * @param errors error handling<br>
	 * <i>native declaration : unicodeobject.h:407</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Translate(Pointer<PyObject > str, Pointer<PyObject > table, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Translate(Pointer.getPeer(str), Pointer.getPeer(table), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Translate(@Ptr long str, @Ptr long table, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Join(PyObject*, PyObject*)</code><br>
	 * @param separator Separator string<br>
	 * @param seq Sequence object<br>
	 * <i>native declaration : unicodeobject.h:413</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Join(Pointer<PyObject > separator, Pointer<PyObject > seq) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Join(Pointer.getPeer(separator), Pointer.getPeer(seq)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Join(@Ptr long separator, @Ptr long seq);
	/**
	 * Original signature : <code>Py_ssize_t PyUnicodeUCS4_Tailmatch(PyObject*, PyObject*, Py_ssize_t, Py_ssize_t, int)</code><br>
	 * @param str String<br>
	 * @param substr Prefix or Suffix string<br>
	 * @param start Start index<br>
	 * @param end Stop index<br>
	 * @param direction Tail end: -1 prefix, +1 suffix<br>
	 * <i>native declaration : unicodeobject.h:422</i>
	 */
	@Ptr 
	public static long PyUnicodeUCS4_Tailmatch(Pointer<PyObject > str, Pointer<PyObject > substr, @Ptr long start, @Ptr long end, int direction) {
		return PyUnicodeUCS4_Tailmatch(Pointer.getPeer(str), Pointer.getPeer(substr), start, end, direction);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Tailmatch(@Ptr long str, @Ptr long substr, @Ptr long start, @Ptr long end, int direction);
	/**
	 * Original signature : <code>Py_ssize_t PyUnicodeUCS4_Find(PyObject*, PyObject*, Py_ssize_t, Py_ssize_t, int)</code><br>
	 * @param str String<br>
	 * @param substr Substring to find<br>
	 * @param start Start index<br>
	 * @param end Stop index<br>
	 * @param direction Find direction: +1 forward, -1 backward<br>
	 * <i>native declaration : unicodeobject.h:431</i>
	 */
	@Ptr 
	public static long PyUnicodeUCS4_Find(Pointer<PyObject > str, Pointer<PyObject > substr, @Ptr long start, @Ptr long end, int direction) {
		return PyUnicodeUCS4_Find(Pointer.getPeer(str), Pointer.getPeer(substr), start, end, direction);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Find(@Ptr long str, @Ptr long substr, @Ptr long start, @Ptr long end, int direction);
	/**
	 * Original signature : <code>Py_ssize_t PyUnicodeUCS4_Count(PyObject*, PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * @param str String<br>
	 * @param substr Substring to count<br>
	 * @param start Start index<br>
	 * @param end Stop index<br>
	 * <i>native declaration : unicodeobject.h:439</i>
	 */
	@Ptr 
	public static long PyUnicodeUCS4_Count(Pointer<PyObject > str, Pointer<PyObject > substr, @Ptr long start, @Ptr long end) {
		return PyUnicodeUCS4_Count(Pointer.getPeer(str), Pointer.getPeer(substr), start, end);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Count(@Ptr long str, @Ptr long substr, @Ptr long start, @Ptr long end);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Replace(PyObject*, PyObject*, PyObject*, Py_ssize_t)</code><br>
	 * @param str String<br>
	 * @param substr Substring to find<br>
	 * @param replstr Substring to replace<br>
	 * @param maxcount Max. number of replacements to apply;<br>-1 = all<br>
	 * <i>native declaration : unicodeobject.h:447</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Replace(Pointer<PyObject > str, Pointer<PyObject > substr, Pointer<PyObject > replstr, @Ptr long maxcount) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Replace(Pointer.getPeer(str), Pointer.getPeer(substr), Pointer.getPeer(replstr), maxcount), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Replace(@Ptr long str, @Ptr long substr, @Ptr long replstr, @Ptr long maxcount);
	/**
	 * Original signature : <code>int PyUnicodeUCS4_Compare(PyObject*, PyObject*)</code><br>
	 * @param left Left string<br>
	 * @param right Right string<br>
	 * <i>native declaration : unicodeobject.h:453</i>
	 */
	public static int PyUnicodeUCS4_Compare(Pointer<PyObject > left, Pointer<PyObject > right) {
		return PyUnicodeUCS4_Compare(Pointer.getPeer(left), Pointer.getPeer(right));
	}
	protected native static int PyUnicodeUCS4_Compare(@Ptr long left, @Ptr long right);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_RichCompare(PyObject*, PyObject*, int)</code><br>
	 * @param left Left string<br>
	 * @param right Right string<br>
	 * @param op Operation: Py_EQ, Py_NE, Py_GT, etc.<br>
	 * <i>native declaration : unicodeobject.h:460</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_RichCompare(Pointer<PyObject > left, Pointer<PyObject > right, int op) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_RichCompare(Pointer.getPeer(left), Pointer.getPeer(right), op), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_RichCompare(@Ptr long left, @Ptr long right, int op);
	/**
	 * Original signature : <code>PyObject* PyUnicodeUCS4_Format(PyObject*, PyObject*)</code><br>
	 * @param format Format string<br>
	 * @param args Argument tuple or dictionary<br>
	 * <i>native declaration : unicodeobject.h:466</i>
	 */
	public static Pointer<PyObject > PyUnicodeUCS4_Format(Pointer<PyObject > format, Pointer<PyObject > args) {
		return Pointer.pointerToAddress(PyUnicodeUCS4_Format(Pointer.getPeer(format), Pointer.getPeer(args)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeUCS4_Format(@Ptr long format, @Ptr long args);
	/**
	 * Original signature : <code>int PyUnicodeUCS4_Contains(PyObject*, PyObject*)</code><br>
	 * @param container Container string<br>
	 * @param element Element string<br>
	 * <i>native declaration : unicodeobject.h:472</i>
	 */
	public static int PyUnicodeUCS4_Contains(Pointer<PyObject > container, Pointer<PyObject > element) {
		return PyUnicodeUCS4_Contains(Pointer.getPeer(container), Pointer.getPeer(element));
	}
	protected native static int PyUnicodeUCS4_Contains(@Ptr long container, @Ptr long element);
	/**
	 * Externally visible for str.strip(unicode)<br>
	 * Original signature : <code>PyObject* _PyUnicode_XStrip(PyUnicodeObject*, int, PyObject*)</code><br>
	 * <i>native declaration : unicodeobject.h:477</i>
	 */
	public static Pointer<PyObject > _PyUnicode_XStrip(Pointer<PyUnicodeObject > self, int striptype, Pointer<PyObject > sepobj) {
		return Pointer.pointerToAddress(_PyUnicode_XStrip(Pointer.getPeer(self), striptype, Pointer.getPeer(sepobj)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyUnicode_XStrip(@Ptr long self, int striptype, @Ptr long sepobj);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsLowercase(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:483</i>
	 */
	native public static int _PyUnicodeUCS4_IsLowercase(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsUppercase(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:488</i>
	 */
	native public static int _PyUnicodeUCS4_IsUppercase(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsTitlecase(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:493</i>
	 */
	native public static int _PyUnicodeUCS4_IsTitlecase(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsWhitespace(const Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:498</i>
	 */
	native public static int _PyUnicodeUCS4_IsWhitespace(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsLinebreak(const Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:503</i>
	 */
	native public static int _PyUnicodeUCS4_IsLinebreak(int ch);
	/**
	 * Original signature : <code>Py_UNICODE _PyUnicodeUCS4_ToLowercase(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:508</i>
	 */
	native public static int _PyUnicodeUCS4_ToLowercase(int ch);
	/**
	 * Original signature : <code>Py_UNICODE _PyUnicodeUCS4_ToUppercase(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:513</i>
	 */
	native public static int _PyUnicodeUCS4_ToUppercase(int ch);
	/**
	 * Original signature : <code>Py_UNICODE _PyUnicodeUCS4_ToTitlecase(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:518</i>
	 */
	native public static int _PyUnicodeUCS4_ToTitlecase(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_ToDecimalDigit(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:523</i>
	 */
	native public static int _PyUnicodeUCS4_ToDecimalDigit(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_ToDigit(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:528</i>
	 */
	native public static int _PyUnicodeUCS4_ToDigit(int ch);
	/**
	 * Original signature : <code>double _PyUnicodeUCS4_ToNumeric(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:533</i>
	 */
	native public static double _PyUnicodeUCS4_ToNumeric(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsDecimalDigit(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:538</i>
	 */
	native public static int _PyUnicodeUCS4_IsDecimalDigit(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsDigit(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:543</i>
	 */
	native public static int _PyUnicodeUCS4_IsDigit(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsNumeric(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:548</i>
	 */
	native public static int _PyUnicodeUCS4_IsNumeric(int ch);
	/**
	 * Original signature : <code>int _PyUnicodeUCS4_IsAlpha(Py_UNICODE)</code><br>
	 * @param ch Unicode character<br>
	 * <i>native declaration : unicodeobject.h:553</i>
	 */
	native public static int _PyUnicodeUCS4_IsAlpha(int ch);
	/**
	 * Original signature : <code>PyObject* PyInt_FromString(char*, char**, int)</code><br>
	 * <i>native declaration : intobject.h:8</i>
	 */
	public static Pointer<PyObject > PyInt_FromString(Pointer<Byte > charPtr1, Pointer<Pointer<Byte > > charPtrPtr1, int int1) {
		return Pointer.pointerToAddress(PyInt_FromString(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtrPtr1), int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyInt_FromString(@Ptr long charPtr1, @Ptr long charPtrPtr1, int int1);
	/**
	 * Original signature : <code>PyObject* PyInt_FromUnicode(Py_UNICODE*, Py_ssize_t, int)</code><br>
	 * <i>native declaration : intobject.h:10</i>
	 */
	public static Pointer<PyObject > PyInt_FromUnicode(Pointer<Integer > Py_UNICODEPtr1, @Ptr long Py_ssize_t1, int int1) {
		return Pointer.pointerToAddress(PyInt_FromUnicode(Pointer.getPeer(Py_UNICODEPtr1), Py_ssize_t1, int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyInt_FromUnicode(@Ptr long Py_UNICODEPtr1, @Ptr long Py_ssize_t1, int int1);
	/**
	 * Original signature : <code>PyObject* PyInt_FromLong(long)</code><br>
	 * <i>native declaration : intobject.h:12</i>
	 */
	public static Pointer<PyObject > PyInt_FromLong(@org.bridj.ann.CLong long l1) {
		return Pointer.pointerToAddress(PyInt_FromLong$2(l1), PyObject.class);
	}
	@Ptr 
	@Name("PyInt_FromLong") 
	protected native static long PyInt_FromLong$2(@org.bridj.ann.CLong long l1);
	/**
	 * Original signature : <code>PyObject* PyInt_FromSize_t(size_t)</code><br>
	 * <i>native declaration : intobject.h:14</i>
	 */
	public static Pointer<PyObject > PyInt_FromSize_t(@Ptr long size_t1) {
		return Pointer.pointerToAddress(PyInt_FromSize_t$2(size_t1), PyObject.class);
	}
	@Ptr 
	@Name("PyInt_FromSize_t") 
	protected native static long PyInt_FromSize_t$2(@Ptr long size_t1);
	/**
	 * Original signature : <code>PyObject* PyInt_FromSsize_t(Py_ssize_t)</code><br>
	 * <i>native declaration : intobject.h:16</i>
	 */
	public static Pointer<PyObject > PyInt_FromSsize_t(@Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyInt_FromSsize_t$2(Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	@Name("PyInt_FromSsize_t") 
	protected native static long PyInt_FromSsize_t$2(@Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>long PyInt_AsLong(PyObject*)</code><br>
	 * <i>native declaration : intobject.h:18</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyInt_AsLong(Pointer<PyObject > PyObjectPtr1) {
		return PyInt_AsLong(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyInt_AsLong(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>Py_ssize_t PyInt_AsSsize_t(PyObject*)</code><br>
	 * <i>native declaration : intobject.h:20</i>
	 */
	@Ptr 
	public static long PyInt_AsSsize_t(Pointer<PyObject > PyObjectPtr1) {
		return PyInt_AsSsize_t(Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long PyInt_AsSsize_t(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long PyInt_AsUnsignedLongMask(PyObject*)</code><br>
	 * <i>native declaration : intobject.h:22</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyInt_AsUnsignedLongMask(Pointer<PyObject > PyObjectPtr1) {
		return PyInt_AsUnsignedLongMask(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyInt_AsUnsignedLongMask(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long long PyInt_AsUnsignedLongLongMask(PyObject*)</code><br>
	 * <i>native declaration : intobject.h:24</i>
	 */
	public static long PyInt_AsUnsignedLongLongMask(Pointer<PyObject > PyObjectPtr1) {
		return PyInt_AsUnsignedLongLongMask(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static long PyInt_AsUnsignedLongLongMask(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long PyInt_GetMax()</code><br>
	 * <i>native declaration : intobject.h:26</i>
	 */
	@org.bridj.ann.CLong 
	native public static long PyInt_GetMax();
	/**
	 * These aren't really part of the Int object, but they're handy; the protos<br>
	 * are necessary for systems that need the magic of PyAPI_FUNC and that want<br>
	 * to have stropmodule as a dynamically loaded module instead of building it<br>
	 * into the main Python shared library/DLL.  Guido thinks I'm weird for<br>
	 * building it this way.  :-)  [cjh]<br>
	 * Original signature : <code>long PyOS_strtoul(char*, char**, int)</code><br>
	 * <i>native declaration : intobject.h:35</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyOS_strtoul(Pointer<Byte > charPtr1, Pointer<Pointer<Byte > > charPtrPtr1, int int1) {
		return PyOS_strtoul(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtrPtr1), int1);
	}
	@org.bridj.ann.CLong 
	protected native static long PyOS_strtoul(@Ptr long charPtr1, @Ptr long charPtrPtr1, int int1);
	/**
	 * Original signature : <code>long PyOS_strtol(char*, char**, int)</code><br>
	 * <i>native declaration : intobject.h:37</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyOS_strtol(Pointer<Byte > charPtr1, Pointer<Pointer<Byte > > charPtrPtr1, int int1) {
		return PyOS_strtol(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtrPtr1), int1);
	}
	@org.bridj.ann.CLong 
	protected native static long PyOS_strtol(@Ptr long charPtr1, @Ptr long charPtrPtr1, int int1);
	/**
	 * free list api<br>
	 * Original signature : <code>int PyInt_ClearFreeList()</code><br>
	 * <i>native declaration : intobject.h:42</i>
	 */
	native public static int PyInt_ClearFreeList();
	/**
	 * Convert an integer to the given base.  Returns a string.<br>
	 * If base is 2, 8 or 16, add the proper prefix '0b', '0o' or '0x'.<br>
	 * If newstyle is zero, then use the pre-2.6 behavior of octal having<br>
	 * a leading "0"<br>
	 * Original signature : <code>PyObject* _PyInt_Format(PyIntObject*, int, int)</code><br>
	 * <i>native declaration : intobject.h:50</i>
	 */
	public static Pointer<PyObject > _PyInt_Format(Pointer<PyIntObject > v, int base, int newstyle) {
		return Pointer.pointerToAddress(_PyInt_Format(Pointer.getPeer(v), base, newstyle), PyObject.class);
	}
	@Ptr 
	protected native static long _PyInt_Format(@Ptr long v, int base, int newstyle);
	/**
	 * Format the object based on the format_spec, as defined in PEP 3101<br>
	 * (Advanced String Formatting).<br>
	 * Original signature : <code>PyObject* _PyInt_FormatAdvanced(PyObject*, char*, Py_ssize_t)</code><br>
	 * <i>native declaration : intobject.h:56</i>
	 */
	public static Pointer<PyObject > _PyInt_FormatAdvanced(Pointer<PyObject > obj, Pointer<Byte > format_spec, @Ptr long format_spec_len) {
		return Pointer.pointerToAddress(_PyInt_FormatAdvanced(Pointer.getPeer(obj), Pointer.getPeer(format_spec), format_spec_len), PyObject.class);
	}
	@Ptr 
	protected native static long _PyInt_FormatAdvanced(@Ptr long obj, @Ptr long format_spec, @Ptr long format_spec_len);
	/**
	 * Function to return a bool from a C long<br>
	 * Original signature : <code>PyObject* PyBool_FromLong(long)</code><br>
	 * <i>native declaration : boolobject.h:11</i>
	 */
	public static Pointer<PyObject > PyBool_FromLong(@org.bridj.ann.CLong long l1) {
		return Pointer.pointerToAddress(PyBool_FromLong$2(l1), PyObject.class);
	}
	@Ptr 
	@Name("PyBool_FromLong") 
	protected native static long PyBool_FromLong$2(@org.bridj.ann.CLong long l1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromLong(long)</code><br>
	 * <i>native declaration : longobject.h:4</i>
	 */
	public static Pointer<PyObject > PyLong_FromLong(@org.bridj.ann.CLong long l1) {
		return Pointer.pointerToAddress(PyLong_FromLong$2(l1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromLong") 
	protected native static long PyLong_FromLong$2(@org.bridj.ann.CLong long l1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromUnsignedLong(unsigned long)</code><br>
	 * <i>native declaration : longobject.h:6</i>
	 */
	public static Pointer<PyObject > PyLong_FromUnsignedLong(@org.bridj.ann.CLong long u1) {
		return Pointer.pointerToAddress(PyLong_FromUnsignedLong$2(u1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromUnsignedLong") 
	protected native static long PyLong_FromUnsignedLong$2(@org.bridj.ann.CLong long u1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromDouble(double)</code><br>
	 * <i>native declaration : longobject.h:8</i>
	 */
	public static Pointer<PyObject > PyLong_FromDouble(double double1) {
		return Pointer.pointerToAddress(PyLong_FromDouble$2(double1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromDouble") 
	protected native static long PyLong_FromDouble$2(double double1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromSize_t(size_t)</code><br>
	 * <i>native declaration : longobject.h:10</i>
	 */
	public static Pointer<PyObject > PyLong_FromSize_t(@Ptr long size_t1) {
		return Pointer.pointerToAddress(PyLong_FromSize_t$2(size_t1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromSize_t") 
	protected native static long PyLong_FromSize_t$2(@Ptr long size_t1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromSsize_t(Py_ssize_t)</code><br>
	 * <i>native declaration : longobject.h:12</i>
	 */
	public static Pointer<PyObject > PyLong_FromSsize_t(@Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyLong_FromSsize_t$2(Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromSsize_t") 
	protected native static long PyLong_FromSsize_t$2(@Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>long PyLong_AsLong(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:14</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyLong_AsLong(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsLong(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyLong_AsLong(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long PyLong_AsLongAndOverflow(PyObject*, int*)</code><br>
	 * <i>native declaration : longobject.h:16</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyLong_AsLongAndOverflow(Pointer<PyObject > PyObjectPtr1, Pointer<Integer > intPtr1) {
		return PyLong_AsLongAndOverflow(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(intPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyLong_AsLongAndOverflow(@Ptr long PyObjectPtr1, @Ptr long intPtr1);
	/**
	 * Original signature : <code>long PyLong_AsUnsignedLong(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:18</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyLong_AsUnsignedLong(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsUnsignedLong(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyLong_AsUnsignedLong(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long PyLong_AsUnsignedLongMask(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:20</i>
	 */
	@org.bridj.ann.CLong 
	public static long PyLong_AsUnsignedLongMask(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsUnsignedLongMask(Pointer.getPeer(PyObjectPtr1));
	}
	@org.bridj.ann.CLong 
	protected native static long PyLong_AsUnsignedLongMask(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>Py_ssize_t PyLong_AsSsize_t(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:22</i>
	 */
	@Ptr 
	public static long PyLong_AsSsize_t(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsSsize_t(Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long PyLong_AsSsize_t(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyLong_GetInfo()</code><br>
	 * <i>native declaration : longobject.h:24</i>
	 */
	public static Pointer<PyObject > PyLong_GetInfo() {
		return Pointer.pointerToAddress(PyLong_GetInfo$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_GetInfo") 
	protected native static long PyLong_GetInfo$2();
	/**
	 * _PyLong_Frexp returns a double x and an exponent e such that the<br>
	 * true value is approximately equal to x * 2**e.  e is >= 0.  x is<br>
	 * 0.0 if and only if the input is 0 (in which case, e and x are both<br>
	 * zeroes); otherwise, 0.5 <= abs(x) < 1.0.  On overflow, which is<br>
	 * possible if the number of bits doesn't fit into a Py_ssize_t, sets<br>
	 * OverflowError and returns -1.0 for x, 0 for e.<br>
	 * Original signature : <code>double _PyLong_Frexp(PyLongObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : longobject.h:35</i>
	 */
	public static double _PyLong_Frexp(Pointer<Python27Library._longobject > a, Pointer<SizeT > e) {
		return _PyLong_Frexp(Pointer.getPeer(a), Pointer.getPeer(e));
	}
	protected native static double _PyLong_Frexp(@Ptr long a, @Ptr long e);
	/**
	 * Original signature : <code>double PyLong_AsDouble(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:37</i>
	 */
	public static double PyLong_AsDouble(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsDouble(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static double PyLong_AsDouble(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromVoidPtr(void*)</code><br>
	 * <i>native declaration : longobject.h:39</i>
	 */
	public static Pointer<PyObject > PyLong_FromVoidPtr(Pointer<? > voidPtr1) {
		return Pointer.pointerToAddress(PyLong_FromVoidPtr(Pointer.getPeer(voidPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyLong_FromVoidPtr(@Ptr long voidPtr1);
	/**
	 * Original signature : <code>void* PyLong_AsVoidPtr(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:41</i>
	 */
	public static Pointer<? > PyLong_AsVoidPtr(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyLong_AsVoidPtr(Pointer.getPeer(PyObjectPtr1)));
	}
	@Ptr 
	protected native static long PyLong_AsVoidPtr(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromLongLong(long long)</code><br>
	 * <i>native declaration : longobject.h:43</i>
	 */
	public static Pointer<PyObject > PyLong_FromLongLong(long l1) {
		return Pointer.pointerToAddress(PyLong_FromLongLong$2(l1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromLongLong") 
	protected native static long PyLong_FromLongLong$2(long l1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromUnsignedLongLong(unsigned long long)</code><br>
	 * <i>native declaration : longobject.h:45</i>
	 */
	public static Pointer<PyObject > PyLong_FromUnsignedLongLong(long u1) {
		return Pointer.pointerToAddress(PyLong_FromUnsignedLongLong$2(u1), PyObject.class);
	}
	@Ptr 
	@Name("PyLong_FromUnsignedLongLong") 
	protected native static long PyLong_FromUnsignedLongLong$2(long u1);
	/**
	 * Original signature : <code>long long PyLong_AsLongLong(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:47</i>
	 */
	public static long PyLong_AsLongLong(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsLongLong(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static long PyLong_AsLongLong(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long long PyLong_AsUnsignedLongLong(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:49</i>
	 */
	public static long PyLong_AsUnsignedLongLong(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsUnsignedLongLong(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static long PyLong_AsUnsignedLongLong(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long long PyLong_AsUnsignedLongLongMask(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:51</i>
	 */
	public static long PyLong_AsUnsignedLongLongMask(Pointer<PyObject > PyObjectPtr1) {
		return PyLong_AsUnsignedLongLongMask(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static long PyLong_AsUnsignedLongLongMask(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>long long PyLong_AsLongLongAndOverflow(PyObject*, int*)</code><br>
	 * <i>native declaration : longobject.h:53</i>
	 */
	public static long PyLong_AsLongLongAndOverflow(Pointer<PyObject > PyObjectPtr1, Pointer<Integer > intPtr1) {
		return PyLong_AsLongLongAndOverflow(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(intPtr1));
	}
	protected native static long PyLong_AsLongLongAndOverflow(@Ptr long PyObjectPtr1, @Ptr long intPtr1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromString(char*, char**, int)</code><br>
	 * <i>native declaration : longobject.h:55</i>
	 */
	public static Pointer<PyObject > PyLong_FromString(Pointer<Byte > charPtr1, Pointer<Pointer<Byte > > charPtrPtr1, int int1) {
		return Pointer.pointerToAddress(PyLong_FromString(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtrPtr1), int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyLong_FromString(@Ptr long charPtr1, @Ptr long charPtrPtr1, int int1);
	/**
	 * Original signature : <code>PyObject* PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int)</code><br>
	 * <i>native declaration : longobject.h:57</i>
	 */
	public static Pointer<PyObject > PyLong_FromUnicode(Pointer<Integer > Py_UNICODEPtr1, @Ptr long Py_ssize_t1, int int1) {
		return Pointer.pointerToAddress(PyLong_FromUnicode(Pointer.getPeer(Py_UNICODEPtr1), Py_ssize_t1, int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyLong_FromUnicode(@Ptr long Py_UNICODEPtr1, @Ptr long Py_ssize_t1, int int1);
	/**
	 * _PyLong_Sign.  Return 0 if v is 0, -1 if v < 0, +1 if v > 0.<br>
	 * v must not be NULL, and must be a normalized long.<br>
	 * There are no error cases.<br>
	 * Original signature : <code>int _PyLong_Sign(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:64</i>
	 */
	public static int _PyLong_Sign(Pointer<PyObject > v) {
		return _PyLong_Sign(Pointer.getPeer(v));
	}
	protected native static int _PyLong_Sign(@Ptr long v);
	/**
	 * _PyLong_NumBits.  Return the number of bits needed to represent the<br>
	 * absolute value of a long.  For example, this returns 1 for 1 and -1, 2<br>
	 * for 2 and -2, and 2 for 3 and -3.  It returns 0 for 0.<br>
	 * v must not be NULL, and must be a normalized long.<br>
	 * (size_t)-1 is returned and OverflowError set if the true result doesn't<br>
	 * fit in a size_t.<br>
	 * Original signature : <code>size_t _PyLong_NumBits(PyObject*)</code><br>
	 * <i>native declaration : longobject.h:74</i>
	 */
	@Ptr 
	public static long _PyLong_NumBits(Pointer<PyObject > v) {
		return _PyLong_NumBits(Pointer.getPeer(v));
	}
	@Ptr 
	protected native static long _PyLong_NumBits(@Ptr long v);
	/**
	 * _PyLong_FromByteArray:  View the n unsigned bytes as a binary integer in<br>
	 * base 256, and return a Python long with the same numeric value.<br>
	 * If n is 0, the integer is 0.  Else:<br>
	 * If little_endian is 1/true, bytes[n-1] is the MSB and bytes[0] the LSB;<br>
	 * else (little_endian is 0/false) bytes[0] is the MSB and bytes[n-1] the<br>
	 * LSB.<br>
	 * If is_signed is 0/false, view the bytes as a non-negative integer.<br>
	 * If is_signed is 1/true, view the bytes as a 2's-complement integer,<br>
	 * non-negative if bit 0x80 of the MSB is clear, negative if set.<br>
	 * Error returns:<br>
	 * + Return NULL with the appropriate exception set if there's not<br>
	 * enough memory to create the Python long.<br>
	 * Original signature : <code>PyObject* _PyLong_FromByteArray(const unsigned char*, size_t, int, int)</code><br>
	 * <i>native declaration : longobject.h:90</i>
	 */
	public static Pointer<PyObject > _PyLong_FromByteArray(Pointer<Byte > bytes, @Ptr long n, int little_endian, int is_signed) {
		return Pointer.pointerToAddress(_PyLong_FromByteArray(Pointer.getPeer(bytes), n, little_endian, is_signed), PyObject.class);
	}
	@Ptr 
	protected native static long _PyLong_FromByteArray(@Ptr long bytes, @Ptr long n, int little_endian, int is_signed);
	/**
	 * _PyLong_AsByteArray: Convert the least-significant 8*n bits of long<br>
	 * v to a base-256 integer, stored in array bytes.  Normally return 0,<br>
	 * return -1 on error.<br>
	 * If little_endian is 1/true, store the MSB at bytes[n-1] and the LSB at<br>
	 * bytes[0]; else (little_endian is 0/false) store the MSB at bytes[0] and<br>
	 * the LSB at bytes[n-1].<br>
	 * If is_signed is 0/false, it's an error if v < 0; else (v >= 0) n bytes<br>
	 * are filled and there's nothing special about bit 0x80 of the MSB.<br>
	 * If is_signed is 1/true, bytes is filled with the 2's-complement<br>
	 * representation of v's value.  Bit 0x80 of the MSB is the sign bit.<br>
	 * Error returns (-1):<br>
	 * + is_signed is 0 and v < 0.  TypeError is set in this case, and bytes<br>
	 * isn't altered.<br>
	 * + n isn't big enough to hold the full mathematical value of v.  For<br>
	 * example, if is_signed is 0 and there are more digits in the v than<br>
	 * fit in n; or if is_signed is 1, v < 0, and n is just 1 bit shy of<br>
	 * being large enough to hold a sign bit.  OverflowError is set in this<br>
	 * case, but bytes holds the least-signficant n bytes of the true value.<br>
	 * Original signature : <code>int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int)</code><br>
	 * <i>native declaration : longobject.h:112</i>
	 */
	public static int _PyLong_AsByteArray(Pointer<Python27Library._longobject > v, Pointer<Byte > bytes, @Ptr long n, int little_endian, int is_signed) {
		return _PyLong_AsByteArray(Pointer.getPeer(v), Pointer.getPeer(bytes), n, little_endian, is_signed);
	}
	protected native static int _PyLong_AsByteArray(@Ptr long v, @Ptr long bytes, @Ptr long n, int little_endian, int is_signed);
	/**
	 * _PyLong_Format: Convert the long to a string object with given base,<br>
	 * appending a base prefix of 0[box] if base is 2, 8 or 16.<br>
	 * Add a trailing "L" if addL is non-zero.<br>
	 * If newstyle is zero, then use the pre-2.6 behavior of octal having<br>
	 * a leading "0", instead of the prefix "0o"<br>
	 * Original signature : <code>PyObject* _PyLong_Format(PyObject*, int, int, int)</code><br>
	 * <i>native declaration : longobject.h:121</i>
	 */
	public static Pointer<PyObject > _PyLong_Format(Pointer<PyObject > aa, int base, int addL, int newstyle) {
		return Pointer.pointerToAddress(_PyLong_Format(Pointer.getPeer(aa), base, addL, newstyle), PyObject.class);
	}
	@Ptr 
	protected native static long _PyLong_Format(@Ptr long aa, int base, int addL, int newstyle);
	/**
	 * Format the object based on the format_spec, as defined in PEP 3101<br>
	 * (Advanced String Formatting).<br>
	 * Original signature : <code>PyObject* _PyLong_FormatAdvanced(PyObject*, char*, Py_ssize_t)</code><br>
	 * <i>native declaration : longobject.h:127</i>
	 */
	public static Pointer<PyObject > _PyLong_FormatAdvanced(Pointer<PyObject > obj, Pointer<Byte > format_spec, @Ptr long format_spec_len) {
		return Pointer.pointerToAddress(_PyLong_FormatAdvanced(Pointer.getPeer(obj), Pointer.getPeer(format_spec), format_spec_len), PyObject.class);
	}
	@Ptr 
	protected native static long _PyLong_FormatAdvanced(@Ptr long obj, @Ptr long format_spec, @Ptr long format_spec_len);
	/**
	 * Original signature : <code>double PyFloat_GetMax()</code><br>
	 * <i>native declaration : floatobject.h:8</i>
	 */
	native public static double PyFloat_GetMax();
	/**
	 * Original signature : <code>double PyFloat_GetMin()</code><br>
	 * <i>native declaration : floatobject.h:10</i>
	 */
	native public static double PyFloat_GetMin();
	/**
	 * Original signature : <code>PyObject* PyFloat_GetInfo()</code><br>
	 * <i>native declaration : floatobject.h:12</i>
	 */
	public static Pointer<PyObject > PyFloat_GetInfo() {
		return Pointer.pointerToAddress(PyFloat_GetInfo$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyFloat_GetInfo") 
	protected native static long PyFloat_GetInfo$2();
	/**
	 * Return Python float from string PyObject.  Second argument ignored on<br>
	 * input, and, if non-NULL, NULL is stored into *junk (this tried to serve a<br>
	 * purpose once but can't be made to work as intended).<br>
	 * Original signature : <code>PyObject* PyFloat_FromString(PyObject*, char**)</code><br>
	 * <i>native declaration : floatobject.h:19</i>
	 */
	public static Pointer<PyObject > PyFloat_FromString(Pointer<PyObject > PyObjectPtr1, Pointer<Pointer<Byte > > junk) {
		return Pointer.pointerToAddress(PyFloat_FromString(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(junk)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFloat_FromString(@Ptr long PyObjectPtr1, @Ptr long junk);
	/**
	 * Return Python float from C double.<br>
	 * Original signature : <code>PyObject* PyFloat_FromDouble(double)</code><br>
	 * <i>native declaration : floatobject.h:24</i>
	 */
	public static Pointer<PyObject > PyFloat_FromDouble(double double1) {
		return Pointer.pointerToAddress(PyFloat_FromDouble$2(double1), PyObject.class);
	}
	@Ptr 
	@Name("PyFloat_FromDouble") 
	protected native static long PyFloat_FromDouble$2(double double1);
	/**
	 * Extract C double from Python float.  The macro version trades safety for<br>
	 * speed.<br>
	 * Original signature : <code>double PyFloat_AsDouble(PyObject*)</code><br>
	 * <i>native declaration : floatobject.h:30</i>
	 */
	public static double PyFloat_AsDouble(Pointer<PyObject > PyObjectPtr1) {
		return PyFloat_AsDouble(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static double PyFloat_AsDouble(@Ptr long PyObjectPtr1);
	/**
	 * Write repr(v) into the char buffer argument, followed by null byte.  The<br>
	 * buffer must be "big enough"; >= 100 is very safe.<br>
	 * PyFloat_AsReprString(buf, x) strives to print enough digits so that<br>
	 * PyFloat_FromString(buf) then reproduces x exactly.<br>
	 * Original signature : <code>void PyFloat_AsReprString(char*, PyFloatObject*)</code><br>
	 * <i>native declaration : floatobject.h:38</i>
	 */
	public static void PyFloat_AsReprString(Pointer<Byte > charPtr1, Pointer<PyFloatObject > v) {
		PyFloat_AsReprString(Pointer.getPeer(charPtr1), Pointer.getPeer(v));
	}
	protected native static void PyFloat_AsReprString(@Ptr long charPtr1, @Ptr long v);
	/**
	 * Write str(v) into the char buffer argument, followed by null byte.  The<br>
	 * buffer must be "big enough"; >= 100 is very safe.  Note that it's<br>
	 * unusual to be able to get back the float you started with from<br>
	 * PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to<br>
	 * preserve precision across conversions.<br>
	 * Original signature : <code>void PyFloat_AsString(char*, PyFloatObject*)</code><br>
	 * <i>native declaration : floatobject.h:47</i>
	 */
	public static void PyFloat_AsString(Pointer<Byte > charPtr1, Pointer<PyFloatObject > v) {
		PyFloat_AsString(Pointer.getPeer(charPtr1), Pointer.getPeer(v));
	}
	protected native static void PyFloat_AsString(@Ptr long charPtr1, @Ptr long v);
	/**
	 * The pack routines write 4 or 8 bytes, starting at p.  le is a bool<br>
	 * argument, true if you want the string in little-endian format (exponent<br>
	 * last, at p+3 or p+7), false if you want big-endian format (exponent<br>
	 * first, at p).<br>
	 * Return value:  0 if all is OK, -1 if error (and an exception is<br>
	 * set, most likely OverflowError).<br>
	 * There are two problems on non-IEEE platforms:<br>
	 * 1):  What this does is undefined if x is a NaN or infinity.<br>
	 * 2):  -0.0 and +0.0 produce the same string.<br>
	 * Original signature : <code>int _PyFloat_Pack4(double, unsigned char*, int)</code><br>
	 * <i>native declaration : floatobject.h:60</i>
	 */
	public static int _PyFloat_Pack4(double x, Pointer<Byte > p, int le) {
		return _PyFloat_Pack4(x, Pointer.getPeer(p), le);
	}
	protected native static int _PyFloat_Pack4(double x, @Ptr long p, int le);
	/**
	 * Original signature : <code>int _PyFloat_Pack8(double, unsigned char*, int)</code><br>
	 * <i>native declaration : floatobject.h:62</i>
	 */
	public static int _PyFloat_Pack8(double x, Pointer<Byte > p, int le) {
		return _PyFloat_Pack8(x, Pointer.getPeer(p), le);
	}
	protected native static int _PyFloat_Pack8(double x, @Ptr long p, int le);
	/**
	 * Used to get the important decimal digits of a double<br>
	 * Original signature : <code>int _PyFloat_Digits(char*, double, int*)</code><br>
	 * <i>native declaration : floatobject.h:67</i>
	 */
	public static int _PyFloat_Digits(Pointer<Byte > buf, double v, Pointer<Integer > signum) {
		return _PyFloat_Digits(Pointer.getPeer(buf), v, Pointer.getPeer(signum));
	}
	protected native static int _PyFloat_Digits(@Ptr long buf, double v, @Ptr long signum);
	/**
	 * Original signature : <code>void _PyFloat_DigitsInit()</code><br>
	 * <i>native declaration : floatobject.h:69</i>
	 */
	native public static void _PyFloat_DigitsInit();
	/**
	 * The unpack routines read 4 or 8 bytes, starting at p.  le is a bool<br>
	 * argument, true if the string is in little-endian format (exponent<br>
	 * last, at p+3 or p+7), false if big-endian (exponent first, at p).<br>
	 * Return value:  The unpacked double.  On error, this is -1.0 and<br>
	 * PyErr_Occurred() is true (and an exception is set, most likely<br>
	 * OverflowError).  Note that on a non-IEEE platform this will refuse<br>
	 * to unpack a string that represents a NaN or infinity.<br>
	 * Original signature : <code>double _PyFloat_Unpack4(const unsigned char*, int)</code><br>
	 * <i>native declaration : floatobject.h:80</i>
	 */
	public static double _PyFloat_Unpack4(Pointer<Byte > p, int le) {
		return _PyFloat_Unpack4(Pointer.getPeer(p), le);
	}
	protected native static double _PyFloat_Unpack4(@Ptr long p, int le);
	/**
	 * Original signature : <code>double _PyFloat_Unpack8(const unsigned char*, int)</code><br>
	 * <i>native declaration : floatobject.h:82</i>
	 */
	public static double _PyFloat_Unpack8(Pointer<Byte > p, int le) {
		return _PyFloat_Unpack8(Pointer.getPeer(p), le);
	}
	protected native static double _PyFloat_Unpack8(@Ptr long p, int le);
	/**
	 * free list api<br>
	 * Original signature : <code>int PyFloat_ClearFreeList()</code><br>
	 * <i>native declaration : floatobject.h:87</i>
	 */
	native public static int PyFloat_ClearFreeList();
	/**
	 * Format the object based on the format_spec, as defined in PEP 3101<br>
	 * (Advanced String Formatting).<br>
	 * Original signature : <code>PyObject* _PyFloat_FormatAdvanced(PyObject*, char*, Py_ssize_t)</code><br>
	 * <i>native declaration : floatobject.h:93</i>
	 */
	public static Pointer<PyObject > _PyFloat_FormatAdvanced(Pointer<PyObject > obj, Pointer<Byte > format_spec, @Ptr long format_spec_len) {
		return Pointer.pointerToAddress(_PyFloat_FormatAdvanced(Pointer.getPeer(obj), Pointer.getPeer(format_spec), format_spec_len), PyObject.class);
	}
	@Ptr 
	protected native static long _PyFloat_FormatAdvanced(@Ptr long obj, @Ptr long format_spec, @Ptr long format_spec_len);
	/**
	 * Round a C double x to the closest multiple of 10**-ndigits.  Returns a<br>
	 * Python float on success, or NULL (with an appropriate exception set) on<br>
	 * failure.  Used in builtin_round in bltinmodule.c.<br>
	 * Original signature : <code>PyObject* _Py_double_round(double, int)</code><br>
	 * <i>native declaration : floatobject.h:100</i>
	 */
	public static Pointer<PyObject > _Py_double_round(double x, int ndigits) {
		return Pointer.pointerToAddress(_Py_double_round$2(x, ndigits), PyObject.class);
	}
	@Ptr 
	@Name("_Py_double_round") 
	protected native static long _Py_double_round$2(double x, int ndigits);
	/**
	 * Original signature : <code>Py_complex _Py_c_sum(Py_complex, Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:6</i>
	 */
	native public static Py_complex _Py_c_sum(Py_complex Py_complex1, Py_complex Py_complex2);
	/**
	 * Original signature : <code>Py_complex _Py_c_diff(Py_complex, Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:8</i>
	 */
	native public static Py_complex _Py_c_diff(Py_complex Py_complex1, Py_complex Py_complex2);
	/**
	 * Original signature : <code>Py_complex _Py_c_neg(Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:10</i>
	 */
	native public static Py_complex _Py_c_neg(Py_complex Py_complex1);
	/**
	 * Original signature : <code>Py_complex _Py_c_prod(Py_complex, Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:12</i>
	 */
	native public static Py_complex _Py_c_prod(Py_complex Py_complex1, Py_complex Py_complex2);
	/**
	 * Original signature : <code>Py_complex _Py_c_quot(Py_complex, Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:14</i>
	 */
	native public static Py_complex _Py_c_quot(Py_complex Py_complex1, Py_complex Py_complex2);
	/**
	 * Original signature : <code>Py_complex _Py_c_pow(Py_complex, Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:16</i>
	 */
	native public static Py_complex _Py_c_pow(Py_complex Py_complex1, Py_complex Py_complex2);
	/**
	 * Original signature : <code>double _Py_c_abs(Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:18</i>
	 */
	native public static double _Py_c_abs(Py_complex Py_complex1);
	/**
	 * Original signature : <code>PyObject* PyComplex_FromCComplex(Py_complex)</code><br>
	 * <i>native declaration : complexobject.h:26</i>
	 */
	public static Pointer<PyObject > PyComplex_FromCComplex(Py_complex Py_complex1) {
		return Pointer.pointerToAddress(PyComplex_FromCComplex$2(Py_complex1), PyObject.class);
	}
	@Ptr 
	@Name("PyComplex_FromCComplex") 
	protected native static long PyComplex_FromCComplex$2(Py_complex Py_complex1);
	/**
	 * Original signature : <code>PyObject* PyComplex_FromDoubles(double, double)</code><br>
	 * <i>native declaration : complexobject.h:28</i>
	 */
	public static Pointer<PyObject > PyComplex_FromDoubles(double real, double imag) {
		return Pointer.pointerToAddress(PyComplex_FromDoubles$2(real, imag), PyObject.class);
	}
	@Ptr 
	@Name("PyComplex_FromDoubles") 
	protected native static long PyComplex_FromDoubles$2(double real, double imag);
	/**
	 * Original signature : <code>double PyComplex_RealAsDouble(PyObject*)</code><br>
	 * <i>native declaration : complexobject.h:30</i>
	 */
	public static double PyComplex_RealAsDouble(Pointer<PyObject > op) {
		return PyComplex_RealAsDouble(Pointer.getPeer(op));
	}
	protected native static double PyComplex_RealAsDouble(@Ptr long op);
	/**
	 * Original signature : <code>double PyComplex_ImagAsDouble(PyObject*)</code><br>
	 * <i>native declaration : complexobject.h:32</i>
	 */
	public static double PyComplex_ImagAsDouble(Pointer<PyObject > op) {
		return PyComplex_ImagAsDouble(Pointer.getPeer(op));
	}
	protected native static double PyComplex_ImagAsDouble(@Ptr long op);
	/**
	 * Original signature : <code>Py_complex PyComplex_AsCComplex(PyObject*)</code><br>
	 * <i>native declaration : complexobject.h:34</i>
	 */
	public static Py_complex PyComplex_AsCComplex(Pointer<PyObject > op) {
		return PyComplex_AsCComplex(Pointer.getPeer(op));
	}
	protected native static Py_complex PyComplex_AsCComplex(@Ptr long op);
	/**
	 * Format the object based on the format_spec, as defined in PEP 3101<br>
	 * (Advanced String Formatting).<br>
	 * Original signature : <code>PyObject* _PyComplex_FormatAdvanced(PyObject*, char*, Py_ssize_t)</code><br>
	 * <i>native declaration : complexobject.h:40</i>
	 */
	public static Pointer<PyObject > _PyComplex_FormatAdvanced(Pointer<PyObject > obj, Pointer<Byte > format_spec, @Ptr long format_spec_len) {
		return Pointer.pointerToAddress(_PyComplex_FormatAdvanced(Pointer.getPeer(obj), Pointer.getPeer(format_spec), format_spec_len), PyObject.class);
	}
	@Ptr 
	protected native static long _PyComplex_FormatAdvanced(@Ptr long obj, @Ptr long format_spec, @Ptr long format_spec_len);
	/**
	 * Original signature : <code>PyObject* PyString_FromStringAndSize(const char*, Py_ssize_t)</code><br>
	 * <i>native declaration : stringobject.h:11</i>
	 */
	public static Pointer<PyObject > PyString_FromStringAndSize(Pointer<Byte > charPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyString_FromStringAndSize(Pointer.getPeer(charPtr1), Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_FromStringAndSize(@Ptr long charPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* PyString_FromString(const char*)</code><br>
	 * <i>native declaration : stringobject.h:13</i>
	 */
	public static Pointer<PyObject > PyString_FromString(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyString_FromString(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_FromString(@Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyString_FromFormatV(const char*)</code><br>
	 * <i>native declaration : stringobject.h:15</i>
	 */
	public static Pointer<PyObject > PyString_FromFormatV(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyString_FromFormatV(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_FromFormatV(@Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyString_FromFormat(const char*, null)</code><br>
	 * <i>native declaration : stringobject.h:17</i>
	 */
	public static Pointer<PyObject > PyString_FromFormat(Pointer<Byte > charPtr1, Object... varargs) {
		return Pointer.pointerToAddress(PyString_FromFormat(Pointer.getPeer(charPtr1), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_FromFormat(@Ptr long charPtr1, Object... varargs);
	/**
	 * Original signature : <code>Py_ssize_t PyString_Size(PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:19</i>
	 */
	@Ptr 
	public static long PyString_Size(Pointer<PyObject > PyObjectPtr1) {
		return PyString_Size(Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long PyString_Size(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>char* PyString_AsString(PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:21</i>
	 */
	public static Pointer<Byte > PyString_AsString(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyString_AsString(Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyString_AsString(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyString_Repr(PyObject*, int)</code><br>
	 * <i>native declaration : stringobject.h:23</i>
	 */
	public static Pointer<PyObject > PyString_Repr(Pointer<PyObject > PyObjectPtr1, int int1) {
		return Pointer.pointerToAddress(PyString_Repr(Pointer.getPeer(PyObjectPtr1), int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_Repr(@Ptr long PyObjectPtr1, int int1);
	/**
	 * Original signature : <code>void PyString_Concat(PyObject**, PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:25</i>
	 */
	public static void PyString_Concat(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<PyObject > PyObjectPtr1) {
		PyString_Concat(Pointer.getPeer(PyObjectPtrPtr1), Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyString_Concat(@Ptr long PyObjectPtrPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void PyString_ConcatAndDel(PyObject**, PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:27</i>
	 */
	public static void PyString_ConcatAndDel(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<PyObject > PyObjectPtr1) {
		PyString_ConcatAndDel(Pointer.getPeer(PyObjectPtrPtr1), Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyString_ConcatAndDel(@Ptr long PyObjectPtrPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int _PyString_Resize(PyObject**, Py_ssize_t)</code><br>
	 * <i>native declaration : stringobject.h:29</i>
	 */
	public static int _PyString_Resize(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, @Ptr long Py_ssize_t1) {
		return _PyString_Resize(Pointer.getPeer(PyObjectPtrPtr1), Py_ssize_t1);
	}
	protected native static int _PyString_Resize(@Ptr long PyObjectPtrPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int _PyString_Eq(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:31</i>
	 */
	public static int _PyString_Eq(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return _PyString_Eq(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int _PyString_Eq(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyString_Format(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:33</i>
	 */
	public static Pointer<PyObject > PyString_Format(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyString_Format(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_Format(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* _PyString_FormatLong(PyObject*, int, int, int, char**, int*)</code><br>
	 * <i>native declaration : stringobject.h:35</i>
	 */
	public static Pointer<PyObject > _PyString_FormatLong(Pointer<PyObject > PyObjectPtr1, int int1, int int2, int int3, Pointer<Pointer<Byte > > charPtrPtr1, Pointer<Integer > intPtr1) {
		return Pointer.pointerToAddress(_PyString_FormatLong(Pointer.getPeer(PyObjectPtr1), int1, int2, int3, Pointer.getPeer(charPtrPtr1), Pointer.getPeer(intPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyString_FormatLong(@Ptr long PyObjectPtr1, int int1, int int2, int int3, @Ptr long charPtrPtr1, @Ptr long intPtr1);
	/**
	 * Original signature : <code>PyObject* PyString_DecodeEscape(const char*, Py_ssize_t, const char*, Py_ssize_t, const char*)</code><br>
	 * <i>native declaration : stringobject.h:37</i>
	 */
	public static Pointer<PyObject > PyString_DecodeEscape(Pointer<Byte > charPtr1, @Ptr long Py_ssize_t1, Pointer<Byte > charPtr2, @Ptr long Py_ssize_t2, Pointer<Byte > charPtr3) {
		return Pointer.pointerToAddress(PyString_DecodeEscape(Pointer.getPeer(charPtr1), Py_ssize_t1, Pointer.getPeer(charPtr2), Py_ssize_t2, Pointer.getPeer(charPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_DecodeEscape(@Ptr long charPtr1, @Ptr long Py_ssize_t1, @Ptr long charPtr2, @Ptr long Py_ssize_t2, @Ptr long charPtr3);
	/**
	 * Original signature : <code>void PyString_InternInPlace(PyObject**)</code><br>
	 * <i>native declaration : stringobject.h:39</i>
	 */
	public static void PyString_InternInPlace(Pointer<Pointer<PyObject > > PyObjectPtrPtr1) {
		PyString_InternInPlace(Pointer.getPeer(PyObjectPtrPtr1));
	}
	protected native static void PyString_InternInPlace(@Ptr long PyObjectPtrPtr1);
	/**
	 * Original signature : <code>void PyString_InternImmortal(PyObject**)</code><br>
	 * <i>native declaration : stringobject.h:41</i>
	 */
	public static void PyString_InternImmortal(Pointer<Pointer<PyObject > > PyObjectPtrPtr1) {
		PyString_InternImmortal(Pointer.getPeer(PyObjectPtrPtr1));
	}
	protected native static void PyString_InternImmortal(@Ptr long PyObjectPtrPtr1);
	/**
	 * Original signature : <code>PyObject* PyString_InternFromString(const char*)</code><br>
	 * <i>native declaration : stringobject.h:43</i>
	 */
	public static Pointer<PyObject > PyString_InternFromString(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyString_InternFromString(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_InternFromString(@Ptr long charPtr1);
	/**
	 * Original signature : <code>void _Py_ReleaseInternedStrings()</code><br>
	 * <i>native declaration : stringobject.h:45</i>
	 */
	native public static void _Py_ReleaseInternedStrings();
	/**
	 * _PyString_Join(sep, x) is like sep.join(x).  sep must be PyStringObject*,<br>
	 * x must be an iterable object.<br>
	 * Original signature : <code>PyObject* _PyString_Join(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : stringobject.h:51</i>
	 */
	public static Pointer<PyObject > _PyString_Join(Pointer<PyObject > sep, Pointer<PyObject > x) {
		return Pointer.pointerToAddress(_PyString_Join(Pointer.getPeer(sep), Pointer.getPeer(x)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyString_Join(@Ptr long sep, @Ptr long x);
	/**
	 * Original signature : <code>PyObject* PyString_Decode(const char*, Py_ssize_t, const char*, const char*)</code><br>
	 * @param s encoded string<br>
	 * @param size size of buffer<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : stringobject.h:59</i>
	 */
	public static Pointer<PyObject > PyString_Decode(Pointer<Byte > s, @Ptr long size, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyString_Decode(Pointer.getPeer(s), size, Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_Decode(@Ptr long s, @Ptr long size, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyString_Encode(const char*, Py_ssize_t, const char*, const char*)</code><br>
	 * @param s string char buffer<br>
	 * @param size number of chars to encode<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : stringobject.h:67</i>
	 */
	public static Pointer<PyObject > PyString_Encode(Pointer<Byte > s, @Ptr long size, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyString_Encode(Pointer.getPeer(s), size, Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_Encode(@Ptr long s, @Ptr long size, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyString_AsEncodedObject(PyObject*, const char*, const char*)</code><br>
	 * @param str string object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : stringobject.h:74</i>
	 */
	public static Pointer<PyObject > PyString_AsEncodedObject(Pointer<PyObject > str, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyString_AsEncodedObject(Pointer.getPeer(str), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_AsEncodedObject(@Ptr long str, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyString_AsEncodedString(PyObject*, const char*, const char*)</code><br>
	 * @param str string object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : stringobject.h:81</i>
	 */
	public static Pointer<PyObject > PyString_AsEncodedString(Pointer<PyObject > str, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyString_AsEncodedString(Pointer.getPeer(str), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_AsEncodedString(@Ptr long str, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyString_AsDecodedObject(PyObject*, const char*, const char*)</code><br>
	 * @param str string object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : stringobject.h:88</i>
	 */
	public static Pointer<PyObject > PyString_AsDecodedObject(Pointer<PyObject > str, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyString_AsDecodedObject(Pointer.getPeer(str), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_AsDecodedObject(@Ptr long str, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyString_AsDecodedString(PyObject*, const char*, const char*)</code><br>
	 * @param str string object<br>
	 * @param encoding encoding<br>
	 * @param errors error handling<br>
	 * <i>native declaration : stringobject.h:95</i>
	 */
	public static Pointer<PyObject > PyString_AsDecodedString(Pointer<PyObject > str, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyString_AsDecodedString(Pointer.getPeer(str), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyString_AsDecodedString(@Ptr long str, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>int PyString_AsStringAndSize(register PyObject*, register char**, register Py_ssize_t*)</code><br>
	 * @param obj string or Unicode object<br>
	 * @param s pointer to buffer variable<br>
	 * @param len pointer to length variable or NULL<br>(only possible for 0-terminated<br>strings)<br>
	 * <i>native declaration : stringobject.h:102</i>
	 */
	public static int PyString_AsStringAndSize(Pointer<PyObject > obj, Pointer<Pointer<Byte > > s, Pointer<SizeT > len) {
		return PyString_AsStringAndSize(Pointer.getPeer(obj), Pointer.getPeer(s), Pointer.getPeer(len));
	}
	protected native static int PyString_AsStringAndSize(@Ptr long obj, @Ptr long s, @Ptr long len);
	/**
	 * Using the current locale, insert the thousands grouping<br>
	 * into the string pointed to by buffer.  For the argument descriptions,<br>
	 * see Objects/stringlib/localeutil.h<br>
	 * Original signature : <code>Py_ssize_t _PyString_InsertThousandsGroupingLocale(char*, Py_ssize_t, char*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : stringobject.h:109</i>
	 */
	@Ptr 
	public static long _PyString_InsertThousandsGroupingLocale(Pointer<Byte > buffer, @Ptr long n_buffer, Pointer<Byte > digits, @Ptr long n_digits, @Ptr long min_width) {
		return _PyString_InsertThousandsGroupingLocale(Pointer.getPeer(buffer), n_buffer, Pointer.getPeer(digits), n_digits, min_width);
	}
	@Ptr 
	protected native static long _PyString_InsertThousandsGroupingLocale(@Ptr long buffer, @Ptr long n_buffer, @Ptr long digits, @Ptr long n_digits, @Ptr long min_width);
	/**
	 * Using explicit passed-in values, insert the thousands grouping<br>
	 * into the string pointed to by buffer.  For the argument descriptions,<br>
	 * see Objects/stringlib/localeutil.h<br>
	 * Original signature : <code>Py_ssize_t _PyString_InsertThousandsGrouping(char*, Py_ssize_t, char*, Py_ssize_t, Py_ssize_t, const char*, const char*)</code><br>
	 * <i>native declaration : stringobject.h:116</i>
	 */
	@Ptr 
	public static long _PyString_InsertThousandsGrouping(Pointer<Byte > buffer, @Ptr long n_buffer, Pointer<Byte > digits, @Ptr long n_digits, @Ptr long min_width, Pointer<Byte > grouping, Pointer<Byte > thousands_sep) {
		return _PyString_InsertThousandsGrouping(Pointer.getPeer(buffer), n_buffer, Pointer.getPeer(digits), n_digits, min_width, Pointer.getPeer(grouping), Pointer.getPeer(thousands_sep));
	}
	@Ptr 
	protected native static long _PyString_InsertThousandsGrouping(@Ptr long buffer, @Ptr long n_buffer, @Ptr long digits, @Ptr long n_digits, @Ptr long min_width, @Ptr long grouping, @Ptr long thousands_sep);
	/**
	 * Format the object based on the format_spec, as defined in PEP 3101<br>
	 * (Advanced String Formatting).<br>
	 * Original signature : <code>PyObject* _PyBytes_FormatAdvanced(PyObject*, char*, Py_ssize_t)</code><br>
	 * <i>native declaration : stringobject.h:122</i>
	 */
	public static Pointer<PyObject > _PyBytes_FormatAdvanced(Pointer<PyObject > obj, Pointer<Byte > format_spec, @Ptr long format_spec_len) {
		return Pointer.pointerToAddress(_PyBytes_FormatAdvanced(Pointer.getPeer(obj), Pointer.getPeer(format_spec), format_spec_len), PyObject.class);
	}
	@Ptr 
	protected native static long _PyBytes_FormatAdvanced(@Ptr long obj, @Ptr long format_spec, @Ptr long format_spec_len);
	/**
	 * Original signature : <code>PyObject* PyMemoryView_GetContiguous(PyObject*, int, char)</code><br>
	 * <i>native declaration : memoryobject.h:3</i>
	 */
	public static Pointer<PyObject > PyMemoryView_GetContiguous(Pointer<PyObject > base, int buffertype, byte fort) {
		return Pointer.pointerToAddress(PyMemoryView_GetContiguous(Pointer.getPeer(base), buffertype, fort), PyObject.class);
	}
	@Ptr 
	protected native static long PyMemoryView_GetContiguous(@Ptr long base, int buffertype, byte fort);
	/**
	 * Original signature : <code>PyObject* PyMemoryView_FromObject(PyObject*)</code><br>
	 * <i>native declaration : memoryobject.h:5</i>
	 */
	public static Pointer<PyObject > PyMemoryView_FromObject(Pointer<PyObject > base) {
		return Pointer.pointerToAddress(PyMemoryView_FromObject(Pointer.getPeer(base)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMemoryView_FromObject(@Ptr long base);
	/**
	 * Original signature : <code>PyObject* PyMemoryView_FromBuffer(Py_buffer*)</code><br>
	 * <i>native declaration : memoryobject.h:7</i>
	 */
	public static Pointer<PyObject > PyMemoryView_FromBuffer(Pointer<Py_buffer > info) {
		return Pointer.pointerToAddress(PyMemoryView_FromBuffer(Pointer.getPeer(info)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMemoryView_FromBuffer(@Ptr long info);
	/**
	 * Original signature : <code>PyObject* PyBuffer_FromObject(PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : bufferobject.h:3</i>
	 */
	public static Pointer<PyObject > PyBuffer_FromObject(Pointer<PyObject > base, @Ptr long offset, @Ptr long size) {
		return Pointer.pointerToAddress(PyBuffer_FromObject(Pointer.getPeer(base), offset, size), PyObject.class);
	}
	@Ptr 
	protected native static long PyBuffer_FromObject(@Ptr long base, @Ptr long offset, @Ptr long size);
	/**
	 * Original signature : <code>PyObject* PyBuffer_FromReadWriteObject(PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : bufferobject.h:5</i>
	 */
	public static Pointer<PyObject > PyBuffer_FromReadWriteObject(Pointer<PyObject > base, @Ptr long offset, @Ptr long size) {
		return Pointer.pointerToAddress(PyBuffer_FromReadWriteObject(Pointer.getPeer(base), offset, size), PyObject.class);
	}
	@Ptr 
	protected native static long PyBuffer_FromReadWriteObject(@Ptr long base, @Ptr long offset, @Ptr long size);
	/**
	 * Original signature : <code>PyObject* PyBuffer_FromMemory(void*, Py_ssize_t)</code><br>
	 * <i>native declaration : bufferobject.h:7</i>
	 */
	public static Pointer<PyObject > PyBuffer_FromMemory(Pointer<? > ptr, @Ptr long size) {
		return Pointer.pointerToAddress(PyBuffer_FromMemory(Pointer.getPeer(ptr), size), PyObject.class);
	}
	@Ptr 
	protected native static long PyBuffer_FromMemory(@Ptr long ptr, @Ptr long size);
	/**
	 * Original signature : <code>PyObject* PyBuffer_FromReadWriteMemory(void*, Py_ssize_t)</code><br>
	 * <i>native declaration : bufferobject.h:9</i>
	 */
	public static Pointer<PyObject > PyBuffer_FromReadWriteMemory(Pointer<? > ptr, @Ptr long size) {
		return Pointer.pointerToAddress(PyBuffer_FromReadWriteMemory(Pointer.getPeer(ptr), size), PyObject.class);
	}
	@Ptr 
	protected native static long PyBuffer_FromReadWriteMemory(@Ptr long ptr, @Ptr long size);
	/**
	 * Original signature : <code>PyObject* PyBuffer_New(Py_ssize_t)</code><br>
	 * <i>native declaration : bufferobject.h:11</i>
	 */
	public static Pointer<PyObject > PyBuffer_New(@Ptr long size) {
		return Pointer.pointerToAddress(PyBuffer_New$2(size), PyObject.class);
	}
	@Ptr 
	@Name("PyBuffer_New") 
	protected native static long PyBuffer_New$2(@Ptr long size);
	/**
	 * Direct API functions<br>
	 * Original signature : <code>PyObject* PyByteArray_FromObject(PyObject*)</code><br>
	 * <i>native declaration : bytearrayobject.h:17</i>
	 */
	public static Pointer<PyObject > PyByteArray_FromObject(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyByteArray_FromObject(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyByteArray_FromObject(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyByteArray_Concat(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : bytearrayobject.h:19</i>
	 */
	public static Pointer<PyObject > PyByteArray_Concat(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyByteArray_Concat(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyByteArray_Concat(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyByteArray_FromStringAndSize(const char*, Py_ssize_t)</code><br>
	 * <i>native declaration : bytearrayobject.h:21</i>
	 */
	public static Pointer<PyObject > PyByteArray_FromStringAndSize(Pointer<Byte > charPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyByteArray_FromStringAndSize(Pointer.getPeer(charPtr1), Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	protected native static long PyByteArray_FromStringAndSize(@Ptr long charPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>Py_ssize_t PyByteArray_Size(PyObject*)</code><br>
	 * <i>native declaration : bytearrayobject.h:23</i>
	 */
	@Ptr 
	public static long PyByteArray_Size(Pointer<PyObject > PyObjectPtr1) {
		return PyByteArray_Size(Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long PyByteArray_Size(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>char* PyByteArray_AsString(PyObject*)</code><br>
	 * <i>native declaration : bytearrayobject.h:25</i>
	 */
	public static Pointer<Byte > PyByteArray_AsString(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyByteArray_AsString(Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyByteArray_AsString(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyByteArray_Resize(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : bytearrayobject.h:27</i>
	 */
	public static int PyByteArray_Resize(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyByteArray_Resize(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyByteArray_Resize(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* PyTuple_New(Py_ssize_t)</code><br>
	 * <i>native declaration : tupleobject.h:9</i>
	 */
	public static Pointer<PyObject > PyTuple_New(@Ptr long size) {
		return Pointer.pointerToAddress(PyTuple_New$2(size), PyObject.class);
	}
	@Ptr 
	@Name("PyTuple_New") 
	protected native static long PyTuple_New$2(@Ptr long size);
	/**
	 * Original signature : <code>Py_ssize_t PyTuple_Size(PyObject*)</code><br>
	 * <i>native declaration : tupleobject.h:11</i>
	 */
	@Ptr 
	public static long PyTuple_Size(Pointer<PyObject > PyObjectPtr1) {
		return PyTuple_Size(Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long PyTuple_Size(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyTuple_GetItem(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : tupleobject.h:13</i>
	 */
	public static Pointer<PyObject > PyTuple_GetItem(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyTuple_GetItem(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	protected native static long PyTuple_GetItem(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyTuple_SetItem(PyObject*, Py_ssize_t, PyObject*)</code><br>
	 * <i>native declaration : tupleobject.h:15</i>
	 */
	public static int PyTuple_SetItem(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<PyObject > PyObjectPtr2) {
		return PyTuple_SetItem(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1, Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyTuple_SetItem(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyTuple_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : tupleobject.h:17</i>
	 */
	public static Pointer<PyObject > PyTuple_GetSlice(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2) {
		return Pointer.pointerToAddress(PyTuple_GetSlice(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1, Py_ssize_t2), PyObject.class);
	}
	@Ptr 
	protected native static long PyTuple_GetSlice(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2);
	/**
	 * Original signature : <code>int _PyTuple_Resize(PyObject**, Py_ssize_t)</code><br>
	 * <i>native declaration : tupleobject.h:19</i>
	 */
	public static int _PyTuple_Resize(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, @Ptr long Py_ssize_t1) {
		return _PyTuple_Resize(Pointer.getPeer(PyObjectPtrPtr1), Py_ssize_t1);
	}
	protected native static int _PyTuple_Resize(@Ptr long PyObjectPtrPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* PyTuple_Pack(Py_ssize_t, null)</code><br>
	 * <i>native declaration : tupleobject.h:21</i>
	 */
	public static Pointer<PyObject > PyTuple_Pack(@Ptr long Py_ssize_t1, Object... varargs) {
		return Pointer.pointerToAddress(PyTuple_Pack$2(Py_ssize_t1, varargs), PyObject.class);
	}
	@Ptr 
	@Name("PyTuple_Pack") 
	protected native static long PyTuple_Pack$2(@Ptr long Py_ssize_t1, Object... varargs);
	/**
	 * Original signature : <code>void _PyTuple_MaybeUntrack(PyObject*)</code><br>
	 * <i>native declaration : tupleobject.h:23</i>
	 */
	public static void _PyTuple_MaybeUntrack(Pointer<PyObject > PyObjectPtr1) {
		_PyTuple_MaybeUntrack(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void _PyTuple_MaybeUntrack(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyTuple_ClearFreeList()</code><br>
	 * <i>native declaration : tupleobject.h:25</i>
	 */
	native public static int PyTuple_ClearFreeList();
	/**
	 * Original signature : <code>PyObject* PyList_New(Py_ssize_t)</code><br>
	 * <i>native declaration : listobject.h:22</i>
	 */
	public static Pointer<PyObject > PyList_New(@Ptr long size) {
		return Pointer.pointerToAddress(PyList_New$2(size), PyObject.class);
	}
	@Ptr 
	@Name("PyList_New") 
	protected native static long PyList_New$2(@Ptr long size);
	/**
	 * Original signature : <code>Py_ssize_t PyList_Size(PyObject*)</code><br>
	 * <i>native declaration : listobject.h:24</i>
	 */
	@Ptr 
	public static long PyList_Size(Pointer<PyObject > PyObjectPtr1) {
		return PyList_Size(Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long PyList_Size(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyList_GetItem(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : listobject.h:26</i>
	 */
	public static Pointer<PyObject > PyList_GetItem(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return Pointer.pointerToAddress(PyList_GetItem(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1), PyObject.class);
	}
	@Ptr 
	protected native static long PyList_GetItem(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyList_SetItem(PyObject*, Py_ssize_t, PyObject*)</code><br>
	 * <i>native declaration : listobject.h:28</i>
	 */
	public static int PyList_SetItem(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<PyObject > PyObjectPtr2) {
		return PyList_SetItem(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1, Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyList_SetItem(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyList_Insert(PyObject*, Py_ssize_t, PyObject*)</code><br>
	 * <i>native declaration : listobject.h:30</i>
	 */
	public static int PyList_Insert(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, Pointer<PyObject > PyObjectPtr2) {
		return PyList_Insert(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1, Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyList_Insert(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyList_Append(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : listobject.h:32</i>
	 */
	public static int PyList_Append(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyList_Append(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyList_Append(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyList_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : listobject.h:34</i>
	 */
	public static Pointer<PyObject > PyList_GetSlice(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2) {
		return Pointer.pointerToAddress(PyList_GetSlice(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1, Py_ssize_t2), PyObject.class);
	}
	@Ptr 
	protected native static long PyList_GetSlice(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2);
	/**
	 * Original signature : <code>int PyList_SetSlice(PyObject*, Py_ssize_t, Py_ssize_t, PyObject*)</code><br>
	 * <i>native declaration : listobject.h:36</i>
	 */
	public static int PyList_SetSlice(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, Pointer<PyObject > PyObjectPtr2) {
		return PyList_SetSlice(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1, Py_ssize_t2, Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyList_SetSlice(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyList_Sort(PyObject*)</code><br>
	 * <i>native declaration : listobject.h:38</i>
	 */
	public static int PyList_Sort(Pointer<PyObject > PyObjectPtr1) {
		return PyList_Sort(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyList_Sort(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyList_Reverse(PyObject*)</code><br>
	 * <i>native declaration : listobject.h:40</i>
	 */
	public static int PyList_Reverse(Pointer<PyObject > PyObjectPtr1) {
		return PyList_Reverse(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyList_Reverse(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyList_AsTuple(PyObject*)</code><br>
	 * <i>native declaration : listobject.h:42</i>
	 */
	public static Pointer<PyObject > PyList_AsTuple(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyList_AsTuple(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyList_AsTuple(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* _PyList_Extend(PyListObject*, PyObject*)</code><br>
	 * <i>native declaration : listobject.h:44</i>
	 */
	public static Pointer<PyObject > _PyList_Extend(Pointer<PyListObject > PyListObjectPtr1, Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(_PyList_Extend(Pointer.getPeer(PyListObjectPtr1), Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyList_Extend(@Ptr long PyListObjectPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyDict_New()</code><br>
	 * <i>native declaration : dictobject.h:51</i>
	 */
	public static Pointer<PyObject > PyDict_New() {
		return Pointer.pointerToAddress(PyDict_New$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyDict_New") 
	protected native static long PyDict_New$2();
	/**
	 * Original signature : <code>PyObject* PyDict_GetItem(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:53</i>
	 */
	public static Pointer<PyObject > PyDict_GetItem(Pointer<PyObject > mp, Pointer<PyObject > key) {
		return Pointer.pointerToAddress(PyDict_GetItem(Pointer.getPeer(mp), Pointer.getPeer(key)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDict_GetItem(@Ptr long mp, @Ptr long key);
	/**
	 * Original signature : <code>int PyDict_SetItem(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:55</i>
	 */
	public static int PyDict_SetItem(Pointer<PyObject > mp, Pointer<PyObject > key, Pointer<PyObject > item) {
		return PyDict_SetItem(Pointer.getPeer(mp), Pointer.getPeer(key), Pointer.getPeer(item));
	}
	protected native static int PyDict_SetItem(@Ptr long mp, @Ptr long key, @Ptr long item);
	/**
	 * Original signature : <code>int PyDict_DelItem(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:57</i>
	 */
	public static int PyDict_DelItem(Pointer<PyObject > mp, Pointer<PyObject > key) {
		return PyDict_DelItem(Pointer.getPeer(mp), Pointer.getPeer(key));
	}
	protected native static int PyDict_DelItem(@Ptr long mp, @Ptr long key);
	/**
	 * Original signature : <code>void PyDict_Clear(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:59</i>
	 */
	public static void PyDict_Clear(Pointer<PyObject > mp) {
		PyDict_Clear(Pointer.getPeer(mp));
	}
	protected native static void PyDict_Clear(@Ptr long mp);
	/**
	 * Original signature : <code>int PyDict_Next(PyObject*, Py_ssize_t*, PyObject**, PyObject**)</code><br>
	 * <i>native declaration : dictobject.h:61</i>
	 */
	public static int PyDict_Next(Pointer<PyObject > mp, Pointer<SizeT > pos, Pointer<Pointer<PyObject > > key, Pointer<Pointer<PyObject > > value) {
		return PyDict_Next(Pointer.getPeer(mp), Pointer.getPeer(pos), Pointer.getPeer(key), Pointer.getPeer(value));
	}
	protected native static int PyDict_Next(@Ptr long mp, @Ptr long pos, @Ptr long key, @Ptr long value);
	/**
	 * Original signature : <code>int _PyDict_Next(PyObject*, Py_ssize_t*, PyObject**, PyObject**, long*)</code><br>
	 * <i>native declaration : dictobject.h:63</i>
	 */
	public static int _PyDict_Next(Pointer<PyObject > mp, Pointer<SizeT > pos, Pointer<Pointer<PyObject > > key, Pointer<Pointer<PyObject > > value, Pointer<org.bridj.CLong > hash) {
		return _PyDict_Next(Pointer.getPeer(mp), Pointer.getPeer(pos), Pointer.getPeer(key), Pointer.getPeer(value), Pointer.getPeer(hash));
	}
	protected native static int _PyDict_Next(@Ptr long mp, @Ptr long pos, @Ptr long key, @Ptr long value, @Ptr long hash);
	/**
	 * Original signature : <code>PyObject* PyDict_Keys(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:65</i>
	 */
	public static Pointer<PyObject > PyDict_Keys(Pointer<PyObject > mp) {
		return Pointer.pointerToAddress(PyDict_Keys(Pointer.getPeer(mp)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDict_Keys(@Ptr long mp);
	/**
	 * Original signature : <code>PyObject* PyDict_Values(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:67</i>
	 */
	public static Pointer<PyObject > PyDict_Values(Pointer<PyObject > mp) {
		return Pointer.pointerToAddress(PyDict_Values(Pointer.getPeer(mp)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDict_Values(@Ptr long mp);
	/**
	 * Original signature : <code>PyObject* PyDict_Items(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:69</i>
	 */
	public static Pointer<PyObject > PyDict_Items(Pointer<PyObject > mp) {
		return Pointer.pointerToAddress(PyDict_Items(Pointer.getPeer(mp)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDict_Items(@Ptr long mp);
	/**
	 * Original signature : <code>Py_ssize_t PyDict_Size(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:71</i>
	 */
	@Ptr 
	public static long PyDict_Size(Pointer<PyObject > mp) {
		return PyDict_Size(Pointer.getPeer(mp));
	}
	@Ptr 
	protected native static long PyDict_Size(@Ptr long mp);
	/**
	 * Original signature : <code>PyObject* PyDict_Copy(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:73</i>
	 */
	public static Pointer<PyObject > PyDict_Copy(Pointer<PyObject > mp) {
		return Pointer.pointerToAddress(PyDict_Copy(Pointer.getPeer(mp)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDict_Copy(@Ptr long mp);
	/**
	 * Original signature : <code>int PyDict_Contains(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:75</i>
	 */
	public static int PyDict_Contains(Pointer<PyObject > mp, Pointer<PyObject > key) {
		return PyDict_Contains(Pointer.getPeer(mp), Pointer.getPeer(key));
	}
	protected native static int PyDict_Contains(@Ptr long mp, @Ptr long key);
	/**
	 * Original signature : <code>int _PyDict_Contains(PyObject*, PyObject*, long)</code><br>
	 * <i>native declaration : dictobject.h:77</i>
	 */
	public static int _PyDict_Contains(Pointer<PyObject > mp, Pointer<PyObject > key, @org.bridj.ann.CLong long hash) {
		return _PyDict_Contains(Pointer.getPeer(mp), Pointer.getPeer(key), hash);
	}
	protected native static int _PyDict_Contains(@Ptr long mp, @Ptr long key, @org.bridj.ann.CLong long hash);
	/**
	 * Original signature : <code>PyObject* _PyDict_NewPresized(Py_ssize_t)</code><br>
	 * <i>native declaration : dictobject.h:79</i>
	 */
	public static Pointer<PyObject > _PyDict_NewPresized(@Ptr long minused) {
		return Pointer.pointerToAddress(_PyDict_NewPresized$2(minused), PyObject.class);
	}
	@Ptr 
	@Name("_PyDict_NewPresized") 
	protected native static long _PyDict_NewPresized$2(@Ptr long minused);
	/**
	 * Original signature : <code>void _PyDict_MaybeUntrack(PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:81</i>
	 */
	public static void _PyDict_MaybeUntrack(Pointer<PyObject > mp) {
		_PyDict_MaybeUntrack(Pointer.getPeer(mp));
	}
	protected native static void _PyDict_MaybeUntrack(@Ptr long mp);
	/**
	 * PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1).<br>
	 * Original signature : <code>int PyDict_Update(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:86</i>
	 */
	public static int PyDict_Update(Pointer<PyObject > mp, Pointer<PyObject > other) {
		return PyDict_Update(Pointer.getPeer(mp), Pointer.getPeer(other));
	}
	protected native static int PyDict_Update(@Ptr long mp, @Ptr long other);
	/**
	 * PyDict_Merge updates/merges from a mapping object (an object that<br>
	 * supports PyMapping_Keys() and PyObject_GetItem()).  If override is true,<br>
	 * the last occurrence of a key wins, else the first.  The Python<br>
	 * dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).<br>
	 * Original signature : <code>int PyDict_Merge(PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : dictobject.h:94</i>
	 */
	public static int PyDict_Merge(Pointer<PyObject > mp, Pointer<PyObject > other, int override) {
		return PyDict_Merge(Pointer.getPeer(mp), Pointer.getPeer(other), override);
	}
	protected native static int PyDict_Merge(@Ptr long mp, @Ptr long other, int override);
	/**
	 * PyDict_MergeFromSeq2 updates/merges from an iterable object producing<br>
	 * iterable objects of length 2.  If override is true, the last occurrence<br>
	 * of a key wins, else the first.  The Python dict constructor dict(seq2)<br>
	 * is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).<br>
	 * Original signature : <code>int PyDict_MergeFromSeq2(PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : dictobject.h:102</i>
	 */
	public static int PyDict_MergeFromSeq2(Pointer<PyObject > d, Pointer<PyObject > seq2, int override) {
		return PyDict_MergeFromSeq2(Pointer.getPeer(d), Pointer.getPeer(seq2), override);
	}
	protected native static int PyDict_MergeFromSeq2(@Ptr long d, @Ptr long seq2, int override);
	/**
	 * Original signature : <code>PyObject* PyDict_GetItemString(PyObject*, const char*)</code><br>
	 * <i>native declaration : dictobject.h:104</i>
	 */
	public static Pointer<PyObject > PyDict_GetItemString(Pointer<PyObject > dp, Pointer<Byte > key) {
		return Pointer.pointerToAddress(PyDict_GetItemString(Pointer.getPeer(dp), Pointer.getPeer(key)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDict_GetItemString(@Ptr long dp, @Ptr long key);
	/**
	 * Original signature : <code>int PyDict_SetItemString(PyObject*, const char*, PyObject*)</code><br>
	 * <i>native declaration : dictobject.h:106</i>
	 */
	public static int PyDict_SetItemString(Pointer<PyObject > dp, Pointer<Byte > key, Pointer<PyObject > item) {
		return PyDict_SetItemString(Pointer.getPeer(dp), Pointer.getPeer(key), Pointer.getPeer(item));
	}
	protected native static int PyDict_SetItemString(@Ptr long dp, @Ptr long key, @Ptr long item);
	/**
	 * Original signature : <code>int PyDict_DelItemString(PyObject*, const char*)</code><br>
	 * <i>native declaration : dictobject.h:108</i>
	 */
	public static int PyDict_DelItemString(Pointer<PyObject > dp, Pointer<Byte > key) {
		return PyDict_DelItemString(Pointer.getPeer(dp), Pointer.getPeer(key));
	}
	protected native static int PyDict_DelItemString(@Ptr long dp, @Ptr long key);
	/**
	 * Original signature : <code>PyObject* PySet_New(PyObject*)</code><br>
	 * <i>native declaration : setobject.h:32</i>
	 */
	public static Pointer<PyObject > PySet_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PySet_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PySet_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFrozenSet_New(PyObject*)</code><br>
	 * <i>native declaration : setobject.h:34</i>
	 */
	public static Pointer<PyObject > PyFrozenSet_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFrozenSet_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFrozenSet_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>Py_ssize_t PySet_Size(PyObject*)</code><br>
	 * <i>native declaration : setobject.h:36</i>
	 */
	@Ptr 
	public static long PySet_Size(Pointer<PyObject > anyset) {
		return PySet_Size(Pointer.getPeer(anyset));
	}
	@Ptr 
	protected native static long PySet_Size(@Ptr long anyset);
	/**
	 * Original signature : <code>int PySet_Clear(PyObject*)</code><br>
	 * <i>native declaration : setobject.h:38</i>
	 */
	public static int PySet_Clear(Pointer<PyObject > set) {
		return PySet_Clear(Pointer.getPeer(set));
	}
	protected native static int PySet_Clear(@Ptr long set);
	/**
	 * Original signature : <code>int PySet_Contains(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : setobject.h:40</i>
	 */
	public static int PySet_Contains(Pointer<PyObject > anyset, Pointer<PyObject > key) {
		return PySet_Contains(Pointer.getPeer(anyset), Pointer.getPeer(key));
	}
	protected native static int PySet_Contains(@Ptr long anyset, @Ptr long key);
	/**
	 * Original signature : <code>int PySet_Discard(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : setobject.h:42</i>
	 */
	public static int PySet_Discard(Pointer<PyObject > set, Pointer<PyObject > key) {
		return PySet_Discard(Pointer.getPeer(set), Pointer.getPeer(key));
	}
	protected native static int PySet_Discard(@Ptr long set, @Ptr long key);
	/**
	 * Original signature : <code>int PySet_Add(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : setobject.h:44</i>
	 */
	public static int PySet_Add(Pointer<PyObject > set, Pointer<PyObject > key) {
		return PySet_Add(Pointer.getPeer(set), Pointer.getPeer(key));
	}
	protected native static int PySet_Add(@Ptr long set, @Ptr long key);
	/**
	 * Original signature : <code>int _PySet_Next(PyObject*, Py_ssize_t*, PyObject**)</code><br>
	 * <i>native declaration : setobject.h:46</i>
	 */
	public static int _PySet_Next(Pointer<PyObject > set, Pointer<SizeT > pos, Pointer<Pointer<PyObject > > key) {
		return _PySet_Next(Pointer.getPeer(set), Pointer.getPeer(pos), Pointer.getPeer(key));
	}
	protected native static int _PySet_Next(@Ptr long set, @Ptr long pos, @Ptr long key);
	/**
	 * Original signature : <code>int _PySet_NextEntry(PyObject*, Py_ssize_t*, PyObject**, long*)</code><br>
	 * <i>native declaration : setobject.h:48</i>
	 */
	public static int _PySet_NextEntry(Pointer<PyObject > set, Pointer<SizeT > pos, Pointer<Pointer<PyObject > > key, Pointer<org.bridj.CLong > hash) {
		return _PySet_NextEntry(Pointer.getPeer(set), Pointer.getPeer(pos), Pointer.getPeer(key), Pointer.getPeer(hash));
	}
	protected native static int _PySet_NextEntry(@Ptr long set, @Ptr long pos, @Ptr long key, @Ptr long hash);
	/**
	 * Original signature : <code>PyObject* PySet_Pop(PyObject*)</code><br>
	 * <i>native declaration : setobject.h:50</i>
	 */
	public static Pointer<PyObject > PySet_Pop(Pointer<PyObject > set) {
		return Pointer.pointerToAddress(PySet_Pop(Pointer.getPeer(set)), PyObject.class);
	}
	@Ptr 
	protected native static long PySet_Pop(@Ptr long set);
	/**
	 * Original signature : <code>int _PySet_Update(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : setobject.h:52</i>
	 */
	public static int _PySet_Update(Pointer<PyObject > set, Pointer<PyObject > iterable) {
		return _PySet_Update(Pointer.getPeer(set), Pointer.getPeer(iterable));
	}
	protected native static int _PySet_Update(@Ptr long set, @Ptr long iterable);
	/**
	 * Original signature : <code>PyCFunction PyCFunction_GetFunction(PyObject*)</code><br>
	 * <i>native declaration : methodobject.h:6</i>
	 */
	public static Pointer<Python27Library.PyCFunction > PyCFunction_GetFunction(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyCFunction_GetFunction(Pointer.getPeer(PyObjectPtr1)), Python27Library.PyCFunction.class);
	}
	@Ptr 
	protected native static long PyCFunction_GetFunction(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyCFunction_GetSelf(PyObject*)</code><br>
	 * <i>native declaration : methodobject.h:8</i>
	 */
	public static Pointer<PyObject > PyCFunction_GetSelf(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyCFunction_GetSelf(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCFunction_GetSelf(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyCFunction_GetFlags(PyObject*)</code><br>
	 * <i>native declaration : methodobject.h:10</i>
	 */
	public static int PyCFunction_GetFlags(Pointer<PyObject > PyObjectPtr1) {
		return PyCFunction_GetFlags(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyCFunction_GetFlags(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyCFunction_Call(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : methodobject.h:12</i>
	 */
	public static Pointer<PyObject > PyCFunction_Call(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return Pointer.pointerToAddress(PyCFunction_Call(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCFunction_Call(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>PyObject* Py_FindMethod(PyMethodDef[], PyObject*, const char*)</code><br>
	 * <i>native declaration : methodobject.h:22</i>
	 */
	public static Pointer<PyObject > Py_FindMethod(Pointer<PyMethodDef > PyMethodDefArr1, Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(Py_FindMethod(Pointer.getPeer(PyMethodDefArr1), Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long Py_FindMethod(@Ptr long PyMethodDefArr1, @Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyCFunction_NewEx(PyMethodDef*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : methodobject.h:24</i>
	 */
	public static Pointer<PyObject > PyCFunction_NewEx(Pointer<PyMethodDef > PyMethodDefPtr1, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyCFunction_NewEx(Pointer.getPeer(PyMethodDefPtr1), Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCFunction_NewEx(@Ptr long PyMethodDefPtr1, @Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* Py_FindMethodInChain(PyMethodChain*, PyObject*, const char*)</code><br>
	 * <i>native declaration : methodobject.h:30</i>
	 */
	public static Pointer<PyObject > Py_FindMethodInChain(Pointer<PyMethodChain > PyMethodChainPtr1, Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(Py_FindMethodInChain(Pointer.getPeer(PyMethodChainPtr1), Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long Py_FindMethodInChain(@Ptr long PyMethodChainPtr1, @Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyCFunction_ClearFreeList()</code><br>
	 * <i>native declaration : methodobject.h:39</i>
	 */
	native public static int PyCFunction_ClearFreeList();
	/**
	 * Original signature : <code>PyObject* PyModule_New(const char*)</code><br>
	 * <i>native declaration : moduleobject.h:3</i>
	 */
	public static Pointer<PyObject > PyModule_New(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyModule_New(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyModule_New(@Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyModule_GetDict(PyObject*)</code><br>
	 * <i>native declaration : moduleobject.h:5</i>
	 */
	public static Pointer<PyObject > PyModule_GetDict(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyModule_GetDict(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyModule_GetDict(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>char* PyModule_GetName(PyObject*)</code><br>
	 * <i>native declaration : moduleobject.h:7</i>
	 */
	public static Pointer<Byte > PyModule_GetName(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyModule_GetName(Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyModule_GetName(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>char* PyModule_GetFilename(PyObject*)</code><br>
	 * <i>native declaration : moduleobject.h:9</i>
	 */
	public static Pointer<Byte > PyModule_GetFilename(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyModule_GetFilename(Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyModule_GetFilename(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void _PyModule_Clear(PyObject*)</code><br>
	 * <i>native declaration : moduleobject.h:11</i>
	 */
	public static void _PyModule_Clear(Pointer<PyObject > PyObjectPtr1) {
		_PyModule_Clear(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void _PyModule_Clear(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFunction_New(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:16</i>
	 */
	public static Pointer<PyObject > PyFunction_New(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyFunction_New(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFunction_New(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyFunction_GetCode(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:18</i>
	 */
	public static Pointer<PyObject > PyFunction_GetCode(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFunction_GetCode(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFunction_GetCode(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFunction_GetGlobals(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:20</i>
	 */
	public static Pointer<PyObject > PyFunction_GetGlobals(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFunction_GetGlobals(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFunction_GetGlobals(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFunction_GetModule(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:22</i>
	 */
	public static Pointer<PyObject > PyFunction_GetModule(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFunction_GetModule(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFunction_GetModule(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFunction_GetDefaults(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:24</i>
	 */
	public static Pointer<PyObject > PyFunction_GetDefaults(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFunction_GetDefaults(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFunction_GetDefaults(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyFunction_SetDefaults(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:26</i>
	 */
	public static int PyFunction_SetDefaults(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyFunction_SetDefaults(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyFunction_SetDefaults(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyFunction_GetClosure(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:28</i>
	 */
	public static Pointer<PyObject > PyFunction_GetClosure(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFunction_GetClosure(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFunction_GetClosure(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyFunction_SetClosure(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:30</i>
	 */
	public static int PyFunction_SetClosure(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyFunction_SetClosure(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyFunction_SetClosure(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyClassMethod_New(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:35</i>
	 */
	public static Pointer<PyObject > PyClassMethod_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyClassMethod_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyClassMethod_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyStaticMethod_New(PyObject*)</code><br>
	 * <i>native declaration : funcobject.h:37</i>
	 */
	public static Pointer<PyObject > PyStaticMethod_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyStaticMethod_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyStaticMethod_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyClass_New(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : classobject.h:32</i>
	 */
	public static Pointer<PyObject > PyClass_New(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return Pointer.pointerToAddress(PyClass_New(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyClass_New(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>PyObject* PyInstance_New(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : classobject.h:34</i>
	 */
	public static Pointer<PyObject > PyInstance_New(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return Pointer.pointerToAddress(PyInstance_New(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyInstance_New(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>PyObject* PyInstance_NewRaw(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : classobject.h:36</i>
	 */
	public static Pointer<PyObject > PyInstance_NewRaw(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyInstance_NewRaw(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyInstance_NewRaw(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyMethod_New(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : classobject.h:38</i>
	 */
	public static Pointer<PyObject > PyMethod_New(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return Pointer.pointerToAddress(PyMethod_New(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMethod_New(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>PyObject* PyMethod_Function(PyObject*)</code><br>
	 * <i>native declaration : classobject.h:40</i>
	 */
	public static Pointer<PyObject > PyMethod_Function(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyMethod_Function(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMethod_Function(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyMethod_Self(PyObject*)</code><br>
	 * <i>native declaration : classobject.h:42</i>
	 */
	public static Pointer<PyObject > PyMethod_Self(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyMethod_Self(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMethod_Self(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyMethod_Class(PyObject*)</code><br>
	 * <i>native declaration : classobject.h:44</i>
	 */
	public static Pointer<PyObject > PyMethod_Class(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyMethod_Class(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMethod_Class(@Ptr long PyObjectPtr1);
	/**
	 * Look up attribute with name (a string) on instance object pinst, using<br>
	 * only the instance and base class dicts.  If a descriptor is found in<br>
	 * a class dict, the descriptor is returned without calling it.<br>
	 * Returns NULL if nothing found, else a borrowed reference to the<br>
	 * value associated with name in the dict in which name was found.<br>
	 * The point of this routine is that it never calls arbitrary Python<br>
	 * code, so is always "safe":  all it does is dict lookups.  The function<br>
	 * can't fail, never sets an exception, and NULL is not an error (it just<br>
	 * means "not found").<br>
	 * Original signature : <code>PyObject* _PyInstance_Lookup(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : classobject.h:57</i>
	 */
	public static Pointer<PyObject > _PyInstance_Lookup(Pointer<PyObject > pinst, Pointer<PyObject > name) {
		return Pointer.pointerToAddress(_PyInstance_Lookup(Pointer.getPeer(pinst), Pointer.getPeer(name)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyInstance_Lookup(@Ptr long pinst, @Ptr long name);
	/**
	 * Original signature : <code>int PyClass_IsSubclass(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : classobject.h:59</i>
	 */
	public static int PyClass_IsSubclass(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyClass_IsSubclass(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyClass_IsSubclass(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyMethod_ClearFreeList()</code><br>
	 * <i>native declaration : classobject.h:61</i>
	 */
	native public static int PyMethod_ClearFreeList();
	/**
	 * Original signature : <code>PyObject* PyFile_FromString(char*, char*)</code><br>
	 * <i>native declaration : fileobject.h:29</i>
	 */
	public static Pointer<PyObject > PyFile_FromString(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2) {
		return Pointer.pointerToAddress(PyFile_FromString(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFile_FromString(@Ptr long charPtr1, @Ptr long charPtr2);
	/**
	 * Original signature : <code>void PyFile_SetBufSize(PyObject*, int)</code><br>
	 * <i>native declaration : fileobject.h:31</i>
	 */
	public static void PyFile_SetBufSize(Pointer<PyObject > PyObjectPtr1, int int1) {
		PyFile_SetBufSize(Pointer.getPeer(PyObjectPtr1), int1);
	}
	protected native static void PyFile_SetBufSize(@Ptr long PyObjectPtr1, int int1);
	/**
	 * Original signature : <code>int PyFile_SetEncoding(PyObject*, const char*)</code><br>
	 * <i>native declaration : fileobject.h:33</i>
	 */
	public static int PyFile_SetEncoding(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return PyFile_SetEncoding(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int PyFile_SetEncoding(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyFile_SetEncodingAndErrors(PyObject*, const char*, char*)</code><br>
	 * <i>native declaration : fileobject.h:35</i>
	 */
	public static int PyFile_SetEncodingAndErrors(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<Byte > errors) {
		return PyFile_SetEncodingAndErrors(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(errors));
	}
	protected native static int PyFile_SetEncodingAndErrors(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyFile_FromFile(FILE*, char*, char*, PyFile_FromFile_arg1_callback)</code><br>
	 * <i>native declaration : fileobject.h:37</i>
	 */
	public static Pointer<PyObject > PyFile_FromFile(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, Pointer<Python27Library.PyFile_FromFile_arg1_callback > arg1) {
		return Pointer.pointerToAddress(PyFile_FromFile(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), Pointer.getPeer(arg1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFile_FromFile(@Ptr long FILEPtr1, @Ptr long charPtr1, @Ptr long charPtr2, @Ptr long arg1);
	/**
	 * Original signature : <code>FILE* PyFile_AsFile(PyObject*)</code><br>
	 * <i>native declaration : fileobject.h:39</i>
	 */
	public static Pointer<Python27Library.FILE > PyFile_AsFile(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFile_AsFile(Pointer.getPeer(PyObjectPtr1)), Python27Library.FILE.class);
	}
	@Ptr 
	protected native static long PyFile_AsFile(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void PyFile_IncUseCount(PyFileObject*)</code><br>
	 * <i>native declaration : fileobject.h:41</i>
	 */
	public static void PyFile_IncUseCount(Pointer<PyFileObject > PyFileObjectPtr1) {
		PyFile_IncUseCount(Pointer.getPeer(PyFileObjectPtr1));
	}
	protected native static void PyFile_IncUseCount(@Ptr long PyFileObjectPtr1);
	/**
	 * Original signature : <code>void PyFile_DecUseCount(PyFileObject*)</code><br>
	 * <i>native declaration : fileobject.h:43</i>
	 */
	public static void PyFile_DecUseCount(Pointer<PyFileObject > PyFileObjectPtr1) {
		PyFile_DecUseCount(Pointer.getPeer(PyFileObjectPtr1));
	}
	protected native static void PyFile_DecUseCount(@Ptr long PyFileObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFile_Name(PyObject*)</code><br>
	 * <i>native declaration : fileobject.h:45</i>
	 */
	public static Pointer<PyObject > PyFile_Name(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyFile_Name(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyFile_Name(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyFile_GetLine(PyObject*, int)</code><br>
	 * <i>native declaration : fileobject.h:47</i>
	 */
	public static Pointer<PyObject > PyFile_GetLine(Pointer<PyObject > PyObjectPtr1, int int1) {
		return Pointer.pointerToAddress(PyFile_GetLine(Pointer.getPeer(PyObjectPtr1), int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyFile_GetLine(@Ptr long PyObjectPtr1, int int1);
	/**
	 * Original signature : <code>int PyFile_WriteObject(PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : fileobject.h:49</i>
	 */
	public static int PyFile_WriteObject(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, int int1) {
		return PyFile_WriteObject(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), int1);
	}
	protected native static int PyFile_WriteObject(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, int int1);
	/**
	 * Original signature : <code>int PyFile_SoftSpace(PyObject*, int)</code><br>
	 * <i>native declaration : fileobject.h:51</i>
	 */
	public static int PyFile_SoftSpace(Pointer<PyObject > PyObjectPtr1, int int1) {
		return PyFile_SoftSpace(Pointer.getPeer(PyObjectPtr1), int1);
	}
	protected native static int PyFile_SoftSpace(@Ptr long PyObjectPtr1, int int1);
	/**
	 * Original signature : <code>int PyFile_WriteString(const char*, PyObject*)</code><br>
	 * <i>native declaration : fileobject.h:53</i>
	 */
	public static int PyFile_WriteString(Pointer<Byte > charPtr1, Pointer<PyObject > PyObjectPtr1) {
		return PyFile_WriteString(Pointer.getPeer(charPtr1), Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyFile_WriteString(@Ptr long charPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyObject_AsFileDescriptor(PyObject*)</code><br>
	 * <i>native declaration : fileobject.h:55</i>
	 */
	public static int PyObject_AsFileDescriptor(Pointer<PyObject > PyObjectPtr1) {
		return PyObject_AsFileDescriptor(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyObject_AsFileDescriptor(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>char* Py_UniversalNewlineFgets(char*, int, FILE*, PyObject*)</code><br>
	 * <i>native declaration : fileobject.h:62</i>
	 */
	public static Pointer<Byte > Py_UniversalNewlineFgets(Pointer<Byte > charPtr1, int int1, Pointer<Python27Library.FILE > FILEPtr1, Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(Py_UniversalNewlineFgets(Pointer.getPeer(charPtr1), int1, Pointer.getPeer(FILEPtr1), Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long Py_UniversalNewlineFgets(@Ptr long charPtr1, int int1, @Ptr long FILEPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>size_t Py_UniversalNewlineFread(char*, size_t, FILE*, PyObject*)</code><br>
	 * <i>native declaration : fileobject.h:64</i>
	 */
	@Ptr 
	public static long Py_UniversalNewlineFread(Pointer<Byte > charPtr1, @Ptr long size_t1, Pointer<Python27Library.FILE > FILEPtr1, Pointer<PyObject > PyObjectPtr1) {
		return Py_UniversalNewlineFread(Pointer.getPeer(charPtr1), size_t1, Pointer.getPeer(FILEPtr1), Pointer.getPeer(PyObjectPtr1));
	}
	@Ptr 
	protected native static long Py_UniversalNewlineFread(@Ptr long charPtr1, @Ptr long size_t1, @Ptr long FILEPtr1, @Ptr long PyObjectPtr1);
	/**
	 * A routine to do sanity checking on the file mode string.  returns<br>
	 * non-zero on if an exception occurred<br>
	 * Original signature : <code>int _PyFile_SanitizeMode(char*)</code><br>
	 * <i>native declaration : fileobject.h:70</i>
	 */
	public static int _PyFile_SanitizeMode(Pointer<Byte > mode) {
		return _PyFile_SanitizeMode(Pointer.getPeer(mode));
	}
	protected native static int _PyFile_SanitizeMode(@Ptr long mode);
	/**
	 * Create a PyCObject from a pointer to a C object and an optional<br>
	 * destructor function.  If the second argument is non-null, then it<br>
	 * will be called with the first argument if and when the PyCObject is<br>
	 * destroyed.<br>
	 * Original signature : <code>PyObject* PyCObject_FromVoidPtr(void*, PyCObject_FromVoidPtr_destruct_callback)</code><br>
	 * <i>native declaration : cobject.h:9</i>
	 */
	public static Pointer<PyObject > PyCObject_FromVoidPtr(Pointer<? > cobj, Pointer<Python27Library.PyCObject_FromVoidPtr_destruct_callback > arg) {
		return Pointer.pointerToAddress(PyCObject_FromVoidPtr(Pointer.getPeer(cobj), Pointer.getPeer(arg)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCObject_FromVoidPtr(@Ptr long cobj, @Ptr long arg);
	/**
	 * Create a PyCObject from a pointer to a C object, a description object,<br>
	 * and an optional destructor function.  If the third argument is non-null,<br>
	 * then it will be called with the first and second arguments if and when <br>
	 * the PyCObject is destroyed.<br>
	 * Original signature : <code>PyObject* PyCObject_FromVoidPtrAndDesc(void*, void*, PyCObject_FromVoidPtrAndDesc_destruct_callback)</code><br>
	 * <i>native declaration : cobject.h:17</i>
	 */
	public static Pointer<PyObject > PyCObject_FromVoidPtrAndDesc(Pointer<? > cobj, Pointer<? > desc, Pointer<Python27Library.PyCObject_FromVoidPtrAndDesc_destruct_callback > arg) {
		return Pointer.pointerToAddress(PyCObject_FromVoidPtrAndDesc(Pointer.getPeer(cobj), Pointer.getPeer(desc), Pointer.getPeer(arg)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCObject_FromVoidPtrAndDesc(@Ptr long cobj, @Ptr long desc, @Ptr long arg);
	/**
	 * Retrieve a pointer to a C object from a PyCObject.<br>
	 * Original signature : <code>void* PyCObject_AsVoidPtr(PyObject*)</code><br>
	 * <i>native declaration : cobject.h:22</i>
	 */
	public static Pointer<? > PyCObject_AsVoidPtr(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyCObject_AsVoidPtr(Pointer.getPeer(PyObjectPtr1)));
	}
	@Ptr 
	protected native static long PyCObject_AsVoidPtr(@Ptr long PyObjectPtr1);
	/**
	 * Retrieve a pointer to a description object from a PyCObject.<br>
	 * Original signature : <code>void* PyCObject_GetDesc(PyObject*)</code><br>
	 * <i>native declaration : cobject.h:27</i>
	 */
	public static Pointer<? > PyCObject_GetDesc(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyCObject_GetDesc(Pointer.getPeer(PyObjectPtr1)));
	}
	@Ptr 
	protected native static long PyCObject_GetDesc(@Ptr long PyObjectPtr1);
	/**
	 * Import a pointer to a C object from a module using a PyCObject.<br>
	 * Original signature : <code>void* PyCObject_Import(char*, char*)</code><br>
	 * <i>native declaration : cobject.h:32</i>
	 */
	public static Pointer<? > PyCObject_Import(Pointer<Byte > module_name, Pointer<Byte > cobject_name) {
		return Pointer.pointerToAddress(PyCObject_Import(Pointer.getPeer(module_name), Pointer.getPeer(cobject_name)));
	}
	@Ptr 
	protected native static long PyCObject_Import(@Ptr long module_name, @Ptr long cobject_name);
	/**
	 * Modify a C object. Fails (==0) if object has a destructor.<br>
	 * Original signature : <code>int PyCObject_SetVoidPtr(PyObject*, void*)</code><br>
	 * <i>native declaration : cobject.h:37</i>
	 */
	public static int PyCObject_SetVoidPtr(Pointer<PyObject > self, Pointer<? > cobj) {
		return PyCObject_SetVoidPtr(Pointer.getPeer(self), Pointer.getPeer(cobj));
	}
	protected native static int PyCObject_SetVoidPtr(@Ptr long self, @Ptr long cobj);
	/**
	 * Original signature : <code>PyObject* PyCapsule_New(void*, const char*, PyCapsule_Destructor)</code><br>
	 * <i>native declaration : pycapsule.h:4</i>
	 */
	public static Pointer<PyObject > PyCapsule_New(Pointer<? > pointer, Pointer<Byte > name, Pointer<Python27Library.PyCapsule_Destructor > destructor) {
		return Pointer.pointerToAddress(PyCapsule_New(Pointer.getPeer(pointer), Pointer.getPeer(name), Pointer.getPeer(destructor)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCapsule_New(@Ptr long pointer, @Ptr long name, @Ptr long destructor);
	/**
	 * Original signature : <code>void* PyCapsule_GetPointer(PyObject*, const char*)</code><br>
	 * <i>native declaration : pycapsule.h:6</i>
	 */
	public static Pointer<? > PyCapsule_GetPointer(Pointer<PyObject > capsule, Pointer<Byte > name) {
		return Pointer.pointerToAddress(PyCapsule_GetPointer(Pointer.getPeer(capsule), Pointer.getPeer(name)));
	}
	@Ptr 
	protected native static long PyCapsule_GetPointer(@Ptr long capsule, @Ptr long name);
	/**
	 * Original signature : <code>PyCapsule_Destructor PyCapsule_GetDestructor(PyObject*)</code><br>
	 * <i>native declaration : pycapsule.h:8</i>
	 */
	public static Pointer<Python27Library.PyCapsule_Destructor > PyCapsule_GetDestructor(Pointer<PyObject > capsule) {
		return Pointer.pointerToAddress(PyCapsule_GetDestructor(Pointer.getPeer(capsule)), Python27Library.PyCapsule_Destructor.class);
	}
	@Ptr 
	protected native static long PyCapsule_GetDestructor(@Ptr long capsule);
	/**
	 * Original signature : <code>char* PyCapsule_GetName(PyObject*)</code><br>
	 * <i>native declaration : pycapsule.h:10</i>
	 */
	public static Pointer<Byte > PyCapsule_GetName(Pointer<PyObject > capsule) {
		return Pointer.pointerToAddress(PyCapsule_GetName(Pointer.getPeer(capsule)), Byte.class);
	}
	@Ptr 
	protected native static long PyCapsule_GetName(@Ptr long capsule);
	/**
	 * Original signature : <code>void* PyCapsule_GetContext(PyObject*)</code><br>
	 * <i>native declaration : pycapsule.h:12</i>
	 */
	public static Pointer<? > PyCapsule_GetContext(Pointer<PyObject > capsule) {
		return Pointer.pointerToAddress(PyCapsule_GetContext(Pointer.getPeer(capsule)));
	}
	@Ptr 
	protected native static long PyCapsule_GetContext(@Ptr long capsule);
	/**
	 * Original signature : <code>int PyCapsule_IsValid(PyObject*, const char*)</code><br>
	 * <i>native declaration : pycapsule.h:14</i>
	 */
	public static int PyCapsule_IsValid(Pointer<PyObject > capsule, Pointer<Byte > name) {
		return PyCapsule_IsValid(Pointer.getPeer(capsule), Pointer.getPeer(name));
	}
	protected native static int PyCapsule_IsValid(@Ptr long capsule, @Ptr long name);
	/**
	 * Original signature : <code>int PyCapsule_SetPointer(PyObject*, void*)</code><br>
	 * <i>native declaration : pycapsule.h:16</i>
	 */
	public static int PyCapsule_SetPointer(Pointer<PyObject > capsule, Pointer<? > pointer) {
		return PyCapsule_SetPointer(Pointer.getPeer(capsule), Pointer.getPeer(pointer));
	}
	protected native static int PyCapsule_SetPointer(@Ptr long capsule, @Ptr long pointer);
	/**
	 * Original signature : <code>int PyCapsule_SetDestructor(PyObject*, PyCapsule_Destructor)</code><br>
	 * <i>native declaration : pycapsule.h:18</i>
	 */
	public static int PyCapsule_SetDestructor(Pointer<PyObject > capsule, Pointer<Python27Library.PyCapsule_Destructor > destructor) {
		return PyCapsule_SetDestructor(Pointer.getPeer(capsule), Pointer.getPeer(destructor));
	}
	protected native static int PyCapsule_SetDestructor(@Ptr long capsule, @Ptr long destructor);
	/**
	 * Original signature : <code>int PyCapsule_SetName(PyObject*, const char*)</code><br>
	 * <i>native declaration : pycapsule.h:20</i>
	 */
	public static int PyCapsule_SetName(Pointer<PyObject > capsule, Pointer<Byte > name) {
		return PyCapsule_SetName(Pointer.getPeer(capsule), Pointer.getPeer(name));
	}
	protected native static int PyCapsule_SetName(@Ptr long capsule, @Ptr long name);
	/**
	 * Original signature : <code>int PyCapsule_SetContext(PyObject*, void*)</code><br>
	 * <i>native declaration : pycapsule.h:22</i>
	 */
	public static int PyCapsule_SetContext(Pointer<PyObject > capsule, Pointer<? > context) {
		return PyCapsule_SetContext(Pointer.getPeer(capsule), Pointer.getPeer(context));
	}
	protected native static int PyCapsule_SetContext(@Ptr long capsule, @Ptr long context);
	/**
	 * Original signature : <code>void* PyCapsule_Import(const char*, int)</code><br>
	 * <i>native declaration : pycapsule.h:24</i>
	 */
	public static Pointer<? > PyCapsule_Import(Pointer<Byte > name, int no_block) {
		return Pointer.pointerToAddress(PyCapsule_Import(Pointer.getPeer(name), no_block));
	}
	@Ptr 
	protected native static long PyCapsule_Import(@Ptr long name, int no_block);
	/**
	 * Original signature : <code>int PyTraceBack_Here(_frame*)</code><br>
	 * <i>native declaration : traceback.h:11</i>
	 */
	public static int PyTraceBack_Here(Pointer<Python27Library._frame > _framePtr1) {
		return PyTraceBack_Here(Pointer.getPeer(_framePtr1));
	}
	protected native static int PyTraceBack_Here(@Ptr long _framePtr1);
	/**
	 * Original signature : <code>int PyTraceBack_Print(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : traceback.h:13</i>
	 */
	public static int PyTraceBack_Print(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyTraceBack_Print(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyTraceBack_Print(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int _Py_DisplaySourceLine(PyObject*, const char*, int, int)</code><br>
	 * <i>native declaration : traceback.h:15</i>
	 */
	public static int _Py_DisplaySourceLine(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, int int1, int int2) {
		return _Py_DisplaySourceLine(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), int1, int2);
	}
	protected native static int _Py_DisplaySourceLine(@Ptr long PyObjectPtr1, @Ptr long charPtr1, int int1, int int2);
	/**
	 * Original signature : <code>PyObject* PySlice_New(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : sliceobject.h:12</i>
	 */
	public static Pointer<PyObject > PySlice_New(Pointer<PyObject > start, Pointer<PyObject > stop, Pointer<PyObject > step) {
		return Pointer.pointerToAddress(PySlice_New(Pointer.getPeer(start), Pointer.getPeer(stop), Pointer.getPeer(step)), PyObject.class);
	}
	@Ptr 
	protected native static long PySlice_New(@Ptr long start, @Ptr long stop, @Ptr long step);
	/**
	 * Original signature : <code>PyObject* _PySlice_FromIndices(Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : sliceobject.h:14</i>
	 */
	public static Pointer<PyObject > _PySlice_FromIndices(@Ptr long start, @Ptr long stop) {
		return Pointer.pointerToAddress(_PySlice_FromIndices$2(start, stop), PyObject.class);
	}
	@Ptr 
	@Name("_PySlice_FromIndices") 
	protected native static long _PySlice_FromIndices$2(@Ptr long start, @Ptr long stop);
	/**
	 * Original signature : <code>int PySlice_GetIndices(PySliceObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)</code><br>
	 * <i>native declaration : sliceobject.h:16</i>
	 */
	public static int PySlice_GetIndices(Pointer<PySliceObject > r, @Ptr long length, Pointer<SizeT > start, Pointer<SizeT > stop, Pointer<SizeT > step) {
		return PySlice_GetIndices(Pointer.getPeer(r), length, Pointer.getPeer(start), Pointer.getPeer(stop), Pointer.getPeer(step));
	}
	protected native static int PySlice_GetIndices(@Ptr long r, @Ptr long length, @Ptr long start, @Ptr long stop, @Ptr long step);
	/**
	 * Original signature : <code>int PySlice_GetIndicesEx(PySliceObject*, Py_ssize_t, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*, Py_ssize_t*)</code><br>
	 * <i>native declaration : sliceobject.h:18</i>
	 */
	public static int PySlice_GetIndicesEx(Pointer<PySliceObject > r, @Ptr long length, Pointer<SizeT > start, Pointer<SizeT > stop, Pointer<SizeT > step, Pointer<SizeT > slicelength) {
		return PySlice_GetIndicesEx(Pointer.getPeer(r), length, Pointer.getPeer(start), Pointer.getPeer(stop), Pointer.getPeer(step), Pointer.getPeer(slicelength));
	}
	protected native static int PySlice_GetIndicesEx(@Ptr long r, @Ptr long length, @Ptr long start, @Ptr long stop, @Ptr long step, @Ptr long slicelength);
	/**
	 * Original signature : <code>PyObject* PyCell_New(PyObject*)</code><br>
	 * <i>native declaration : cellobject.h:8</i>
	 */
	public static Pointer<PyObject > PyCell_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyCell_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCell_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyCell_Get(PyObject*)</code><br>
	 * <i>native declaration : cellobject.h:10</i>
	 */
	public static Pointer<PyObject > PyCell_Get(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyCell_Get(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCell_Get(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyCell_Set(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : cellobject.h:12</i>
	 */
	public static int PyCell_Set(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyCell_Set(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyCell_Set(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PySeqIter_New(PyObject*)</code><br>
	 * <i>native declaration : iterobject.h:3</i>
	 */
	public static Pointer<PyObject > PySeqIter_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PySeqIter_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PySeqIter_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyCallIter_New(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : iterobject.h:6</i>
	 */
	public static Pointer<PyObject > PyCallIter_New(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyCallIter_New(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCallIter_New(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyGen_New(_frame*)</code><br>
	 * <i>native declaration : genobject.h:18</i>
	 */
	public static Pointer<PyObject > PyGen_New(Pointer<Python27Library._frame > _framePtr1) {
		return Pointer.pointerToAddress(PyGen_New(Pointer.getPeer(_framePtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyGen_New(@Ptr long _framePtr1);
	/**
	 * Original signature : <code>int PyGen_NeedsFinalizing(PyGenObject*)</code><br>
	 * <i>native declaration : genobject.h:20</i>
	 */
	public static int PyGen_NeedsFinalizing(Pointer<PyGenObject > PyGenObjectPtr1) {
		return PyGen_NeedsFinalizing(Pointer.getPeer(PyGenObjectPtr1));
	}
	protected native static int PyGen_NeedsFinalizing(@Ptr long PyGenObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyDescr_NewMethod(PyTypeObject*, PyMethodDef*)</code><br>
	 * <i>native declaration : descrobject.h:61</i>
	 */
	public static Pointer<PyObject > PyDescr_NewMethod(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<PyMethodDef > PyMethodDefPtr1) {
		return Pointer.pointerToAddress(PyDescr_NewMethod(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyMethodDefPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDescr_NewMethod(@Ptr long PyTypeObjectPtr1, @Ptr long PyMethodDefPtr1);
	/**
	 * Original signature : <code>PyObject* PyDescr_NewClassMethod(PyTypeObject*, PyMethodDef*)</code><br>
	 * <i>native declaration : descrobject.h:63</i>
	 */
	public static Pointer<PyObject > PyDescr_NewClassMethod(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<PyMethodDef > PyMethodDefPtr1) {
		return Pointer.pointerToAddress(PyDescr_NewClassMethod(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyMethodDefPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDescr_NewClassMethod(@Ptr long PyTypeObjectPtr1, @Ptr long PyMethodDefPtr1);
	/**
	 * Original signature : <code>PyObject* PyDescr_NewMember(PyTypeObject*, PyMemberDef*)</code><br>
	 * <i>native declaration : descrobject.h:65</i>
	 */
	public static Pointer<PyObject > PyDescr_NewMember(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<Python27Library.PyMemberDef > PyMemberDefPtr1) {
		return Pointer.pointerToAddress(PyDescr_NewMember(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyMemberDefPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDescr_NewMember(@Ptr long PyTypeObjectPtr1, @Ptr long PyMemberDefPtr1);
	/**
	 * Original signature : <code>PyObject* PyDescr_NewGetSet(PyTypeObject*, PyGetSetDef*)</code><br>
	 * <i>native declaration : descrobject.h:67</i>
	 */
	public static Pointer<PyObject > PyDescr_NewGetSet(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<PyGetSetDef > PyGetSetDefPtr1) {
		return Pointer.pointerToAddress(PyDescr_NewGetSet(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(PyGetSetDefPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDescr_NewGetSet(@Ptr long PyTypeObjectPtr1, @Ptr long PyGetSetDefPtr1);
	/**
	 * Original signature : <code>PyObject* PyDescr_NewWrapper(PyTypeObject*, wrapperbase*, void*)</code><br>
	 * <i>native declaration : descrobject.h:69</i>
	 */
	public static Pointer<PyObject > PyDescr_NewWrapper(Pointer<PyTypeObject > PyTypeObjectPtr1, Pointer<wrapperbase > wrapperbasePtr1, Pointer<? > voidPtr1) {
		return Pointer.pointerToAddress(PyDescr_NewWrapper(Pointer.getPeer(PyTypeObjectPtr1), Pointer.getPeer(wrapperbasePtr1), Pointer.getPeer(voidPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDescr_NewWrapper(@Ptr long PyTypeObjectPtr1, @Ptr long wrapperbasePtr1, @Ptr long voidPtr1);
	/**
	 * Original signature : <code>PyObject* PyDictProxy_New(PyObject*)</code><br>
	 * <i>native declaration : descrobject.h:71</i>
	 */
	public static Pointer<PyObject > PyDictProxy_New(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyDictProxy_New(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyDictProxy_New(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyWrapper_New(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : descrobject.h:73</i>
	 */
	public static Pointer<PyObject > PyWrapper_New(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyWrapper_New(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyWrapper_New(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>void _PyWarnings_Init()</code><br>
	 * <i>native declaration : warnings.h:2</i>
	 */
	native public static void _PyWarnings_Init();
	/**
	 * Original signature : <code>int PyErr_WarnEx(PyObject*, const char*, Py_ssize_t)</code><br>
	 * <i>native declaration : warnings.h:4</i>
	 */
	public static int PyErr_WarnEx(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, @Ptr long Py_ssize_t1) {
		return PyErr_WarnEx(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Py_ssize_t1);
	}
	protected native static int PyErr_WarnEx(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyErr_WarnExplicit(PyObject*, const char*, const char*, int, const char*, PyObject*)</code><br>
	 * <i>native declaration : warnings.h:6</i>
	 */
	public static int PyErr_WarnExplicit(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, int int1, Pointer<Byte > charPtr3, Pointer<PyObject > PyObjectPtr2) {
		return PyErr_WarnExplicit(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), int1, Pointer.getPeer(charPtr3), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyErr_WarnExplicit(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long charPtr2, int int1, @Ptr long charPtr3, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyWeakref_NewRef(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : weakrefobject.h:39</i>
	 */
	public static Pointer<PyObject > PyWeakref_NewRef(Pointer<PyObject > ob, Pointer<PyObject > callback) {
		return Pointer.pointerToAddress(PyWeakref_NewRef(Pointer.getPeer(ob), Pointer.getPeer(callback)), PyObject.class);
	}
	@Ptr 
	protected native static long PyWeakref_NewRef(@Ptr long ob, @Ptr long callback);
	/**
	 * Original signature : <code>PyObject* PyWeakref_NewProxy(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : weakrefobject.h:41</i>
	 */
	public static Pointer<PyObject > PyWeakref_NewProxy(Pointer<PyObject > ob, Pointer<PyObject > callback) {
		return Pointer.pointerToAddress(PyWeakref_NewProxy(Pointer.getPeer(ob), Pointer.getPeer(callback)), PyObject.class);
	}
	@Ptr 
	protected native static long PyWeakref_NewProxy(@Ptr long ob, @Ptr long callback);
	/**
	 * Original signature : <code>PyObject* PyWeakref_GetObject(PyObject*)</code><br>
	 * <i>native declaration : weakrefobject.h:43</i>
	 */
	public static Pointer<PyObject > PyWeakref_GetObject(Pointer<PyObject > ref) {
		return Pointer.pointerToAddress(PyWeakref_GetObject(Pointer.getPeer(ref)), PyObject.class);
	}
	@Ptr 
	protected native static long PyWeakref_GetObject(@Ptr long ref);
	/**
	 * Original signature : <code>Py_ssize_t _PyWeakref_GetWeakrefCount(PyWeakReference*)</code><br>
	 * <i>native declaration : weakrefobject.h:45</i>
	 */
	@Ptr 
	public static long _PyWeakref_GetWeakrefCount(Pointer<PyWeakReference > head) {
		return _PyWeakref_GetWeakrefCount(Pointer.getPeer(head));
	}
	@Ptr 
	protected native static long _PyWeakref_GetWeakrefCount(@Ptr long head);
	/**
	 * Original signature : <code>void _PyWeakref_ClearRef(PyWeakReference*)</code><br>
	 * <i>native declaration : weakrefobject.h:47</i>
	 */
	public static void _PyWeakref_ClearRef(Pointer<PyWeakReference > self) {
		_PyWeakref_ClearRef(Pointer.getPeer(self));
	}
	protected native static void _PyWeakref_ClearRef(@Ptr long self);
	/**
	 * Original signature : <code>int PyCodec_Register(PyObject*)</code><br>
	 * <i>native declaration : codecs.h:2</i>
	 */
	public static int PyCodec_Register(Pointer<PyObject > search_function) {
		return PyCodec_Register(Pointer.getPeer(search_function));
	}
	protected native static int PyCodec_Register(@Ptr long search_function);
	/**
	 * Original signature : <code>PyObject* _PyCodec_Lookup(const char*)</code><br>
	 * <i>native declaration : codecs.h:4</i>
	 */
	public static Pointer<PyObject > _PyCodec_Lookup(Pointer<Byte > encoding) {
		return Pointer.pointerToAddress(_PyCodec_Lookup(Pointer.getPeer(encoding)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyCodec_Lookup(@Ptr long encoding);
	/**
	 * Original signature : <code>PyObject* PyCodec_Encode(PyObject*, const char*, const char*)</code><br>
	 * <i>native declaration : codecs.h:6</i>
	 */
	public static Pointer<PyObject > PyCodec_Encode(Pointer<PyObject > object, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyCodec_Encode(Pointer.getPeer(object), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_Encode(@Ptr long object, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyCodec_Decode(PyObject*, const char*, const char*)</code><br>
	 * <i>native declaration : codecs.h:8</i>
	 */
	public static Pointer<PyObject > PyCodec_Decode(Pointer<PyObject > object, Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyCodec_Decode(Pointer.getPeer(object), Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_Decode(@Ptr long object, @Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyCodec_Encoder(const char*)</code><br>
	 * <i>native declaration : codecs.h:10</i>
	 */
	public static Pointer<PyObject > PyCodec_Encoder(Pointer<Byte > encoding) {
		return Pointer.pointerToAddress(PyCodec_Encoder(Pointer.getPeer(encoding)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_Encoder(@Ptr long encoding);
	/**
	 * Original signature : <code>PyObject* PyCodec_Decoder(const char*)</code><br>
	 * <i>native declaration : codecs.h:12</i>
	 */
	public static Pointer<PyObject > PyCodec_Decoder(Pointer<Byte > encoding) {
		return Pointer.pointerToAddress(PyCodec_Decoder(Pointer.getPeer(encoding)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_Decoder(@Ptr long encoding);
	/**
	 * Original signature : <code>PyObject* PyCodec_IncrementalEncoder(const char*, const char*)</code><br>
	 * <i>native declaration : codecs.h:14</i>
	 */
	public static Pointer<PyObject > PyCodec_IncrementalEncoder(Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyCodec_IncrementalEncoder(Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_IncrementalEncoder(@Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyCodec_IncrementalDecoder(const char*, const char*)</code><br>
	 * <i>native declaration : codecs.h:16</i>
	 */
	public static Pointer<PyObject > PyCodec_IncrementalDecoder(Pointer<Byte > encoding, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyCodec_IncrementalDecoder(Pointer.getPeer(encoding), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_IncrementalDecoder(@Ptr long encoding, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyCodec_StreamReader(const char*, PyObject*, const char*)</code><br>
	 * <i>native declaration : codecs.h:18</i>
	 */
	public static Pointer<PyObject > PyCodec_StreamReader(Pointer<Byte > encoding, Pointer<PyObject > stream, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyCodec_StreamReader(Pointer.getPeer(encoding), Pointer.getPeer(stream), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_StreamReader(@Ptr long encoding, @Ptr long stream, @Ptr long errors);
	/**
	 * Original signature : <code>PyObject* PyCodec_StreamWriter(const char*, PyObject*, const char*)</code><br>
	 * <i>native declaration : codecs.h:20</i>
	 */
	public static Pointer<PyObject > PyCodec_StreamWriter(Pointer<Byte > encoding, Pointer<PyObject > stream, Pointer<Byte > errors) {
		return Pointer.pointerToAddress(PyCodec_StreamWriter(Pointer.getPeer(encoding), Pointer.getPeer(stream), Pointer.getPeer(errors)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_StreamWriter(@Ptr long encoding, @Ptr long stream, @Ptr long errors);
	/**
	 * Register the error handling callback function error under the given<br>
	 * name. This function will be called by the codec when it encounters<br>
	 * unencodable characters/undecodable bytes and doesn't know the<br>
	 * callback name, when name is specified as the error parameter<br>
	 * in the call to the encode/decode function.<br>
	 * Return 0 on success, -1 on error<br>
	 * Original signature : <code>int PyCodec_RegisterError(const char*, PyObject*)</code><br>
	 * <i>native declaration : codecs.h:30</i>
	 */
	public static int PyCodec_RegisterError(Pointer<Byte > name, Pointer<PyObject > error) {
		return PyCodec_RegisterError(Pointer.getPeer(name), Pointer.getPeer(error));
	}
	protected native static int PyCodec_RegisterError(@Ptr long name, @Ptr long error);
	/**
	 * Lookup the error handling callback function registered under the given<br>
	 * name. As a special case NULL can be passed, in which case<br>
	 * the error handling callback for "strict" will be returned.<br>
	 * Original signature : <code>PyObject* PyCodec_LookupError(const char*)</code><br>
	 * <i>native declaration : codecs.h:37</i>
	 */
	public static Pointer<PyObject > PyCodec_LookupError(Pointer<Byte > name) {
		return Pointer.pointerToAddress(PyCodec_LookupError(Pointer.getPeer(name)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_LookupError(@Ptr long name);
	/**
	 * raise exc as an exception<br>
	 * Original signature : <code>PyObject* PyCodec_StrictErrors(PyObject*)</code><br>
	 * <i>native declaration : codecs.h:42</i>
	 */
	public static Pointer<PyObject > PyCodec_StrictErrors(Pointer<PyObject > exc) {
		return Pointer.pointerToAddress(PyCodec_StrictErrors(Pointer.getPeer(exc)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_StrictErrors(@Ptr long exc);
	/**
	 * ignore the unicode error, skipping the faulty input<br>
	 * Original signature : <code>PyObject* PyCodec_IgnoreErrors(PyObject*)</code><br>
	 * <i>native declaration : codecs.h:47</i>
	 */
	public static Pointer<PyObject > PyCodec_IgnoreErrors(Pointer<PyObject > exc) {
		return Pointer.pointerToAddress(PyCodec_IgnoreErrors(Pointer.getPeer(exc)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_IgnoreErrors(@Ptr long exc);
	/**
	 * replace the unicode encode error with ? or U+FFFD<br>
	 * Original signature : <code>PyObject* PyCodec_ReplaceErrors(PyObject*)</code><br>
	 * <i>native declaration : codecs.h:52</i>
	 */
	public static Pointer<PyObject > PyCodec_ReplaceErrors(Pointer<PyObject > exc) {
		return Pointer.pointerToAddress(PyCodec_ReplaceErrors(Pointer.getPeer(exc)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_ReplaceErrors(@Ptr long exc);
	/**
	 * replace the unicode encode error with XML character references<br>
	 * Original signature : <code>PyObject* PyCodec_XMLCharRefReplaceErrors(PyObject*)</code><br>
	 * <i>native declaration : codecs.h:57</i>
	 */
	public static Pointer<PyObject > PyCodec_XMLCharRefReplaceErrors(Pointer<PyObject > exc) {
		return Pointer.pointerToAddress(PyCodec_XMLCharRefReplaceErrors(Pointer.getPeer(exc)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_XMLCharRefReplaceErrors(@Ptr long exc);
	/**
	 * replace the unicode encode error with backslash escapes (\x, \\u and \U)<br>
	 * Original signature : <code>PyObject* PyCodec_BackslashReplaceErrors(PyObject*)</code><br>
	 * <i>native declaration : codecs.h:62</i>
	 */
	public static Pointer<PyObject > PyCodec_BackslashReplaceErrors(Pointer<PyObject > exc) {
		return Pointer.pointerToAddress(PyCodec_BackslashReplaceErrors(Pointer.getPeer(exc)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCodec_BackslashReplaceErrors(@Ptr long exc);
	/**
	 * Original signature : <code>void PyErr_SetNone(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:51</i>
	 */
	public static void PyErr_SetNone(Pointer<PyObject > PyObjectPtr1) {
		PyErr_SetNone(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyErr_SetNone(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void PyErr_SetObject(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:53</i>
	 */
	public static void PyErr_SetObject(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		PyErr_SetObject(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static void PyErr_SetObject(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>void PyErr_SetString(PyObject*, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:55</i>
	 */
	public static void PyErr_SetString(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		PyErr_SetString(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static void PyErr_SetString(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyErr_Occurred()</code><br>
	 * <i>native declaration : pyerrors.h:57</i>
	 */
	public static Pointer<PyObject > PyErr_Occurred() {
		return Pointer.pointerToAddress(PyErr_Occurred$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyErr_Occurred") 
	protected native static long PyErr_Occurred$2();
	/**
	 * Original signature : <code>void PyErr_Clear()</code><br>
	 * <i>native declaration : pyerrors.h:59</i>
	 */
	native public static void PyErr_Clear();
	/**
	 * Original signature : <code>void PyErr_Fetch(PyObject**, PyObject**, PyObject**)</code><br>
	 * <i>native declaration : pyerrors.h:61</i>
	 */
	public static void PyErr_Fetch(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr2, Pointer<Pointer<PyObject > > PyObjectPtrPtr3) {
		PyErr_Fetch(Pointer.getPeer(PyObjectPtrPtr1), Pointer.getPeer(PyObjectPtrPtr2), Pointer.getPeer(PyObjectPtrPtr3));
	}
	protected native static void PyErr_Fetch(@Ptr long PyObjectPtrPtr1, @Ptr long PyObjectPtrPtr2, @Ptr long PyObjectPtrPtr3);
	/**
	 * Original signature : <code>void PyErr_Restore(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:63</i>
	 */
	public static void PyErr_Restore(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		PyErr_Restore(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3));
	}
	protected native static void PyErr_Restore(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Error testing and normalization<br>
	 * Original signature : <code>int PyErr_GivenExceptionMatches(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:68</i>
	 */
	public static int PyErr_GivenExceptionMatches(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyErr_GivenExceptionMatches(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyErr_GivenExceptionMatches(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyErr_ExceptionMatches(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:70</i>
	 */
	public static int PyErr_ExceptionMatches(Pointer<PyObject > PyObjectPtr1) {
		return PyErr_ExceptionMatches(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyErr_ExceptionMatches(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void PyErr_NormalizeException(PyObject**, PyObject**, PyObject**)</code><br>
	 * <i>native declaration : pyerrors.h:72</i>
	 */
	public static void PyErr_NormalizeException(Pointer<Pointer<PyObject > > PyObjectPtrPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr2, Pointer<Pointer<PyObject > > PyObjectPtrPtr3) {
		PyErr_NormalizeException(Pointer.getPeer(PyObjectPtrPtr1), Pointer.getPeer(PyObjectPtrPtr2), Pointer.getPeer(PyObjectPtrPtr3));
	}
	protected native static void PyErr_NormalizeException(@Ptr long PyObjectPtrPtr1, @Ptr long PyObjectPtrPtr2, @Ptr long PyObjectPtrPtr3);
	/**
	 * Original signature : <code>int PyErr_BadArgument()</code><br>
	 * <i>native declaration : pyerrors.h:125</i>
	 */
	native public static int PyErr_BadArgument();
	/**
	 * Original signature : <code>PyObject* PyErr_NoMemory()</code><br>
	 * <i>native declaration : pyerrors.h:127</i>
	 */
	public static Pointer<PyObject > PyErr_NoMemory() {
		return Pointer.pointerToAddress(PyErr_NoMemory$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyErr_NoMemory") 
	protected native static long PyErr_NoMemory$2();
	/**
	 * Original signature : <code>PyObject* PyErr_SetFromErrno(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:129</i>
	 */
	public static Pointer<PyObject > PyErr_SetFromErrno(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyErr_SetFromErrno(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_SetFromErrno(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyErr_SetFromErrnoWithFilenameObject(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:131</i>
	 */
	public static Pointer<PyObject > PyErr_SetFromErrnoWithFilenameObject(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyErr_SetFromErrnoWithFilenameObject(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_SetFromErrnoWithFilenameObject(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyErr_SetFromErrnoWithFilename(PyObject*, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:133</i>
	 */
	public static Pointer<PyObject > PyErr_SetFromErrnoWithFilename(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyErr_SetFromErrnoWithFilename(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_SetFromErrnoWithFilename(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyErr_Format(PyObject*, const char*, null)</code><br>
	 * <i>native declaration : pyerrors.h:135</i>
	 */
	public static Pointer<PyObject > PyErr_Format(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Object... varargs) {
		return Pointer.pointerToAddress(PyErr_Format(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_Format(@Ptr long PyObjectPtr1, @Ptr long charPtr1, Object... varargs);
	/**
	 * Export the old function so that the existing API remains available:<br>
	 * Original signature : <code>void PyErr_BadInternalCall()</code><br>
	 * <i>native declaration : pyerrors.h:140</i>
	 */
	native public static void PyErr_BadInternalCall();
	/**
	 * Original signature : <code>void _PyErr_BadInternalCall(char*, int)</code><br>
	 * <i>native declaration : pyerrors.h:142</i>
	 */
	public static void _PyErr_BadInternalCall(Pointer<Byte > filename, int lineno) {
		_PyErr_BadInternalCall(Pointer.getPeer(filename), lineno);
	}
	protected native static void _PyErr_BadInternalCall(@Ptr long filename, int lineno);
	/**
	 * Function to create a new exception<br>
	 * Original signature : <code>PyObject* PyErr_NewException(char*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:147</i>
	 */
	public static Pointer<PyObject > PyErr_NewException(Pointer<Byte > name, Pointer<PyObject > base, Pointer<PyObject > dict) {
		return Pointer.pointerToAddress(PyErr_NewException(Pointer.getPeer(name), Pointer.getPeer(base), Pointer.getPeer(dict)), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_NewException(@Ptr long name, @Ptr long base, @Ptr long dict);
	/**
	 * Original signature : <code>PyObject* PyErr_NewExceptionWithDoc(char*, char*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:149</i>
	 */
	public static Pointer<PyObject > PyErr_NewExceptionWithDoc(Pointer<Byte > name, Pointer<Byte > doc, Pointer<PyObject > base, Pointer<PyObject > dict) {
		return Pointer.pointerToAddress(PyErr_NewExceptionWithDoc(Pointer.getPeer(name), Pointer.getPeer(doc), Pointer.getPeer(base), Pointer.getPeer(dict)), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_NewExceptionWithDoc(@Ptr long name, @Ptr long doc, @Ptr long base, @Ptr long dict);
	/**
	 * Original signature : <code>void PyErr_WriteUnraisable(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:151</i>
	 */
	public static void PyErr_WriteUnraisable(Pointer<PyObject > PyObjectPtr1) {
		PyErr_WriteUnraisable(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyErr_WriteUnraisable(@Ptr long PyObjectPtr1);
	/**
	 * In sigcheck.c or signalmodule.c<br>
	 * Original signature : <code>int PyErr_CheckSignals()</code><br>
	 * <i>native declaration : pyerrors.h:156</i>
	 */
	native public static int PyErr_CheckSignals();
	/**
	 * Original signature : <code>void PyErr_SetInterrupt()</code><br>
	 * <i>native declaration : pyerrors.h:158</i>
	 */
	native public static void PyErr_SetInterrupt();
	/**
	 * In signalmodule.c<br>
	 * Original signature : <code>int PySignal_SetWakeupFd(int)</code><br>
	 * <i>native declaration : pyerrors.h:163</i>
	 */
	native public static int PySignal_SetWakeupFd(int fd);
	/**
	 * Support for adding program text to SyntaxErrors<br>
	 * Original signature : <code>void PyErr_SyntaxLocation(const char*, int)</code><br>
	 * <i>native declaration : pyerrors.h:168</i>
	 */
	public static void PyErr_SyntaxLocation(Pointer<Byte > charPtr1, int int1) {
		PyErr_SyntaxLocation(Pointer.getPeer(charPtr1), int1);
	}
	protected native static void PyErr_SyntaxLocation(@Ptr long charPtr1, int int1);
	/**
	 * Original signature : <code>PyObject* PyErr_ProgramText(const char*, int)</code><br>
	 * <i>native declaration : pyerrors.h:170</i>
	 */
	public static Pointer<PyObject > PyErr_ProgramText(Pointer<Byte > charPtr1, int int1) {
		return Pointer.pointerToAddress(PyErr_ProgramText(Pointer.getPeer(charPtr1), int1), PyObject.class);
	}
	@Ptr 
	protected native static long PyErr_ProgramText(@Ptr long charPtr1, int int1);
	/**
	 * create a UnicodeDecodeError object<br>
	 * Original signature : <code>PyObject* PyUnicodeDecodeError_Create(const char*, const char*, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:175</i>
	 */
	public static Pointer<PyObject > PyUnicodeDecodeError_Create(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long Py_ssize_t3, Pointer<Byte > charPtr3) {
		return Pointer.pointerToAddress(PyUnicodeDecodeError_Create(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), Py_ssize_t1, Py_ssize_t2, Py_ssize_t3, Pointer.getPeer(charPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeDecodeError_Create(@Ptr long charPtr1, @Ptr long charPtr2, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long Py_ssize_t3, @Ptr long charPtr3);
	/**
	 * create a UnicodeEncodeError object<br>
	 * Original signature : <code>PyObject* PyUnicodeEncodeError_Create(const char*, const Py_UNICODE*, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:180</i>
	 */
	public static Pointer<PyObject > PyUnicodeEncodeError_Create(Pointer<Byte > charPtr1, Pointer<Integer > Py_UNICODEPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long Py_ssize_t3, Pointer<Byte > charPtr2) {
		return Pointer.pointerToAddress(PyUnicodeEncodeError_Create(Pointer.getPeer(charPtr1), Pointer.getPeer(Py_UNICODEPtr1), Py_ssize_t1, Py_ssize_t2, Py_ssize_t3, Pointer.getPeer(charPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeEncodeError_Create(@Ptr long charPtr1, @Ptr long Py_UNICODEPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long Py_ssize_t3, @Ptr long charPtr2);
	/**
	 * create a UnicodeTranslateError object<br>
	 * Original signature : <code>PyObject* PyUnicodeTranslateError_Create(const Py_UNICODE*, Py_ssize_t, Py_ssize_t, Py_ssize_t, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:185</i>
	 */
	public static Pointer<PyObject > PyUnicodeTranslateError_Create(Pointer<Integer > Py_UNICODEPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long Py_ssize_t3, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyUnicodeTranslateError_Create(Pointer.getPeer(Py_UNICODEPtr1), Py_ssize_t1, Py_ssize_t2, Py_ssize_t3, Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeTranslateError_Create(@Ptr long Py_UNICODEPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, @Ptr long Py_ssize_t3, @Ptr long charPtr1);
	/**
	 * get the encoding attribute<br>
	 * Original signature : <code>PyObject* PyUnicodeEncodeError_GetEncoding(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:190</i>
	 */
	public static Pointer<PyObject > PyUnicodeEncodeError_GetEncoding(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeEncodeError_GetEncoding(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeEncodeError_GetEncoding(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyUnicodeDecodeError_GetEncoding(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:192</i>
	 */
	public static Pointer<PyObject > PyUnicodeDecodeError_GetEncoding(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeDecodeError_GetEncoding(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeDecodeError_GetEncoding(@Ptr long PyObjectPtr1);
	/**
	 * get the object attribute<br>
	 * Original signature : <code>PyObject* PyUnicodeEncodeError_GetObject(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:197</i>
	 */
	public static Pointer<PyObject > PyUnicodeEncodeError_GetObject(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeEncodeError_GetObject(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeEncodeError_GetObject(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyUnicodeDecodeError_GetObject(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:199</i>
	 */
	public static Pointer<PyObject > PyUnicodeDecodeError_GetObject(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeDecodeError_GetObject(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeDecodeError_GetObject(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyUnicodeTranslateError_GetObject(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:201</i>
	 */
	public static Pointer<PyObject > PyUnicodeTranslateError_GetObject(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeTranslateError_GetObject(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeTranslateError_GetObject(@Ptr long PyObjectPtr1);
	/**
	 * get the value of the start attribute (the int * may not be NULL)<br>
	 * return 0 on success, -1 on failure<br>
	 * Original signature : <code>int PyUnicodeEncodeError_GetStart(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : pyerrors.h:207</i>
	 */
	public static int PyUnicodeEncodeError_GetStart(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return PyUnicodeEncodeError_GetStart(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int PyUnicodeEncodeError_GetStart(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * Original signature : <code>int PyUnicodeDecodeError_GetStart(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : pyerrors.h:209</i>
	 */
	public static int PyUnicodeDecodeError_GetStart(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return PyUnicodeDecodeError_GetStart(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int PyUnicodeDecodeError_GetStart(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * Original signature : <code>int PyUnicodeTranslateError_GetStart(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : pyerrors.h:211</i>
	 */
	public static int PyUnicodeTranslateError_GetStart(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return PyUnicodeTranslateError_GetStart(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int PyUnicodeTranslateError_GetStart(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * assign a new value to the start attribute<br>
	 * return 0 on success, -1 on failure<br>
	 * Original signature : <code>int PyUnicodeEncodeError_SetStart(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : pyerrors.h:217</i>
	 */
	public static int PyUnicodeEncodeError_SetStart(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyUnicodeEncodeError_SetStart(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyUnicodeEncodeError_SetStart(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyUnicodeDecodeError_SetStart(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : pyerrors.h:219</i>
	 */
	public static int PyUnicodeDecodeError_SetStart(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyUnicodeDecodeError_SetStart(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyUnicodeDecodeError_SetStart(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyUnicodeTranslateError_SetStart(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : pyerrors.h:221</i>
	 */
	public static int PyUnicodeTranslateError_SetStart(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyUnicodeTranslateError_SetStart(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyUnicodeTranslateError_SetStart(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * get the value of the end attribute (the int *may not be NULL)<br>
	 * return 0 on success, -1 on failure<br>
	 * Original signature : <code>int PyUnicodeEncodeError_GetEnd(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : pyerrors.h:227</i>
	 */
	public static int PyUnicodeEncodeError_GetEnd(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return PyUnicodeEncodeError_GetEnd(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int PyUnicodeEncodeError_GetEnd(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * Original signature : <code>int PyUnicodeDecodeError_GetEnd(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : pyerrors.h:229</i>
	 */
	public static int PyUnicodeDecodeError_GetEnd(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return PyUnicodeDecodeError_GetEnd(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int PyUnicodeDecodeError_GetEnd(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * Original signature : <code>int PyUnicodeTranslateError_GetEnd(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : pyerrors.h:231</i>
	 */
	public static int PyUnicodeTranslateError_GetEnd(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return PyUnicodeTranslateError_GetEnd(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int PyUnicodeTranslateError_GetEnd(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * assign a new value to the end attribute<br>
	 * return 0 on success, -1 on failure<br>
	 * Original signature : <code>int PyUnicodeEncodeError_SetEnd(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : pyerrors.h:237</i>
	 */
	public static int PyUnicodeEncodeError_SetEnd(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyUnicodeEncodeError_SetEnd(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyUnicodeEncodeError_SetEnd(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyUnicodeDecodeError_SetEnd(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : pyerrors.h:239</i>
	 */
	public static int PyUnicodeDecodeError_SetEnd(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyUnicodeDecodeError_SetEnd(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyUnicodeDecodeError_SetEnd(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyUnicodeTranslateError_SetEnd(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : pyerrors.h:241</i>
	 */
	public static int PyUnicodeTranslateError_SetEnd(Pointer<PyObject > PyObjectPtr1, @Ptr long Py_ssize_t1) {
		return PyUnicodeTranslateError_SetEnd(Pointer.getPeer(PyObjectPtr1), Py_ssize_t1);
	}
	protected native static int PyUnicodeTranslateError_SetEnd(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_t1);
	/**
	 * get the value of the reason attribute<br>
	 * Original signature : <code>PyObject* PyUnicodeEncodeError_GetReason(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:246</i>
	 */
	public static Pointer<PyObject > PyUnicodeEncodeError_GetReason(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeEncodeError_GetReason(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeEncodeError_GetReason(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyUnicodeDecodeError_GetReason(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:248</i>
	 */
	public static Pointer<PyObject > PyUnicodeDecodeError_GetReason(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeDecodeError_GetReason(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeDecodeError_GetReason(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyUnicodeTranslateError_GetReason(PyObject*)</code><br>
	 * <i>native declaration : pyerrors.h:250</i>
	 */
	public static Pointer<PyObject > PyUnicodeTranslateError_GetReason(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyUnicodeTranslateError_GetReason(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyUnicodeTranslateError_GetReason(@Ptr long PyObjectPtr1);
	/**
	 * assign a new value to the reason attribute<br>
	 * return 0 on success, -1 on failure<br>
	 * Original signature : <code>int PyUnicodeEncodeError_SetReason(PyObject*, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:256</i>
	 */
	public static int PyUnicodeEncodeError_SetReason(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return PyUnicodeEncodeError_SetReason(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int PyUnicodeEncodeError_SetReason(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyUnicodeDecodeError_SetReason(PyObject*, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:258</i>
	 */
	public static int PyUnicodeDecodeError_SetReason(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return PyUnicodeDecodeError_SetReason(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int PyUnicodeDecodeError_SetReason(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyUnicodeTranslateError_SetReason(PyObject*, const char*)</code><br>
	 * <i>native declaration : pyerrors.h:260</i>
	 */
	public static int PyUnicodeTranslateError_SetReason(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return PyUnicodeTranslateError_SetReason(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int PyUnicodeTranslateError_SetReason(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyOS_snprintf(char*, size_t, const char*, null)</code><br>
	 * <i>native declaration : pyerrors.h:1</i>
	 */
	public static int PyOS_snprintf(Pointer<Byte > str, @Ptr long size, Pointer<Byte > format, Object... varargs) {
		return PyOS_snprintf(Pointer.getPeer(str), size, Pointer.getPeer(format), varargs);
	}
	protected native static int PyOS_snprintf(@Ptr long str, @Ptr long size, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>int PyOS_vsnprintf(char*, size_t, const char*, va_list)</code><br>
	 * <i>native declaration : pyerrors.h:3</i>
	 */
	public static int PyOS_vsnprintf(Pointer<Byte > str, @Ptr long size, Pointer<Byte > format, Python27Library.__gnuc_va_list va) {
		return PyOS_vsnprintf(Pointer.getPeer(str), size, Pointer.getPeer(format), Pointer.getPeer(va));
	}
	protected native static int PyOS_vsnprintf(@Ptr long str, @Ptr long size, @Ptr long format, @Ptr long va);
	/**
	 * Original signature : <code>PyInterpreterState* PyInterpreterState_New()</code><br>
	 * <i>native declaration : pystate.h:62</i>
	 */
	public static Pointer<PyInterpreterState > PyInterpreterState_New() {
		return Pointer.pointerToAddress(PyInterpreterState_New$2(), PyInterpreterState.class);
	}
	@Ptr 
	@Name("PyInterpreterState_New") 
	protected native static long PyInterpreterState_New$2();
	/**
	 * Original signature : <code>void PyInterpreterState_Clear(PyInterpreterState*)</code><br>
	 * <i>native declaration : pystate.h:64</i>
	 */
	public static void PyInterpreterState_Clear(Pointer<PyInterpreterState > PyInterpreterStatePtr1) {
		PyInterpreterState_Clear(Pointer.getPeer(PyInterpreterStatePtr1));
	}
	protected native static void PyInterpreterState_Clear(@Ptr long PyInterpreterStatePtr1);
	/**
	 * Original signature : <code>void PyInterpreterState_Delete(PyInterpreterState*)</code><br>
	 * <i>native declaration : pystate.h:66</i>
	 */
	public static void PyInterpreterState_Delete(Pointer<PyInterpreterState > PyInterpreterStatePtr1) {
		PyInterpreterState_Delete(Pointer.getPeer(PyInterpreterStatePtr1));
	}
	protected native static void PyInterpreterState_Delete(@Ptr long PyInterpreterStatePtr1);
	/**
	 * Original signature : <code>PyThreadState* PyThreadState_New(PyInterpreterState*)</code><br>
	 * <i>native declaration : pystate.h:68</i>
	 */
	public static Pointer<PyThreadState > PyThreadState_New(Pointer<PyInterpreterState > PyInterpreterStatePtr1) {
		return Pointer.pointerToAddress(PyThreadState_New(Pointer.getPeer(PyInterpreterStatePtr1)), PyThreadState.class);
	}
	@Ptr 
	protected native static long PyThreadState_New(@Ptr long PyInterpreterStatePtr1);
	/**
	 * Original signature : <code>PyThreadState* _PyThreadState_Prealloc(PyInterpreterState*)</code><br>
	 * <i>native declaration : pystate.h:70</i>
	 */
	public static Pointer<PyThreadState > _PyThreadState_Prealloc(Pointer<PyInterpreterState > PyInterpreterStatePtr1) {
		return Pointer.pointerToAddress(_PyThreadState_Prealloc(Pointer.getPeer(PyInterpreterStatePtr1)), PyThreadState.class);
	}
	@Ptr 
	protected native static long _PyThreadState_Prealloc(@Ptr long PyInterpreterStatePtr1);
	/**
	 * Original signature : <code>void _PyThreadState_Init(PyThreadState*)</code><br>
	 * <i>native declaration : pystate.h:72</i>
	 */
	public static void _PyThreadState_Init(Pointer<PyThreadState > PyThreadStatePtr1) {
		_PyThreadState_Init(Pointer.getPeer(PyThreadStatePtr1));
	}
	protected native static void _PyThreadState_Init(@Ptr long PyThreadStatePtr1);
	/**
	 * Original signature : <code>void PyThreadState_Clear(PyThreadState*)</code><br>
	 * <i>native declaration : pystate.h:74</i>
	 */
	public static void PyThreadState_Clear(Pointer<PyThreadState > PyThreadStatePtr1) {
		PyThreadState_Clear(Pointer.getPeer(PyThreadStatePtr1));
	}
	protected native static void PyThreadState_Clear(@Ptr long PyThreadStatePtr1);
	/**
	 * Original signature : <code>void PyThreadState_Delete(PyThreadState*)</code><br>
	 * <i>native declaration : pystate.h:76</i>
	 */
	public static void PyThreadState_Delete(Pointer<PyThreadState > PyThreadStatePtr1) {
		PyThreadState_Delete(Pointer.getPeer(PyThreadStatePtr1));
	}
	protected native static void PyThreadState_Delete(@Ptr long PyThreadStatePtr1);
	/**
	 * Original signature : <code>void PyThreadState_DeleteCurrent()</code><br>
	 * <i>native declaration : pystate.h:78</i>
	 */
	native public static void PyThreadState_DeleteCurrent();
	/**
	 * Original signature : <code>PyThreadState* PyThreadState_Get()</code><br>
	 * <i>native declaration : pystate.h:80</i>
	 */
	public static Pointer<PyThreadState > PyThreadState_Get() {
		return Pointer.pointerToAddress(PyThreadState_Get$2(), PyThreadState.class);
	}
	@Ptr 
	@Name("PyThreadState_Get") 
	protected native static long PyThreadState_Get$2();
	/**
	 * Original signature : <code>PyThreadState* PyThreadState_Swap(PyThreadState*)</code><br>
	 * <i>native declaration : pystate.h:82</i>
	 */
	public static Pointer<PyThreadState > PyThreadState_Swap(Pointer<PyThreadState > PyThreadStatePtr1) {
		return Pointer.pointerToAddress(PyThreadState_Swap(Pointer.getPeer(PyThreadStatePtr1)), PyThreadState.class);
	}
	@Ptr 
	protected native static long PyThreadState_Swap(@Ptr long PyThreadStatePtr1);
	/**
	 * Original signature : <code>PyObject* PyThreadState_GetDict()</code><br>
	 * <i>native declaration : pystate.h:84</i>
	 */
	public static Pointer<PyObject > PyThreadState_GetDict() {
		return Pointer.pointerToAddress(PyThreadState_GetDict$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyThreadState_GetDict") 
	protected native static long PyThreadState_GetDict$2();
	/**
	 * Original signature : <code>int PyThreadState_SetAsyncExc(long, PyObject*)</code><br>
	 * <i>native declaration : pystate.h:86</i>
	 */
	public static int PyThreadState_SetAsyncExc(@org.bridj.ann.CLong long l1, Pointer<PyObject > PyObjectPtr1) {
		return PyThreadState_SetAsyncExc(l1, Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyThreadState_SetAsyncExc(@org.bridj.ann.CLong long l1, @Ptr long PyObjectPtr1);
	/**
	 * Ensure that the current thread is ready to call the Python<br>
	 * C API, regardless of the current state of Python, or of its<br>
	 * thread lock.  This may be called as many times as desired<br>
	 * by a thread so long as each call is matched with a call to<br>
	 * PyGILState_Release().  In general, other thread-state APIs may<br>
	 * be used between _Ensure() and _Release() calls, so long as the<br>
	 * thread-state is restored to its previous state before the Release().<br>
	 * For example, normal use of the Py_BEGIN_ALLOW_THREADS/<br>
	 * Py_END_ALLOW_THREADS macros are acceptable.<br>
	 * The return value is an opaque "handle" to the thread state when<br>
	 * PyGILState_Ensure() was called, and must be passed to<br>
	 * PyGILState_Release() to ensure Python is left in the same state. Even<br>
	 * though recursive calls are allowed, these handles can *not* be shared -<br>
	 * each unique call to PyGILState_Ensure must save the handle for its<br>
	 * call to PyGILState_Release.<br>
	 * When the function returns, the current thread will hold the GIL.<br>
	 * Failure is a fatal error.<br>
	 * Original signature : <code>PyGILState_STATE PyGILState_Ensure()</code><br>
	 * <i>native declaration : pystate.h:112</i>
	 */
	public static IntValuedEnum<Python27Library.PyGILState_STATE > PyGILState_Ensure() {
		return FlagSet.fromValue(PyGILState_Ensure$2(), Python27Library.PyGILState_STATE.class);
	}
	@Name("PyGILState_Ensure") 
	protected native static int PyGILState_Ensure$2();
	/**
	 * Release any resources previously acquired.  After this call, Python's<br>
	 * state will be the same as it was prior to the corresponding<br>
	 * PyGILState_Ensure() call (but generally this state will be unknown to<br>
	 * the caller, hence the use of the GILState API.)<br>
	 * Every call to PyGILState_Ensure must be matched by a call to<br>
	 * PyGILState_Release on the same thread.<br>
	 * Original signature : <code>void PyGILState_Release(PyGILState_STATE)</code><br>
	 * <i>native declaration : pystate.h:122</i>
	 */
	public static void PyGILState_Release(IntValuedEnum<Python27Library.PyGILState_STATE > PyGILState_STATE1) {
		PyGILState_Release((int)PyGILState_STATE1.value());
	}
	protected native static void PyGILState_Release(int PyGILState_STATE1);
	/**
	 * Helper/diagnostic function - get the current thread state for<br>
	 * this thread.  May return NULL if no GILState API has been used<br>
	 * on the current thread.  Note that the main thread always has such a<br>
	 * thread-state, even if no auto-thread-state call has been made<br>
	 * on the main thread.<br>
	 * Original signature : <code>PyThreadState* PyGILState_GetThisThreadState()</code><br>
	 * <i>native declaration : pystate.h:131</i>
	 */
	public static Pointer<PyThreadState > PyGILState_GetThisThreadState() {
		return Pointer.pointerToAddress(PyGILState_GetThisThreadState$2(), PyThreadState.class);
	}
	@Ptr 
	@Name("PyGILState_GetThisThreadState") 
	protected native static long PyGILState_GetThisThreadState$2();
	/**
	 * The implementation of sys._current_frames()  Returns a dict mapping<br>
	 * thread id to that thread's current frame.<br>
	 * Original signature : <code>PyObject* _PyThread_CurrentFrames()</code><br>
	 * <i>native declaration : pystate.h:137</i>
	 */
	public static Pointer<PyObject > _PyThread_CurrentFrames() {
		return Pointer.pointerToAddress(_PyThread_CurrentFrames$2(), PyObject.class);
	}
	@Ptr 
	@Name("_PyThread_CurrentFrames") 
	protected native static long _PyThread_CurrentFrames$2();
	/**
	 * Routines for advanced debuggers, requested by David Beazley.<br>
	 * Don't use unless you know what you are doing!<br>
	 * Original signature : <code>PyInterpreterState* PyInterpreterState_Head()</code><br>
	 * <i>native declaration : pystate.h:143</i>
	 */
	public static Pointer<PyInterpreterState > PyInterpreterState_Head() {
		return Pointer.pointerToAddress(PyInterpreterState_Head$2(), PyInterpreterState.class);
	}
	@Ptr 
	@Name("PyInterpreterState_Head") 
	protected native static long PyInterpreterState_Head$2();
	/**
	 * Original signature : <code>PyInterpreterState* PyInterpreterState_Next(PyInterpreterState*)</code><br>
	 * <i>native declaration : pystate.h:145</i>
	 */
	public static Pointer<PyInterpreterState > PyInterpreterState_Next(Pointer<PyInterpreterState > PyInterpreterStatePtr1) {
		return Pointer.pointerToAddress(PyInterpreterState_Next(Pointer.getPeer(PyInterpreterStatePtr1)), PyInterpreterState.class);
	}
	@Ptr 
	protected native static long PyInterpreterState_Next(@Ptr long PyInterpreterStatePtr1);
	/**
	 * Original signature : <code>PyThreadState* PyInterpreterState_ThreadHead(PyInterpreterState*)</code><br>
	 * <i>native declaration : pystate.h:147</i>
	 */
	public static Pointer<PyThreadState > PyInterpreterState_ThreadHead(Pointer<PyInterpreterState > PyInterpreterStatePtr1) {
		return Pointer.pointerToAddress(PyInterpreterState_ThreadHead(Pointer.getPeer(PyInterpreterStatePtr1)), PyThreadState.class);
	}
	@Ptr 
	protected native static long PyInterpreterState_ThreadHead(@Ptr long PyInterpreterStatePtr1);
	/**
	 * Original signature : <code>PyThreadState* PyThreadState_Next(PyThreadState*)</code><br>
	 * <i>native declaration : pystate.h:149</i>
	 */
	public static Pointer<PyThreadState > PyThreadState_Next(Pointer<PyThreadState > PyThreadStatePtr1) {
		return Pointer.pointerToAddress(PyThreadState_Next(Pointer.getPeer(PyThreadStatePtr1)), PyThreadState.class);
	}
	@Ptr 
	protected native static long PyThreadState_Next(@Ptr long PyThreadStatePtr1);
	/**
	 * PyArena_New() and PyArena_Free() create a new arena and free it,<br>
	 * respectively.  Once an arena has been created, it can be used<br>
	 * to allocate memory via PyArena_Malloc().  Pointers to PyObject can<br>
	 * also be registered with the arena via PyArena_AddPyObject(), and the<br>
	 * arena will ensure that the PyObjects stay alive at least until<br>
	 * PyArena_Free() is called.  When an arena is freed, all the memory it<br>
	 * allocated is freed, the arena releases internal references to registered<br>
	 * PyObject*, and none of its pointers are valid.<br>
	 * XXX (tim) What does "none of its pointers are valid" mean?  Does it<br>
	 * XXX mean that pointers previously obtained via PyArena_Malloc() are<br>
	 * XXX no longer valid?  (That's clearly true, but not sure that's what<br>
	 * XXX the text is trying to say.)<br>
	 * PyArena_New() returns an arena pointer.  On error, it<br>
	 * returns a negative number and sets an exception.<br>
	 * XXX (tim):  Not true.  On error, PyArena_New() actually returns NULL,<br>
	 * XXX and looks like it may or may not set an exception (e.g., if the<br>
	 * XXX internal PyList_New(0) returns NULL, PyArena_New() passes that on<br>
	 * XXX and an exception is set; OTOH, if the internal<br>
	 * XXX block_new(DEFAULT_BLOCK_SIZE) returns NULL, that's passed on but<br>
	 * XXX an exception is not set in that case).<br>
	 * Original signature : <code>PyArena* PyArena_New()</code><br>
	 * <i>native declaration : pyarena.h:25</i>
	 */
	public static Pointer<Python27Library._arena > PyArena_New() {
		return Pointer.pointerToAddress(PyArena_New$2(), Python27Library._arena.class);
	}
	@Ptr 
	@Name("PyArena_New") 
	protected native static long PyArena_New$2();
	/**
	 * Original signature : <code>void PyArena_Free(PyArena*)</code><br>
	 * <i>native declaration : pyarena.h:27</i>
	 */
	public static void PyArena_Free(Pointer<Python27Library._arena > PyArenaPtr1) {
		PyArena_Free(Pointer.getPeer(PyArenaPtr1));
	}
	protected native static void PyArena_Free(@Ptr long PyArenaPtr1);
	/**
	 * Mostly like malloc(), return the address of a block of memory spanning<br>
	 * `size` bytes, or return NULL (without setting an exception) if enough<br>
	 * new memory can't be obtained.  Unlike malloc(0), PyArena_Malloc() with<br>
	 * size=0 does not guarantee to return a unique pointer (the pointer<br>
	 * returned may equal one or more other pointers obtained from<br>
	 * PyArena_Malloc()).<br>
	 * Note that pointers obtained via PyArena_Malloc() must never be passed to<br>
	 * the system free() or realloc(), or to any of Python's similar memory-<br>
	 * management functions.  PyArena_Malloc()-obtained pointers remain valid<br>
	 * until PyArena_Free(ar) is called, at which point all pointers obtained<br>
	 * from the arena `ar` become invalid simultaneously.<br>
	 * Original signature : <code>void* PyArena_Malloc(PyArena*, size_t)</code><br>
	 * <i>native declaration : pyarena.h:42</i>
	 */
	public static Pointer<? > PyArena_Malloc(Pointer<Python27Library._arena > PyArenaPtr1, @Ptr long size) {
		return Pointer.pointerToAddress(PyArena_Malloc(Pointer.getPeer(PyArenaPtr1), size));
	}
	@Ptr 
	protected native static long PyArena_Malloc(@Ptr long PyArenaPtr1, @Ptr long size);
	/**
	 * This routine isn't a proper arena allocation routine.  It takes<br>
	 * a PyObject* and records it so that it can be DECREFed when the<br>
	 * arena is freed.<br>
	 * Original signature : <code>int PyArena_AddPyObject(PyArena*, PyObject*)</code><br>
	 * <i>native declaration : pyarena.h:49</i>
	 */
	public static int PyArena_AddPyObject(Pointer<Python27Library._arena > PyArenaPtr1, Pointer<PyObject > PyObjectPtr1) {
		return PyArena_AddPyObject(Pointer.getPeer(PyArenaPtr1), Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PyArena_AddPyObject(@Ptr long PyArenaPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* _Py_VaBuildValue_SizeT(const char*)</code><br>
	 * <i>native declaration : modsupport.h:1</i>
	 */
	public static Pointer<PyObject > _Py_VaBuildValue_SizeT(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(_Py_VaBuildValue_SizeT(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long _Py_VaBuildValue_SizeT(@Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyArg_Parse(PyObject*, const char*, null)</code><br>
	 * <i>native declaration : modsupport.h:3</i>
	 */
	public static int PyArg_Parse(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Object... varargs) {
		return PyArg_Parse(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), varargs);
	}
	protected native static int PyArg_Parse(@Ptr long PyObjectPtr1, @Ptr long charPtr1, Object... varargs);
	/**
	 * Original signature : <code>int PyArg_ParseTuple(PyObject*, const char*, null)</code><br>
	 * <i>native declaration : modsupport.h:5</i>
	 */
	public static int PyArg_ParseTuple(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Object... varargs) {
		return PyArg_ParseTuple(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), varargs);
	}
	protected native static int PyArg_ParseTuple(@Ptr long PyObjectPtr1, @Ptr long charPtr1, Object... varargs);
	/**
	 * Original signature : <code>int PyArg_ParseTupleAndKeywords(PyObject*, PyObject*, const char*, char**, null)</code><br>
	 * <i>native declaration : modsupport.h:7</i>
	 */
	public static int PyArg_ParseTupleAndKeywords(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<Byte > charPtr1, Pointer<Pointer<Byte > > charPtrPtr1, Object... varargs) {
		return PyArg_ParseTupleAndKeywords(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(charPtr1), Pointer.getPeer(charPtrPtr1), varargs);
	}
	protected native static int PyArg_ParseTupleAndKeywords(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long charPtr1, @Ptr long charPtrPtr1, Object... varargs);
	/**
	 * Original signature : <code>int PyArg_UnpackTuple(PyObject*, const char*, Py_ssize_t, Py_ssize_t, null)</code><br>
	 * <i>native declaration : modsupport.h:9</i>
	 */
	public static int PyArg_UnpackTuple(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, Object... varargs) {
		return PyArg_UnpackTuple(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Py_ssize_t1, Py_ssize_t2, varargs);
	}
	protected native static int PyArg_UnpackTuple(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long Py_ssize_t1, @Ptr long Py_ssize_t2, Object... varargs);
	/**
	 * Original signature : <code>PyObject* Py_BuildValue(const char*, null)</code><br>
	 * <i>native declaration : modsupport.h:11</i>
	 */
	public static Pointer<PyObject > Py_BuildValue(Pointer<Byte > charPtr1, Object... varargs) {
		return Pointer.pointerToAddress(Py_BuildValue(Pointer.getPeer(charPtr1), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long Py_BuildValue(@Ptr long charPtr1, Object... varargs);
	/**
	 * Original signature : <code>PyObject* _Py_BuildValue_SizeT(const char*, null)</code><br>
	 * <i>native declaration : modsupport.h:13</i>
	 */
	public static Pointer<PyObject > _Py_BuildValue_SizeT(Pointer<Byte > charPtr1, Object... varargs) {
		return Pointer.pointerToAddress(_Py_BuildValue_SizeT(Pointer.getPeer(charPtr1), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long _Py_BuildValue_SizeT(@Ptr long charPtr1, Object... varargs);
	/**
	 * Original signature : <code>int _PyArg_NoKeywords(const char*, PyObject*)</code><br>
	 * <i>native declaration : modsupport.h:15</i>
	 */
	public static int _PyArg_NoKeywords(Pointer<Byte > funcname, Pointer<PyObject > kw) {
		return _PyArg_NoKeywords(Pointer.getPeer(funcname), Pointer.getPeer(kw));
	}
	protected native static int _PyArg_NoKeywords(@Ptr long funcname, @Ptr long kw);
	/**
	 * Original signature : <code>int PyArg_VaParse(PyObject*, const char*)</code><br>
	 * <i>native declaration : modsupport.h:17</i>
	 */
	public static int PyArg_VaParse(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1) {
		return PyArg_VaParse(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int PyArg_VaParse(@Ptr long PyObjectPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyArg_VaParseTupleAndKeywords(PyObject*, PyObject*, const char*, char**)</code><br>
	 * <i>native declaration : modsupport.h:19</i>
	 */
	public static int PyArg_VaParseTupleAndKeywords(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<Byte > charPtr1, Pointer<Pointer<Byte > > charPtrPtr1) {
		return PyArg_VaParseTupleAndKeywords(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(charPtr1), Pointer.getPeer(charPtrPtr1));
	}
	protected native static int PyArg_VaParseTupleAndKeywords(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long charPtr1, @Ptr long charPtrPtr1);
	/**
	 * Original signature : <code>PyObject* Py_VaBuildValue(const char*)</code><br>
	 * <i>native declaration : modsupport.h:21</i>
	 */
	public static Pointer<PyObject > Py_VaBuildValue(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(Py_VaBuildValue(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long Py_VaBuildValue(@Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyModule_AddObject(PyObject*, const char*, PyObject*)</code><br>
	 * <i>native declaration : modsupport.h:23</i>
	 */
	public static int PyModule_AddObject(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<PyObject > PyObjectPtr2) {
		return PyModule_AddObject(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyObjectPtr2));
	}
	protected native static int PyModule_AddObject(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>int PyModule_AddIntConstant(PyObject*, const char*, long)</code><br>
	 * <i>native declaration : modsupport.h:25</i>
	 */
	public static int PyModule_AddIntConstant(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, @org.bridj.ann.CLong long l1) {
		return PyModule_AddIntConstant(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), l1);
	}
	protected native static int PyModule_AddIntConstant(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @org.bridj.ann.CLong long l1);
	/**
	 * Original signature : <code>int PyModule_AddStringConstant(PyObject*, const char*, const char*)</code><br>
	 * <i>native declaration : modsupport.h:27</i>
	 */
	public static int PyModule_AddStringConstant(Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr1, Pointer<Byte > charPtr2) {
		return PyModule_AddStringConstant(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2));
	}
	protected native static int PyModule_AddStringConstant(@Ptr long PyObjectPtr1, @Ptr long charPtr1, @Ptr long charPtr2);
	/**
	 * Original signature : <code>PyObject* Py_InitModule4_64(const char*, PyMethodDef*, const char*, PyObject*, int)</code><br>
	 * <i>native declaration : modsupport.h:29</i>
	 */
	public static Pointer<PyObject > Py_InitModule4_64(Pointer<Byte > name, Pointer<PyMethodDef > methods, Pointer<Byte > doc, Pointer<PyObject > self, int apiver) {
		return Pointer.pointerToAddress(Py_InitModule4_64(Pointer.getPeer(name), Pointer.getPeer(methods), Pointer.getPeer(doc), Pointer.getPeer(self), apiver), PyObject.class);
	}
	@Ptr 
	protected native static long Py_InitModule4_64(@Ptr long name, @Ptr long methods, @Ptr long doc, @Ptr long self, int apiver);
	/**
	 * Original signature : <code>void Py_SetProgramName(char*)</code><br>
	 * <i>native declaration : pythonrun.h:5</i>
	 */
	public static void Py_SetProgramName(Pointer<Byte > charPtr1) {
		Py_SetProgramName(Pointer.getPeer(charPtr1));
	}
	protected native static void Py_SetProgramName(@Ptr long charPtr1);
	/**
	 * Original signature : <code>char* Py_GetProgramName()</code><br>
	 * <i>native declaration : pythonrun.h:7</i>
	 */
	public static Pointer<Byte > Py_GetProgramName() {
		return Pointer.pointerToAddress(Py_GetProgramName$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetProgramName") 
	protected native static long Py_GetProgramName$2();
	/**
	 * Original signature : <code>void Py_SetPythonHome(char*)</code><br>
	 * <i>native declaration : pythonrun.h:9</i>
	 */
	public static void Py_SetPythonHome(Pointer<Byte > charPtr1) {
		Py_SetPythonHome(Pointer.getPeer(charPtr1));
	}
	protected native static void Py_SetPythonHome(@Ptr long charPtr1);
	/**
	 * Original signature : <code>char* Py_GetPythonHome()</code><br>
	 * <i>native declaration : pythonrun.h:11</i>
	 */
	public static Pointer<Byte > Py_GetPythonHome() {
		return Pointer.pointerToAddress(Py_GetPythonHome$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetPythonHome") 
	protected native static long Py_GetPythonHome$2();
	/**
	 * Original signature : <code>void Py_Initialize()</code><br>
	 * <i>native declaration : pythonrun.h:13</i>
	 */
	native public static void Py_Initialize();
	/**
	 * Original signature : <code>void Py_InitializeEx(int)</code><br>
	 * <i>native declaration : pythonrun.h:15</i>
	 */
	native public static void Py_InitializeEx(int int1);
	/**
	 * Original signature : <code>void Py_Finalize()</code><br>
	 * <i>native declaration : pythonrun.h:17</i>
	 */
	native public static void Py_Finalize();
	/**
	 * Original signature : <code>int Py_IsInitialized()</code><br>
	 * <i>native declaration : pythonrun.h:19</i>
	 */
	native public static int Py_IsInitialized();
	/**
	 * Original signature : <code>PyThreadState* Py_NewInterpreter()</code><br>
	 * <i>native declaration : pythonrun.h:21</i>
	 */
	public static Pointer<PyThreadState > Py_NewInterpreter() {
		return Pointer.pointerToAddress(Py_NewInterpreter$2(), PyThreadState.class);
	}
	@Ptr 
	@Name("Py_NewInterpreter") 
	protected native static long Py_NewInterpreter$2();
	/**
	 * Original signature : <code>void Py_EndInterpreter(PyThreadState*)</code><br>
	 * <i>native declaration : pythonrun.h:23</i>
	 */
	public static void Py_EndInterpreter(Pointer<PyThreadState > PyThreadStatePtr1) {
		Py_EndInterpreter(Pointer.getPeer(PyThreadStatePtr1));
	}
	protected native static void Py_EndInterpreter(@Ptr long PyThreadStatePtr1);
	/**
	 * Original signature : <code>int PyRun_AnyFileFlags(FILE*, const char*, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:25</i>
	 */
	public static int PyRun_AnyFileFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return PyRun_AnyFileFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyCompilerFlagsPtr1));
	}
	protected native static int PyRun_AnyFileFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>int PyRun_AnyFileExFlags(FILE*, const char*, int, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:27</i>
	 */
	public static int PyRun_AnyFileExFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, int int1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return PyRun_AnyFileExFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), int1, Pointer.getPeer(PyCompilerFlagsPtr1));
	}
	protected native static int PyRun_AnyFileExFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, int int1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>int PyRun_SimpleStringFlags(const char*, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:29</i>
	 */
	public static int PyRun_SimpleStringFlags(Pointer<Byte > charPtr1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return PyRun_SimpleStringFlags(Pointer.getPeer(charPtr1), Pointer.getPeer(PyCompilerFlagsPtr1));
	}
	protected native static int PyRun_SimpleStringFlags(@Ptr long charPtr1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>int PyRun_SimpleFileExFlags(FILE*, const char*, int, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:31</i>
	 */
	public static int PyRun_SimpleFileExFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, int int1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return PyRun_SimpleFileExFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), int1, Pointer.getPeer(PyCompilerFlagsPtr1));
	}
	protected native static int PyRun_SimpleFileExFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, int int1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>int PyRun_InteractiveOneFlags(FILE*, const char*, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:33</i>
	 */
	public static int PyRun_InteractiveOneFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return PyRun_InteractiveOneFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyCompilerFlagsPtr1));
	}
	protected native static int PyRun_InteractiveOneFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>int PyRun_InteractiveLoopFlags(FILE*, const char*, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:35</i>
	 */
	public static int PyRun_InteractiveLoopFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return PyRun_InteractiveLoopFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyCompilerFlagsPtr1));
	}
	protected native static int PyRun_InteractiveLoopFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>_mod* PyParser_ASTFromString(const char*, const char*, int, PyCompilerFlags*, PyArena*)</code><br>
	 * <i>native declaration : pythonrun.h:37</i>
	 */
	public static Pointer<Python27Library._mod > PyParser_ASTFromString(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, int int1, Pointer<PyCompilerFlags > flags, Pointer<Python27Library._arena > PyArenaPtr1) {
		return Pointer.pointerToAddress(PyParser_ASTFromString(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), int1, Pointer.getPeer(flags), Pointer.getPeer(PyArenaPtr1)), Python27Library._mod.class);
	}
	@Ptr 
	protected native static long PyParser_ASTFromString(@Ptr long charPtr1, @Ptr long charPtr2, int int1, @Ptr long flags, @Ptr long PyArenaPtr1);
	/**
	 * Original signature : <code>_mod* PyParser_ASTFromFile(FILE*, const char*, int, char*, char*, PyCompilerFlags*, int*, PyArena*)</code><br>
	 * <i>native declaration : pythonrun.h:39</i>
	 */
	public static Pointer<Python27Library._mod > PyParser_ASTFromFile(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, int int1, Pointer<Byte > charPtr2, Pointer<Byte > charPtr3, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1, Pointer<Integer > intPtr1, Pointer<Python27Library._arena > PyArenaPtr1) {
		return Pointer.pointerToAddress(PyParser_ASTFromFile(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), int1, Pointer.getPeer(charPtr2), Pointer.getPeer(charPtr3), Pointer.getPeer(PyCompilerFlagsPtr1), Pointer.getPeer(intPtr1), Pointer.getPeer(PyArenaPtr1)), Python27Library._mod.class);
	}
	@Ptr 
	protected native static long PyParser_ASTFromFile(@Ptr long FILEPtr1, @Ptr long charPtr1, int int1, @Ptr long charPtr2, @Ptr long charPtr3, @Ptr long PyCompilerFlagsPtr1, @Ptr long intPtr1, @Ptr long PyArenaPtr1);
	/**
	 * Original signature : <code>_node* PyParser_SimpleParseStringFlags(const char*, int, int)</code><br>
	 * <i>native declaration : pythonrun.h:41</i>
	 */
	public static Pointer<Python27Library._node > PyParser_SimpleParseStringFlags(Pointer<Byte > charPtr1, int int1, int int2) {
		return Pointer.pointerToAddress(PyParser_SimpleParseStringFlags(Pointer.getPeer(charPtr1), int1, int2), Python27Library._node.class);
	}
	@Ptr 
	protected native static long PyParser_SimpleParseStringFlags(@Ptr long charPtr1, int int1, int int2);
	/**
	 * Original signature : <code>_node* PyParser_SimpleParseFileFlags(FILE*, const char*, int, int)</code><br>
	 * <i>native declaration : pythonrun.h:43</i>
	 */
	public static Pointer<Python27Library._node > PyParser_SimpleParseFileFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, int int1, int int2) {
		return Pointer.pointerToAddress(PyParser_SimpleParseFileFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), int1, int2), Python27Library._node.class);
	}
	@Ptr 
	protected native static long PyParser_SimpleParseFileFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, int int1, int int2);
	/**
	 * Original signature : <code>PyObject* PyRun_StringFlags(const char*, int, PyObject*, PyObject*, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:45</i>
	 */
	public static Pointer<PyObject > PyRun_StringFlags(Pointer<Byte > charPtr1, int int1, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return Pointer.pointerToAddress(PyRun_StringFlags(Pointer.getPeer(charPtr1), int1, Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyCompilerFlagsPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyRun_StringFlags(@Ptr long charPtr1, int int1, @Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>PyObject* PyRun_FileExFlags(FILE*, const char*, int, PyObject*, PyObject*, int, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:47</i>
	 */
	public static Pointer<PyObject > PyRun_FileExFlags(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1, int int1, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, int int2, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return Pointer.pointerToAddress(PyRun_FileExFlags(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1), int1, Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), int2, Pointer.getPeer(PyCompilerFlagsPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyRun_FileExFlags(@Ptr long FILEPtr1, @Ptr long charPtr1, int int1, @Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, int int2, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>PyObject* Py_CompileStringFlags(const char*, const char*, int, PyCompilerFlags*)</code><br>
	 * <i>native declaration : pythonrun.h:49</i>
	 */
	public static Pointer<PyObject > Py_CompileStringFlags(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, int int1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1) {
		return Pointer.pointerToAddress(Py_CompileStringFlags(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), int1, Pointer.getPeer(PyCompilerFlagsPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long Py_CompileStringFlags(@Ptr long charPtr1, @Ptr long charPtr2, int int1, @Ptr long PyCompilerFlagsPtr1);
	/**
	 * Original signature : <code>symtable* Py_SymtableString(const char*, const char*, int)</code><br>
	 * <i>native declaration : pythonrun.h:51</i>
	 */
	public static Pointer<Python27Library.symtable > Py_SymtableString(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, int int1) {
		return Pointer.pointerToAddress(Py_SymtableString(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), int1), Python27Library.symtable.class);
	}
	@Ptr 
	protected native static long Py_SymtableString(@Ptr long charPtr1, @Ptr long charPtr2, int int1);
	/**
	 * Original signature : <code>void PyErr_Print()</code><br>
	 * <i>native declaration : pythonrun.h:53</i>
	 */
	native public static void PyErr_Print();
	/**
	 * Original signature : <code>void PyErr_PrintEx(int)</code><br>
	 * <i>native declaration : pythonrun.h:55</i>
	 */
	native public static void PyErr_PrintEx(int int1);
	/**
	 * Original signature : <code>void PyErr_Display(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : pythonrun.h:57</i>
	 */
	public static void PyErr_Display(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		PyErr_Display(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3));
	}
	protected native static void PyErr_Display(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>int Py_AtExit(Py_AtExit_func_callback)</code><br>
	 * <i>native declaration : pythonrun.h:59</i>
	 */
	public static int Py_AtExit(Pointer<Python27Library.Py_AtExit_func_callback > arg) {
		return Py_AtExit(Pointer.getPeer(arg));
	}
	protected native static int Py_AtExit(@Ptr long arg);
	/**
	 * Original signature : <code>void Py_Exit(int)</code><br>
	 * <i>native declaration : pythonrun.h:61</i>
	 */
	native public static void Py_Exit(int int1);
	/**
	 * Original signature : <code>int Py_FdIsInteractive(FILE*, const char*)</code><br>
	 * <i>native declaration : pythonrun.h:63</i>
	 */
	public static int Py_FdIsInteractive(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Byte > charPtr1) {
		return Py_FdIsInteractive(Pointer.getPeer(FILEPtr1), Pointer.getPeer(charPtr1));
	}
	protected native static int Py_FdIsInteractive(@Ptr long FILEPtr1, @Ptr long charPtr1);
	/**
	 * Bootstrap<br>
	 * Original signature : <code>int Py_Main(int, char**)</code><br>
	 * <i>native declaration : pythonrun.h:68</i>
	 */
	public static int Py_Main(int argc, Pointer<Pointer<Byte > > argv) {
		return Py_Main(argc, Pointer.getPeer(argv));
	}
	protected native static int Py_Main(int argc, @Ptr long argv);
	/**
	 * In getpath.c<br>
	 * Original signature : <code>char* Py_GetProgramFullPath()</code><br>
	 * <i>native declaration : pythonrun.h:73</i>
	 */
	public static Pointer<Byte > Py_GetProgramFullPath() {
		return Pointer.pointerToAddress(Py_GetProgramFullPath$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetProgramFullPath") 
	protected native static long Py_GetProgramFullPath$2();
	/**
	 * Original signature : <code>char* Py_GetPrefix()</code><br>
	 * <i>native declaration : pythonrun.h:75</i>
	 */
	public static Pointer<Byte > Py_GetPrefix() {
		return Pointer.pointerToAddress(Py_GetPrefix$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetPrefix") 
	protected native static long Py_GetPrefix$2();
	/**
	 * Original signature : <code>char* Py_GetExecPrefix()</code><br>
	 * <i>native declaration : pythonrun.h:77</i>
	 */
	public static Pointer<Byte > Py_GetExecPrefix() {
		return Pointer.pointerToAddress(Py_GetExecPrefix$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetExecPrefix") 
	protected native static long Py_GetExecPrefix$2();
	/**
	 * Original signature : <code>char* Py_GetPath()</code><br>
	 * <i>native declaration : pythonrun.h:79</i>
	 */
	public static Pointer<Byte > Py_GetPath() {
		return Pointer.pointerToAddress(Py_GetPath$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetPath") 
	protected native static long Py_GetPath$2();
	/**
	 * In their own files<br>
	 * Original signature : <code>char* Py_GetVersion()</code><br>
	 * <i>native declaration : pythonrun.h:84</i>
	 */
	public static Pointer<Byte > Py_GetVersion() {
		return Pointer.pointerToAddress(Py_GetVersion$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetVersion") 
	protected native static long Py_GetVersion$2();
	/**
	 * Original signature : <code>char* Py_GetPlatform()</code><br>
	 * <i>native declaration : pythonrun.h:86</i>
	 */
	public static Pointer<Byte > Py_GetPlatform() {
		return Pointer.pointerToAddress(Py_GetPlatform$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetPlatform") 
	protected native static long Py_GetPlatform$2();
	/**
	 * Original signature : <code>char* Py_GetCopyright()</code><br>
	 * <i>native declaration : pythonrun.h:88</i>
	 */
	public static Pointer<Byte > Py_GetCopyright() {
		return Pointer.pointerToAddress(Py_GetCopyright$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetCopyright") 
	protected native static long Py_GetCopyright$2();
	/**
	 * Original signature : <code>char* Py_GetCompiler()</code><br>
	 * <i>native declaration : pythonrun.h:90</i>
	 */
	public static Pointer<Byte > Py_GetCompiler() {
		return Pointer.pointerToAddress(Py_GetCompiler$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetCompiler") 
	protected native static long Py_GetCompiler$2();
	/**
	 * Original signature : <code>char* Py_GetBuildInfo()</code><br>
	 * <i>native declaration : pythonrun.h:92</i>
	 */
	public static Pointer<Byte > Py_GetBuildInfo() {
		return Pointer.pointerToAddress(Py_GetBuildInfo$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_GetBuildInfo") 
	protected native static long Py_GetBuildInfo$2();
	/**
	 * Original signature : <code>char* _Py_svnversion()</code><br>
	 * <i>native declaration : pythonrun.h:94</i>
	 */
	public static Pointer<Byte > _Py_svnversion() {
		return Pointer.pointerToAddress(_Py_svnversion$2(), Byte.class);
	}
	@Ptr 
	@Name("_Py_svnversion") 
	protected native static long _Py_svnversion$2();
	/**
	 * Original signature : <code>char* Py_SubversionRevision()</code><br>
	 * <i>native declaration : pythonrun.h:96</i>
	 */
	public static Pointer<Byte > Py_SubversionRevision() {
		return Pointer.pointerToAddress(Py_SubversionRevision$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_SubversionRevision") 
	protected native static long Py_SubversionRevision$2();
	/**
	 * Original signature : <code>char* Py_SubversionShortBranch()</code><br>
	 * <i>native declaration : pythonrun.h:98</i>
	 */
	public static Pointer<Byte > Py_SubversionShortBranch() {
		return Pointer.pointerToAddress(Py_SubversionShortBranch$2(), Byte.class);
	}
	@Ptr 
	@Name("Py_SubversionShortBranch") 
	protected native static long Py_SubversionShortBranch$2();
	/**
	 * Original signature : <code>char* _Py_hgidentifier()</code><br>
	 * <i>native declaration : pythonrun.h:100</i>
	 */
	public static Pointer<Byte > _Py_hgidentifier() {
		return Pointer.pointerToAddress(_Py_hgidentifier$2(), Byte.class);
	}
	@Ptr 
	@Name("_Py_hgidentifier") 
	protected native static long _Py_hgidentifier$2();
	/**
	 * Original signature : <code>char* _Py_hgversion()</code><br>
	 * <i>native declaration : pythonrun.h:102</i>
	 */
	public static Pointer<Byte > _Py_hgversion() {
		return Pointer.pointerToAddress(_Py_hgversion$2(), Byte.class);
	}
	@Ptr 
	@Name("_Py_hgversion") 
	protected native static long _Py_hgversion$2();
	/**
	 * Internal -- various one-time initializations<br>
	 * Original signature : <code>PyObject* _PyBuiltin_Init()</code><br>
	 * <i>native declaration : pythonrun.h:107</i>
	 */
	public static Pointer<PyObject > _PyBuiltin_Init() {
		return Pointer.pointerToAddress(_PyBuiltin_Init$2(), PyObject.class);
	}
	@Ptr 
	@Name("_PyBuiltin_Init") 
	protected native static long _PyBuiltin_Init$2();
	/**
	 * Original signature : <code>PyObject* _PySys_Init()</code><br>
	 * <i>native declaration : pythonrun.h:109</i>
	 */
	public static Pointer<PyObject > _PySys_Init() {
		return Pointer.pointerToAddress(_PySys_Init$2(), PyObject.class);
	}
	@Ptr 
	@Name("_PySys_Init") 
	protected native static long _PySys_Init$2();
	/**
	 * Original signature : <code>void _PyImport_Init()</code><br>
	 * <i>native declaration : pythonrun.h:111</i>
	 */
	native public static void _PyImport_Init();
	/**
	 * Original signature : <code>void _PyExc_Init()</code><br>
	 * <i>native declaration : pythonrun.h:113</i>
	 */
	native public static void _PyExc_Init();
	/**
	 * Original signature : <code>void _PyImportHooks_Init()</code><br>
	 * <i>native declaration : pythonrun.h:115</i>
	 */
	native public static void _PyImportHooks_Init();
	/**
	 * Original signature : <code>int _PyFrame_Init()</code><br>
	 * <i>native declaration : pythonrun.h:117</i>
	 */
	native public static int _PyFrame_Init();
	/**
	 * Original signature : <code>int _PyInt_Init()</code><br>
	 * <i>native declaration : pythonrun.h:119</i>
	 */
	native public static int _PyInt_Init();
	/**
	 * Original signature : <code>int _PyLong_Init()</code><br>
	 * <i>native declaration : pythonrun.h:121</i>
	 */
	native public static int _PyLong_Init();
	/**
	 * Original signature : <code>void _PyFloat_Init()</code><br>
	 * <i>native declaration : pythonrun.h:123</i>
	 */
	native public static void _PyFloat_Init();
	/**
	 * Original signature : <code>int PyByteArray_Init()</code><br>
	 * <i>native declaration : pythonrun.h:125</i>
	 */
	native public static int PyByteArray_Init();
	/**
	 * Original signature : <code>void _PyRandom_Init()</code><br>
	 * <i>native declaration : pythonrun.h:127</i>
	 */
	native public static void _PyRandom_Init();
	/**
	 * Various internal finalizers<br>
	 * Original signature : <code>void _PyExc_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:132</i>
	 */
	native public static void _PyExc_Fini();
	/**
	 * Original signature : <code>void _PyImport_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:134</i>
	 */
	native public static void _PyImport_Fini();
	/**
	 * Original signature : <code>void PyMethod_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:136</i>
	 */
	native public static void PyMethod_Fini();
	/**
	 * Original signature : <code>void PyFrame_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:138</i>
	 */
	native public static void PyFrame_Fini();
	/**
	 * Original signature : <code>void PyCFunction_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:140</i>
	 */
	native public static void PyCFunction_Fini();
	/**
	 * Original signature : <code>void PyDict_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:142</i>
	 */
	native public static void PyDict_Fini();
	/**
	 * Original signature : <code>void PyTuple_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:144</i>
	 */
	native public static void PyTuple_Fini();
	/**
	 * Original signature : <code>void PyList_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:146</i>
	 */
	native public static void PyList_Fini();
	/**
	 * Original signature : <code>void PySet_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:148</i>
	 */
	native public static void PySet_Fini();
	/**
	 * Original signature : <code>void PyString_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:150</i>
	 */
	native public static void PyString_Fini();
	/**
	 * Original signature : <code>void PyInt_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:152</i>
	 */
	native public static void PyInt_Fini();
	/**
	 * Original signature : <code>void PyFloat_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:154</i>
	 */
	native public static void PyFloat_Fini();
	/**
	 * Original signature : <code>void PyOS_FiniInterrupts()</code><br>
	 * <i>native declaration : pythonrun.h:156</i>
	 */
	native public static void PyOS_FiniInterrupts();
	/**
	 * Original signature : <code>void PyByteArray_Fini()</code><br>
	 * <i>native declaration : pythonrun.h:158</i>
	 */
	native public static void PyByteArray_Fini();
	/**
	 * Stuff with no proper home (yet)<br>
	 * Original signature : <code>char* PyOS_Readline(FILE*, FILE*, char*)</code><br>
	 * <i>native declaration : pythonrun.h:163</i>
	 */
	public static Pointer<Byte > PyOS_Readline(Pointer<Python27Library.FILE > FILEPtr1, Pointer<Python27Library.FILE > FILEPtr2, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyOS_Readline(Pointer.getPeer(FILEPtr1), Pointer.getPeer(FILEPtr2), Pointer.getPeer(charPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyOS_Readline(@Ptr long FILEPtr1, @Ptr long FILEPtr2, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyOS_sighandler_t PyOS_getsig(int)</code><br>
	 * <i>native declaration : pythonrun.h:170</i>
	 */
	public static Pointer<Python27Library.PyOS_sighandler_t > PyOS_getsig(int int1) {
		return Pointer.pointerToAddress(PyOS_getsig$2(int1), Python27Library.PyOS_sighandler_t.class);
	}
	@Ptr 
	@Name("PyOS_getsig") 
	protected native static long PyOS_getsig$2(int int1);
	/**
	 * Original signature : <code>PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t)</code><br>
	 * <i>native declaration : pythonrun.h:172</i>
	 */
	public static Pointer<Python27Library.PyOS_sighandler_t > PyOS_setsig(int int1, Pointer<Python27Library.PyOS_sighandler_t > PyOS_sighandler_t1) {
		return Pointer.pointerToAddress(PyOS_setsig(int1, Pointer.getPeer(PyOS_sighandler_t1)), Python27Library.PyOS_sighandler_t.class);
	}
	@Ptr 
	protected native static long PyOS_setsig(int int1, @Ptr long PyOS_sighandler_t1);
	/**
	 * Random<br>
	 * Original signature : <code>int _PyOS_URandom(void*, Py_ssize_t)</code><br>
	 * <i>native declaration : pythonrun.h:177</i>
	 */
	public static int _PyOS_URandom(Pointer<? > buffer, @Ptr long size) {
		return _PyOS_URandom(Pointer.getPeer(buffer), size);
	}
	protected native static int _PyOS_URandom(@Ptr long buffer, @Ptr long size);
	/**
	 * Original signature : <code>PyObject* PyEval_CallObjectWithKeywords(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : ceval.h:2</i>
	 */
	public static Pointer<PyObject > PyEval_CallObjectWithKeywords(Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3) {
		return Pointer.pointerToAddress(PyEval_CallObjectWithKeywords(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_CallObjectWithKeywords(@Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3);
	/**
	 * Original signature : <code>PyObject* PyEval_CallFunction(PyObject*, const char*, null)</code><br>
	 * <i>native declaration : ceval.h:4</i>
	 */
	public static Pointer<PyObject > PyEval_CallFunction(Pointer<PyObject > obj, Pointer<Byte > format, Object... varargs) {
		return Pointer.pointerToAddress(PyEval_CallFunction(Pointer.getPeer(obj), Pointer.getPeer(format), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_CallFunction(@Ptr long obj, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>PyObject* PyEval_CallMethod(PyObject*, const char*, const char*, null)</code><br>
	 * <i>native declaration : ceval.h:6</i>
	 */
	public static Pointer<PyObject > PyEval_CallMethod(Pointer<PyObject > obj, Pointer<Byte > methodname, Pointer<Byte > format, Object... varargs) {
		return Pointer.pointerToAddress(PyEval_CallMethod(Pointer.getPeer(obj), Pointer.getPeer(methodname), Pointer.getPeer(format), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_CallMethod(@Ptr long obj, @Ptr long methodname, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>void PyEval_SetProfile(PyObject*)</code><br>
	 * <i>native declaration : ceval.h:8</i>
	 */
	public static void PyEval_SetProfile(Pointer<PyObject > PyObjectPtr1) {
		PyEval_SetProfile(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyEval_SetProfile(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>void PyEval_SetTrace(PyObject*)</code><br>
	 * <i>native declaration : ceval.h:10</i>
	 */
	public static void PyEval_SetTrace(Pointer<PyObject > PyObjectPtr1) {
		PyEval_SetTrace(Pointer.getPeer(PyObjectPtr1));
	}
	protected native static void PyEval_SetTrace(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyEval_GetBuiltins()</code><br>
	 * <i>native declaration : ceval.h:15</i>
	 */
	public static Pointer<PyObject > PyEval_GetBuiltins() {
		return Pointer.pointerToAddress(PyEval_GetBuiltins$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyEval_GetBuiltins") 
	protected native static long PyEval_GetBuiltins$2();
	/**
	 * Original signature : <code>PyObject* PyEval_GetGlobals()</code><br>
	 * <i>native declaration : ceval.h:17</i>
	 */
	public static Pointer<PyObject > PyEval_GetGlobals() {
		return Pointer.pointerToAddress(PyEval_GetGlobals$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyEval_GetGlobals") 
	protected native static long PyEval_GetGlobals$2();
	/**
	 * Original signature : <code>PyObject* PyEval_GetLocals()</code><br>
	 * <i>native declaration : ceval.h:19</i>
	 */
	public static Pointer<PyObject > PyEval_GetLocals() {
		return Pointer.pointerToAddress(PyEval_GetLocals$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyEval_GetLocals") 
	protected native static long PyEval_GetLocals$2();
	/**
	 * Original signature : <code>_frame* PyEval_GetFrame()</code><br>
	 * <i>native declaration : ceval.h:21</i>
	 */
	public static Pointer<Python27Library._frame > PyEval_GetFrame() {
		return Pointer.pointerToAddress(PyEval_GetFrame$2(), Python27Library._frame.class);
	}
	@Ptr 
	@Name("PyEval_GetFrame") 
	protected native static long PyEval_GetFrame$2();
	/**
	 * Original signature : <code>int PyEval_GetRestricted()</code><br>
	 * <i>native declaration : ceval.h:23</i>
	 */
	native public static int PyEval_GetRestricted();
	/**
	 * Look at the current frame's (if any) code's co_flags, and turn on<br>
	 * the corresponding compiler flags in cf->cf_flags.  Return 1 if any<br>
	 * flag was set, else return 0.<br>
	 * Original signature : <code>int PyEval_MergeCompilerFlags(PyCompilerFlags*)</code><br>
	 * <i>native declaration : ceval.h:30</i>
	 */
	public static int PyEval_MergeCompilerFlags(Pointer<PyCompilerFlags > cf) {
		return PyEval_MergeCompilerFlags(Pointer.getPeer(cf));
	}
	protected native static int PyEval_MergeCompilerFlags(@Ptr long cf);
	/**
	 * Original signature : <code>int Py_FlushLine()</code><br>
	 * <i>native declaration : ceval.h:32</i>
	 */
	native public static int Py_FlushLine();
	/**
	 * Original signature : <code>int Py_AddPendingCall(Py_AddPendingCall_func_callback, void*)</code><br>
	 * <i>native declaration : ceval.h:34</i>
	 */
	public static int Py_AddPendingCall(Pointer<Python27Library.Py_AddPendingCall_func_callback > arg, Pointer<? > arg2) {
		return Py_AddPendingCall(Pointer.getPeer(arg), Pointer.getPeer(arg2));
	}
	protected native static int Py_AddPendingCall(@Ptr long arg, @Ptr long arg2);
	/**
	 * Original signature : <code>int Py_MakePendingCalls()</code><br>
	 * <i>native declaration : ceval.h:36</i>
	 */
	native public static int Py_MakePendingCalls();
	/**
	 * Protection against deeply nested recursive calls<br>
	 * Original signature : <code>void Py_SetRecursionLimit(int)</code><br>
	 * <i>native declaration : ceval.h:41</i>
	 */
	native public static void Py_SetRecursionLimit(int int1);
	/**
	 * Original signature : <code>int Py_GetRecursionLimit()</code><br>
	 * <i>native declaration : ceval.h:43</i>
	 */
	native public static int Py_GetRecursionLimit();
	/**
	 * Original signature : <code>int _Py_CheckRecursiveCall(char*)</code><br>
	 * <i>native declaration : ceval.h:45</i>
	 */
	public static int _Py_CheckRecursiveCall(Pointer<Byte > where) {
		return _Py_CheckRecursiveCall(Pointer.getPeer(where));
	}
	protected native static int _Py_CheckRecursiveCall(@Ptr long where);
	/**
	 * Original signature : <code>char* PyEval_GetFuncName(PyObject*)</code><br>
	 * <i>native declaration : ceval.h:48</i>
	 */
	public static Pointer<Byte > PyEval_GetFuncName(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyEval_GetFuncName(Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyEval_GetFuncName(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>char* PyEval_GetFuncDesc(PyObject*)</code><br>
	 * <i>native declaration : ceval.h:50</i>
	 */
	public static Pointer<Byte > PyEval_GetFuncDesc(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyEval_GetFuncDesc(Pointer.getPeer(PyObjectPtr1)), Byte.class);
	}
	@Ptr 
	protected native static long PyEval_GetFuncDesc(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyEval_GetCallStats(PyObject*)</code><br>
	 * <i>native declaration : ceval.h:52</i>
	 */
	public static Pointer<PyObject > PyEval_GetCallStats(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyEval_GetCallStats(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_GetCallStats(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyEval_EvalFrame(_frame*)</code><br>
	 * <i>native declaration : ceval.h:54</i>
	 */
	public static Pointer<PyObject > PyEval_EvalFrame(Pointer<Python27Library._frame > _framePtr1) {
		return Pointer.pointerToAddress(PyEval_EvalFrame(Pointer.getPeer(_framePtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_EvalFrame(@Ptr long _framePtr1);
	/**
	 * Original signature : <code>PyObject* PyEval_EvalFrameEx(_frame*, int)</code><br>
	 * <i>native declaration : ceval.h:56</i>
	 */
	public static Pointer<PyObject > PyEval_EvalFrameEx(Pointer<Python27Library._frame > f, int exc) {
		return Pointer.pointerToAddress(PyEval_EvalFrameEx(Pointer.getPeer(f), exc), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_EvalFrameEx(@Ptr long f, int exc);
	/**
	 * Original signature : <code>PyThreadState* PyEval_SaveThread()</code><br>
	 * <i>native declaration : ceval.h:61</i>
	 */
	public static Pointer<PyThreadState > PyEval_SaveThread() {
		return Pointer.pointerToAddress(PyEval_SaveThread$2(), PyThreadState.class);
	}
	@Ptr 
	@Name("PyEval_SaveThread") 
	protected native static long PyEval_SaveThread$2();
	/**
	 * Original signature : <code>void PyEval_RestoreThread(PyThreadState*)</code><br>
	 * <i>native declaration : ceval.h:63</i>
	 */
	public static void PyEval_RestoreThread(Pointer<PyThreadState > PyThreadStatePtr1) {
		PyEval_RestoreThread(Pointer.getPeer(PyThreadStatePtr1));
	}
	protected native static void PyEval_RestoreThread(@Ptr long PyThreadStatePtr1);
	/**
	 * Original signature : <code>int PyEval_ThreadsInitialized()</code><br>
	 * <i>native declaration : ceval.h:65</i>
	 */
	native public static int PyEval_ThreadsInitialized();
	/**
	 * Original signature : <code>void PyEval_InitThreads()</code><br>
	 * <i>native declaration : ceval.h:67</i>
	 */
	native public static void PyEval_InitThreads();
	/**
	 * Original signature : <code>void PyEval_AcquireLock()</code><br>
	 * <i>native declaration : ceval.h:69</i>
	 */
	native public static void PyEval_AcquireLock();
	/**
	 * Original signature : <code>void PyEval_ReleaseLock()</code><br>
	 * <i>native declaration : ceval.h:71</i>
	 */
	native public static void PyEval_ReleaseLock();
	/**
	 * Original signature : <code>void PyEval_AcquireThread(PyThreadState*)</code><br>
	 * <i>native declaration : ceval.h:73</i>
	 */
	public static void PyEval_AcquireThread(Pointer<PyThreadState > tstate) {
		PyEval_AcquireThread(Pointer.getPeer(tstate));
	}
	protected native static void PyEval_AcquireThread(@Ptr long tstate);
	/**
	 * Original signature : <code>void PyEval_ReleaseThread(PyThreadState*)</code><br>
	 * <i>native declaration : ceval.h:75</i>
	 */
	public static void PyEval_ReleaseThread(Pointer<PyThreadState > tstate) {
		PyEval_ReleaseThread(Pointer.getPeer(tstate));
	}
	protected native static void PyEval_ReleaseThread(@Ptr long tstate);
	/**
	 * Original signature : <code>void PyEval_ReInitThreads()</code><br>
	 * <i>native declaration : ceval.h:77</i>
	 */
	native public static void PyEval_ReInitThreads();
	/**
	 * Original signature : <code>int _PyEval_SliceIndex(PyObject*, Py_ssize_t*)</code><br>
	 * <i>native declaration : ceval.h:79</i>
	 */
	public static int _PyEval_SliceIndex(Pointer<PyObject > PyObjectPtr1, Pointer<SizeT > Py_ssize_tPtr1) {
		return _PyEval_SliceIndex(Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(Py_ssize_tPtr1));
	}
	protected native static int _PyEval_SliceIndex(@Ptr long PyObjectPtr1, @Ptr long Py_ssize_tPtr1);
	/**
	 * Original signature : <code>PyObject* PySys_GetObject(char*)</code><br>
	 * <i>native declaration : sysmodule.h:2</i>
	 */
	public static Pointer<PyObject > PySys_GetObject(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PySys_GetObject(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PySys_GetObject(@Ptr long charPtr1);
	/**
	 * Original signature : <code>int PySys_SetObject(char*, PyObject*)</code><br>
	 * <i>native declaration : sysmodule.h:4</i>
	 */
	public static int PySys_SetObject(Pointer<Byte > charPtr1, Pointer<PyObject > PyObjectPtr1) {
		return PySys_SetObject(Pointer.getPeer(charPtr1), Pointer.getPeer(PyObjectPtr1));
	}
	protected native static int PySys_SetObject(@Ptr long charPtr1, @Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>FILE* PySys_GetFile(char*, FILE*)</code><br>
	 * <i>native declaration : sysmodule.h:6</i>
	 */
	public static Pointer<Python27Library.FILE > PySys_GetFile(Pointer<Byte > charPtr1, Pointer<Python27Library.FILE > FILEPtr1) {
		return Pointer.pointerToAddress(PySys_GetFile(Pointer.getPeer(charPtr1), Pointer.getPeer(FILEPtr1)), Python27Library.FILE.class);
	}
	@Ptr 
	protected native static long PySys_GetFile(@Ptr long charPtr1, @Ptr long FILEPtr1);
	/**
	 * Original signature : <code>void PySys_SetArgv(int, char**)</code><br>
	 * <i>native declaration : sysmodule.h:8</i>
	 */
	public static void PySys_SetArgv(int int1, Pointer<Pointer<Byte > > charPtrPtr1) {
		PySys_SetArgv(int1, Pointer.getPeer(charPtrPtr1));
	}
	protected native static void PySys_SetArgv(int int1, @Ptr long charPtrPtr1);
	/**
	 * Original signature : <code>void PySys_SetArgvEx(int, char**, int)</code><br>
	 * <i>native declaration : sysmodule.h:10</i>
	 */
	public static void PySys_SetArgvEx(int int1, Pointer<Pointer<Byte > > charPtrPtr1, int int2) {
		PySys_SetArgvEx(int1, Pointer.getPeer(charPtrPtr1), int2);
	}
	protected native static void PySys_SetArgvEx(int int1, @Ptr long charPtrPtr1, int int2);
	/**
	 * Original signature : <code>void PySys_SetPath(char*)</code><br>
	 * <i>native declaration : sysmodule.h:12</i>
	 */
	public static void PySys_SetPath(Pointer<Byte > charPtr1) {
		PySys_SetPath(Pointer.getPeer(charPtr1));
	}
	protected native static void PySys_SetPath(@Ptr long charPtr1);
	/**
	 * Original signature : <code>void PySys_WriteStdout(const char*, null)</code><br>
	 * <i>native declaration : sysmodule.h:14</i>
	 */
	public static void PySys_WriteStdout(Pointer<Byte > format, Object... varargs) {
		PySys_WriteStdout(Pointer.getPeer(format), varargs);
	}
	protected native static void PySys_WriteStdout(@Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>void PySys_WriteStderr(const char*, null)</code><br>
	 * <i>native declaration : sysmodule.h:16</i>
	 */
	public static void PySys_WriteStderr(Pointer<Byte > format, Object... varargs) {
		PySys_WriteStderr(Pointer.getPeer(format), varargs);
	}
	protected native static void PySys_WriteStderr(@Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>void PySys_ResetWarnOptions()</code><br>
	 * <i>native declaration : sysmodule.h:21</i>
	 */
	native public static void PySys_ResetWarnOptions();
	/**
	 * Original signature : <code>void PySys_AddWarnOption(char*)</code><br>
	 * <i>native declaration : sysmodule.h:23</i>
	 */
	public static void PySys_AddWarnOption(Pointer<Byte > charPtr1) {
		PySys_AddWarnOption(Pointer.getPeer(charPtr1));
	}
	protected native static void PySys_AddWarnOption(@Ptr long charPtr1);
	/**
	 * Original signature : <code>int PySys_HasWarnOptions()</code><br>
	 * <i>native declaration : sysmodule.h:25</i>
	 */
	native public static int PySys_HasWarnOptions();
	/**
	 * Original signature : <code>int PyOS_InterruptOccurred()</code><br>
	 * <i>native declaration : intrcheck.h:2</i>
	 */
	native public static int PyOS_InterruptOccurred();
	/**
	 * Original signature : <code>void PyOS_InitInterrupts()</code><br>
	 * <i>native declaration : intrcheck.h:4</i>
	 */
	native public static void PyOS_InitInterrupts();
	/**
	 * Original signature : <code>void PyOS_AfterFork()</code><br>
	 * <i>native declaration : intrcheck.h:6</i>
	 */
	native public static void PyOS_AfterFork();
	/**
	 * Original signature : <code>long PyImport_GetMagicNumber()</code><br>
	 * <i>native declaration : import.h:2</i>
	 */
	@org.bridj.ann.CLong 
	native public static long PyImport_GetMagicNumber();
	/**
	 * Original signature : <code>PyObject* PyImport_ExecCodeModule(char*, PyObject*)</code><br>
	 * <i>native declaration : import.h:4</i>
	 */
	public static Pointer<PyObject > PyImport_ExecCodeModule(Pointer<Byte > name, Pointer<PyObject > co) {
		return Pointer.pointerToAddress(PyImport_ExecCodeModule(Pointer.getPeer(name), Pointer.getPeer(co)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_ExecCodeModule(@Ptr long name, @Ptr long co);
	/**
	 * Original signature : <code>PyObject* PyImport_ExecCodeModuleEx(char*, PyObject*, char*)</code><br>
	 * <i>native declaration : import.h:6</i>
	 */
	public static Pointer<PyObject > PyImport_ExecCodeModuleEx(Pointer<Byte > name, Pointer<PyObject > co, Pointer<Byte > pathname) {
		return Pointer.pointerToAddress(PyImport_ExecCodeModuleEx(Pointer.getPeer(name), Pointer.getPeer(co), Pointer.getPeer(pathname)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_ExecCodeModuleEx(@Ptr long name, @Ptr long co, @Ptr long pathname);
	/**
	 * Original signature : <code>PyObject* PyImport_GetModuleDict()</code><br>
	 * <i>native declaration : import.h:8</i>
	 */
	public static Pointer<PyObject > PyImport_GetModuleDict() {
		return Pointer.pointerToAddress(PyImport_GetModuleDict$2(), PyObject.class);
	}
	@Ptr 
	@Name("PyImport_GetModuleDict") 
	protected native static long PyImport_GetModuleDict$2();
	/**
	 * Original signature : <code>PyObject* PyImport_AddModule(const char*)</code><br>
	 * <i>native declaration : import.h:10</i>
	 */
	public static Pointer<PyObject > PyImport_AddModule(Pointer<Byte > name) {
		return Pointer.pointerToAddress(PyImport_AddModule(Pointer.getPeer(name)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_AddModule(@Ptr long name);
	/**
	 * Original signature : <code>PyObject* PyImport_ImportModule(const char*)</code><br>
	 * <i>native declaration : import.h:12</i>
	 */
	public static Pointer<PyObject > PyImport_ImportModule(Pointer<Byte > name) {
		return Pointer.pointerToAddress(PyImport_ImportModule(Pointer.getPeer(name)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_ImportModule(@Ptr long name);
	/**
	 * Original signature : <code>PyObject* PyImport_ImportModuleNoBlock(const char*)</code><br>
	 * <i>native declaration : import.h:14</i>
	 */
	public static Pointer<PyObject > PyImport_ImportModuleNoBlock(Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyImport_ImportModuleNoBlock(Pointer.getPeer(charPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_ImportModuleNoBlock(@Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyImport_ImportModuleLevel(char*, PyObject*, PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : import.h:16</i>
	 */
	public static Pointer<PyObject > PyImport_ImportModuleLevel(Pointer<Byte > name, Pointer<PyObject > globals, Pointer<PyObject > locals, Pointer<PyObject > fromlist, int level) {
		return Pointer.pointerToAddress(PyImport_ImportModuleLevel(Pointer.getPeer(name), Pointer.getPeer(globals), Pointer.getPeer(locals), Pointer.getPeer(fromlist), level), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_ImportModuleLevel(@Ptr long name, @Ptr long globals, @Ptr long locals, @Ptr long fromlist, int level);
	/**
	 * Original signature : <code>PyObject* PyImport_GetImporter(PyObject*)</code><br>
	 * <i>native declaration : import.h:18</i>
	 */
	public static Pointer<PyObject > PyImport_GetImporter(Pointer<PyObject > path) {
		return Pointer.pointerToAddress(PyImport_GetImporter(Pointer.getPeer(path)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_GetImporter(@Ptr long path);
	/**
	 * Original signature : <code>PyObject* PyImport_Import(PyObject*)</code><br>
	 * <i>native declaration : import.h:20</i>
	 */
	public static Pointer<PyObject > PyImport_Import(Pointer<PyObject > name) {
		return Pointer.pointerToAddress(PyImport_Import(Pointer.getPeer(name)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_Import(@Ptr long name);
	/**
	 * Original signature : <code>PyObject* PyImport_ReloadModule(PyObject*)</code><br>
	 * <i>native declaration : import.h:22</i>
	 */
	public static Pointer<PyObject > PyImport_ReloadModule(Pointer<PyObject > m) {
		return Pointer.pointerToAddress(PyImport_ReloadModule(Pointer.getPeer(m)), PyObject.class);
	}
	@Ptr 
	protected native static long PyImport_ReloadModule(@Ptr long m);
	/**
	 * Original signature : <code>void PyImport_Cleanup()</code><br>
	 * <i>native declaration : import.h:24</i>
	 */
	native public static void PyImport_Cleanup();
	/**
	 * Original signature : <code>int PyImport_ImportFrozenModule(char*)</code><br>
	 * <i>native declaration : import.h:26</i>
	 */
	public static int PyImport_ImportFrozenModule(Pointer<Byte > charPtr1) {
		return PyImport_ImportFrozenModule(Pointer.getPeer(charPtr1));
	}
	protected native static int PyImport_ImportFrozenModule(@Ptr long charPtr1);
	/**
	 * Original signature : <code>void _PyImport_AcquireLock()</code><br>
	 * <i>native declaration : import.h:28</i>
	 */
	native public static void _PyImport_AcquireLock();
	/**
	 * Original signature : <code>int _PyImport_ReleaseLock()</code><br>
	 * <i>native declaration : import.h:30</i>
	 */
	native public static int _PyImport_ReleaseLock();
	/**
	 * Original signature : <code>filedescr* _PyImport_FindModule(const char*, PyObject*, char*, size_t, FILE**, PyObject**)</code><br>
	 * <i>native declaration : import.h:32</i>
	 */
	public static Pointer<Python27Library.filedescr > _PyImport_FindModule(Pointer<Byte > charPtr1, Pointer<PyObject > PyObjectPtr1, Pointer<Byte > charPtr2, @Ptr long size_t1, Pointer<Pointer<Python27Library.FILE > > FILEPtrPtr1, Pointer<Pointer<PyObject > > PyObjectPtrPtr1) {
		return Pointer.pointerToAddress(_PyImport_FindModule(Pointer.getPeer(charPtr1), Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(charPtr2), size_t1, Pointer.getPeer(FILEPtrPtr1), Pointer.getPeer(PyObjectPtrPtr1)), Python27Library.filedescr.class);
	}
	@Ptr 
	protected native static long _PyImport_FindModule(@Ptr long charPtr1, @Ptr long PyObjectPtr1, @Ptr long charPtr2, @Ptr long size_t1, @Ptr long FILEPtrPtr1, @Ptr long PyObjectPtrPtr1);
	/**
	 * Original signature : <code>int _PyImport_IsScript(filedescr*)</code><br>
	 * <i>native declaration : import.h:34</i>
	 */
	public static int _PyImport_IsScript(Pointer<Python27Library.filedescr > filedescrPtr1) {
		return _PyImport_IsScript(Pointer.getPeer(filedescrPtr1));
	}
	protected native static int _PyImport_IsScript(@Ptr long filedescrPtr1);
	/**
	 * Original signature : <code>void _PyImport_ReInitLock()</code><br>
	 * <i>native declaration : import.h:36</i>
	 */
	native public static void _PyImport_ReInitLock();
	/**
	 * Original signature : <code>PyObject* _PyImport_FindExtension(char*, char*)</code><br>
	 * <i>native declaration : import.h:38</i>
	 */
	public static Pointer<PyObject > _PyImport_FindExtension(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2) {
		return Pointer.pointerToAddress(_PyImport_FindExtension(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyImport_FindExtension(@Ptr long charPtr1, @Ptr long charPtr2);
	/**
	 * Original signature : <code>PyObject* _PyImport_FixupExtension(char*, char*)</code><br>
	 * <i>native declaration : import.h:40</i>
	 */
	public static Pointer<PyObject > _PyImport_FixupExtension(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2) {
		return Pointer.pointerToAddress(_PyImport_FixupExtension(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyImport_FixupExtension(@Ptr long charPtr1, @Ptr long charPtr2);
	/**
	 * Original signature : <code>int PyImport_AppendInittab(const char*, PyImport_AppendInittab_initfunc_callback)</code><br>
	 * <i>native declaration : import.h:49</i>
	 */
	public static int PyImport_AppendInittab(Pointer<Byte > name, Pointer<Python27Library.PyImport_AppendInittab_initfunc_callback > arg) {
		return PyImport_AppendInittab(Pointer.getPeer(name), Pointer.getPeer(arg));
	}
	protected native static int PyImport_AppendInittab(@Ptr long name, @Ptr long arg);
	/**
	 * Original signature : <code>int PyImport_ExtendInittab(_inittab*)</code><br>
	 * <i>native declaration : import.h:51</i>
	 */
	public static int PyImport_ExtendInittab(Pointer<_inittab > newtab) {
		return PyImport_ExtendInittab(Pointer.getPeer(newtab));
	}
	protected native static int PyImport_ExtendInittab(@Ptr long newtab);
	/**
	 * Original signature : <code>int PyObject_Cmp(PyObject*, PyObject*, int*)</code><br>
	 * <i>native declaration : abstract.h:2</i>
	 */
	public static int PyObject_Cmp(Pointer<PyObject > o1, Pointer<PyObject > o2, Pointer<Integer > result) {
		return PyObject_Cmp(Pointer.getPeer(o1), Pointer.getPeer(o2), Pointer.getPeer(result));
	}
	protected native static int PyObject_Cmp(@Ptr long o1, @Ptr long o2, @Ptr long result);
	/**
	 * Original signature : <code>PyObject* PyObject_Call(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:4</i>
	 */
	public static Pointer<PyObject > PyObject_Call(Pointer<PyObject > callable_object, Pointer<PyObject > args, Pointer<PyObject > kw) {
		return Pointer.pointerToAddress(PyObject_Call(Pointer.getPeer(callable_object), Pointer.getPeer(args), Pointer.getPeer(kw)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Call(@Ptr long callable_object, @Ptr long args, @Ptr long kw);
	/**
	 * Original signature : <code>PyObject* PyObject_CallObject(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:6</i>
	 */
	public static Pointer<PyObject > PyObject_CallObject(Pointer<PyObject > callable_object, Pointer<PyObject > args) {
		return Pointer.pointerToAddress(PyObject_CallObject(Pointer.getPeer(callable_object), Pointer.getPeer(args)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_CallObject(@Ptr long callable_object, @Ptr long args);
	/**
	 * Original signature : <code>PyObject* PyObject_CallFunction(PyObject*, char*, null)</code><br>
	 * <i>native declaration : abstract.h:8</i>
	 */
	public static Pointer<PyObject > PyObject_CallFunction(Pointer<PyObject > callable_object, Pointer<Byte > format, Object... varargs) {
		return Pointer.pointerToAddress(PyObject_CallFunction(Pointer.getPeer(callable_object), Pointer.getPeer(format), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_CallFunction(@Ptr long callable_object, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>PyObject* PyObject_CallMethod(PyObject*, char*, char*, null)</code><br>
	 * <i>native declaration : abstract.h:10</i>
	 */
	public static Pointer<PyObject > PyObject_CallMethod(Pointer<PyObject > o, Pointer<Byte > m, Pointer<Byte > format, Object... varargs) {
		return Pointer.pointerToAddress(PyObject_CallMethod(Pointer.getPeer(o), Pointer.getPeer(m), Pointer.getPeer(format), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_CallMethod(@Ptr long o, @Ptr long m, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>PyObject* _PyObject_CallFunction_SizeT(PyObject*, char*, null)</code><br>
	 * <i>native declaration : abstract.h:12</i>
	 */
	public static Pointer<PyObject > _PyObject_CallFunction_SizeT(Pointer<PyObject > callable, Pointer<Byte > format, Object... varargs) {
		return Pointer.pointerToAddress(_PyObject_CallFunction_SizeT(Pointer.getPeer(callable), Pointer.getPeer(format), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_CallFunction_SizeT(@Ptr long callable, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>PyObject* _PyObject_CallMethod_SizeT(PyObject*, char*, char*, null)</code><br>
	 * <i>native declaration : abstract.h:14</i>
	 */
	public static Pointer<PyObject > _PyObject_CallMethod_SizeT(Pointer<PyObject > o, Pointer<Byte > name, Pointer<Byte > format, Object... varargs) {
		return Pointer.pointerToAddress(_PyObject_CallMethod_SizeT(Pointer.getPeer(o), Pointer.getPeer(name), Pointer.getPeer(format), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long _PyObject_CallMethod_SizeT(@Ptr long o, @Ptr long name, @Ptr long format, Object... varargs);
	/**
	 * Original signature : <code>PyObject* PyObject_CallFunctionObjArgs(PyObject*, null)</code><br>
	 * <i>native declaration : abstract.h:16</i>
	 */
	public static Pointer<PyObject > PyObject_CallFunctionObjArgs(Pointer<PyObject > callable, Object... varargs) {
		return Pointer.pointerToAddress(PyObject_CallFunctionObjArgs(Pointer.getPeer(callable), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_CallFunctionObjArgs(@Ptr long callable, Object... varargs);
	/**
	 * Original signature : <code>PyObject* PyObject_CallMethodObjArgs(PyObject*, PyObject*, null)</code><br>
	 * <i>native declaration : abstract.h:18</i>
	 */
	public static Pointer<PyObject > PyObject_CallMethodObjArgs(Pointer<PyObject > o, Pointer<PyObject > m, Object... varargs) {
		return Pointer.pointerToAddress(PyObject_CallMethodObjArgs(Pointer.getPeer(o), Pointer.getPeer(m), varargs), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_CallMethodObjArgs(@Ptr long o, @Ptr long m, Object... varargs);
	/**
	 * Original signature : <code>PyObject* PyObject_Type(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:20</i>
	 */
	public static Pointer<PyObject > PyObject_Type(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyObject_Type(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Type(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PyObject_Size(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:22</i>
	 */
	@Ptr 
	public static long PyObject_Size(Pointer<PyObject > o) {
		return PyObject_Size(Pointer.getPeer(o));
	}
	@Ptr 
	protected native static long PyObject_Size(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PyObject_Length(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:24</i>
	 */
	@Ptr 
	public static long PyObject_Length(Pointer<PyObject > o) {
		return PyObject_Length(Pointer.getPeer(o));
	}
	@Ptr 
	protected native static long PyObject_Length(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t _PyObject_LengthHint(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:26</i>
	 */
	@Ptr 
	public static long _PyObject_LengthHint(Pointer<PyObject > o, @Ptr long Py_ssize_t1) {
		return _PyObject_LengthHint(Pointer.getPeer(o), Py_ssize_t1);
	}
	@Ptr 
	protected native static long _PyObject_LengthHint(@Ptr long o, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>PyObject* PyObject_GetItem(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:28</i>
	 */
	public static Pointer<PyObject > PyObject_GetItem(Pointer<PyObject > o, Pointer<PyObject > key) {
		return Pointer.pointerToAddress(PyObject_GetItem(Pointer.getPeer(o), Pointer.getPeer(key)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_GetItem(@Ptr long o, @Ptr long key);
	/**
	 * Original signature : <code>int PyObject_SetItem(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:30</i>
	 */
	public static int PyObject_SetItem(Pointer<PyObject > o, Pointer<PyObject > key, Pointer<PyObject > v) {
		return PyObject_SetItem(Pointer.getPeer(o), Pointer.getPeer(key), Pointer.getPeer(v));
	}
	protected native static int PyObject_SetItem(@Ptr long o, @Ptr long key, @Ptr long v);
	/**
	 * Original signature : <code>int PyObject_DelItemString(PyObject*, char*)</code><br>
	 * <i>native declaration : abstract.h:32</i>
	 */
	public static int PyObject_DelItemString(Pointer<PyObject > o, Pointer<Byte > key) {
		return PyObject_DelItemString(Pointer.getPeer(o), Pointer.getPeer(key));
	}
	protected native static int PyObject_DelItemString(@Ptr long o, @Ptr long key);
	/**
	 * Original signature : <code>int PyObject_DelItem(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:34</i>
	 */
	public static int PyObject_DelItem(Pointer<PyObject > o, Pointer<PyObject > key) {
		return PyObject_DelItem(Pointer.getPeer(o), Pointer.getPeer(key));
	}
	protected native static int PyObject_DelItem(@Ptr long o, @Ptr long key);
	/**
	 * Original signature : <code>int PyObject_AsCharBuffer(PyObject*, const char**, Py_ssize_t*)</code><br>
	 * <i>native declaration : abstract.h:36</i>
	 */
	public static int PyObject_AsCharBuffer(Pointer<PyObject > obj, Pointer<Pointer<Byte > > buffer, Pointer<SizeT > buffer_len) {
		return PyObject_AsCharBuffer(Pointer.getPeer(obj), Pointer.getPeer(buffer), Pointer.getPeer(buffer_len));
	}
	protected native static int PyObject_AsCharBuffer(@Ptr long obj, @Ptr long buffer, @Ptr long buffer_len);
	/**
	 * Original signature : <code>int PyObject_CheckReadBuffer(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:38</i>
	 */
	public static int PyObject_CheckReadBuffer(Pointer<PyObject > obj) {
		return PyObject_CheckReadBuffer(Pointer.getPeer(obj));
	}
	protected native static int PyObject_CheckReadBuffer(@Ptr long obj);
	/**
	 * Original signature : <code>int PyObject_AsReadBuffer(PyObject*, const void**, Py_ssize_t*)</code><br>
	 * <i>native declaration : abstract.h:40</i>
	 */
	public static int PyObject_AsReadBuffer(Pointer<PyObject > obj, Pointer<Pointer<? > > buffer, Pointer<SizeT > buffer_len) {
		return PyObject_AsReadBuffer(Pointer.getPeer(obj), Pointer.getPeer(buffer), Pointer.getPeer(buffer_len));
	}
	protected native static int PyObject_AsReadBuffer(@Ptr long obj, @Ptr long buffer, @Ptr long buffer_len);
	/**
	 * Original signature : <code>int PyObject_AsWriteBuffer(PyObject*, void**, Py_ssize_t*)</code><br>
	 * <i>native declaration : abstract.h:42</i>
	 */
	public static int PyObject_AsWriteBuffer(Pointer<PyObject > obj, Pointer<Pointer<? > > buffer, Pointer<SizeT > buffer_len) {
		return PyObject_AsWriteBuffer(Pointer.getPeer(obj), Pointer.getPeer(buffer), Pointer.getPeer(buffer_len));
	}
	protected native static int PyObject_AsWriteBuffer(@Ptr long obj, @Ptr long buffer, @Ptr long buffer_len);
	/**
	 * Original signature : <code>int PyObject_GetBuffer(PyObject*, Py_buffer*, int)</code><br>
	 * <i>native declaration : abstract.h:44</i>
	 */
	public static int PyObject_GetBuffer(Pointer<PyObject > obj, Pointer<Py_buffer > view, int flags) {
		return PyObject_GetBuffer(Pointer.getPeer(obj), Pointer.getPeer(view), flags);
	}
	protected native static int PyObject_GetBuffer(@Ptr long obj, @Ptr long view, int flags);
	/**
	 * Original signature : <code>void* PyBuffer_GetPointer(Py_buffer*, Py_ssize_t*)</code><br>
	 * <i>native declaration : abstract.h:46</i>
	 */
	public static Pointer<? > PyBuffer_GetPointer(Pointer<Py_buffer > view, Pointer<SizeT > indices) {
		return Pointer.pointerToAddress(PyBuffer_GetPointer(Pointer.getPeer(view), Pointer.getPeer(indices)));
	}
	@Ptr 
	protected native static long PyBuffer_GetPointer(@Ptr long view, @Ptr long indices);
	/**
	 * Original signature : <code>int PyBuffer_SizeFromFormat(const char*)</code><br>
	 * <i>native declaration : abstract.h:48</i>
	 */
	public static int PyBuffer_SizeFromFormat(Pointer<Byte > charPtr1) {
		return PyBuffer_SizeFromFormat(Pointer.getPeer(charPtr1));
	}
	protected native static int PyBuffer_SizeFromFormat(@Ptr long charPtr1);
	/**
	 * Original signature : <code>int PyBuffer_ToContiguous(void*, Py_buffer*, Py_ssize_t, char)</code><br>
	 * <i>native declaration : abstract.h:50</i>
	 */
	public static int PyBuffer_ToContiguous(Pointer<? > buf, Pointer<Py_buffer > view, @Ptr long len, byte fort) {
		return PyBuffer_ToContiguous(Pointer.getPeer(buf), Pointer.getPeer(view), len, fort);
	}
	protected native static int PyBuffer_ToContiguous(@Ptr long buf, @Ptr long view, @Ptr long len, byte fort);
	/**
	 * Original signature : <code>int PyBuffer_FromContiguous(Py_buffer*, void*, Py_ssize_t, char)</code><br>
	 * <i>native declaration : abstract.h:52</i>
	 */
	public static int PyBuffer_FromContiguous(Pointer<Py_buffer > view, Pointer<? > buf, @Ptr long len, byte fort) {
		return PyBuffer_FromContiguous(Pointer.getPeer(view), Pointer.getPeer(buf), len, fort);
	}
	protected native static int PyBuffer_FromContiguous(@Ptr long view, @Ptr long buf, @Ptr long len, byte fort);
	/**
	 * Original signature : <code>int PyObject_CopyData(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:54</i>
	 */
	public static int PyObject_CopyData(Pointer<PyObject > dest, Pointer<PyObject > src) {
		return PyObject_CopyData(Pointer.getPeer(dest), Pointer.getPeer(src));
	}
	protected native static int PyObject_CopyData(@Ptr long dest, @Ptr long src);
	/**
	 * Original signature : <code>int PyBuffer_IsContiguous(Py_buffer*, char)</code><br>
	 * <i>native declaration : abstract.h:56</i>
	 */
	public static int PyBuffer_IsContiguous(Pointer<Py_buffer > view, byte fort) {
		return PyBuffer_IsContiguous(Pointer.getPeer(view), fort);
	}
	protected native static int PyBuffer_IsContiguous(@Ptr long view, byte fort);
	/**
	 * Original signature : <code>void PyBuffer_FillContiguousStrides(int, Py_ssize_t*, Py_ssize_t*, int, char)</code><br>
	 * <i>native declaration : abstract.h:58</i>
	 */
	public static void PyBuffer_FillContiguousStrides(int ndims, Pointer<SizeT > shape, Pointer<SizeT > strides, int itemsize, byte fort) {
		PyBuffer_FillContiguousStrides(ndims, Pointer.getPeer(shape), Pointer.getPeer(strides), itemsize, fort);
	}
	protected native static void PyBuffer_FillContiguousStrides(int ndims, @Ptr long shape, @Ptr long strides, int itemsize, byte fort);
	/**
	 * Original signature : <code>int PyBuffer_FillInfo(Py_buffer*, PyObject*, void*, Py_ssize_t, int, int)</code><br>
	 * <i>native declaration : abstract.h:60</i>
	 */
	public static int PyBuffer_FillInfo(Pointer<Py_buffer > view, Pointer<PyObject > o, Pointer<? > buf, @Ptr long len, int readonly, int flags) {
		return PyBuffer_FillInfo(Pointer.getPeer(view), Pointer.getPeer(o), Pointer.getPeer(buf), len, readonly, flags);
	}
	protected native static int PyBuffer_FillInfo(@Ptr long view, @Ptr long o, @Ptr long buf, @Ptr long len, int readonly, int flags);
	/**
	 * Original signature : <code>void PyBuffer_Release(Py_buffer*)</code><br>
	 * <i>native declaration : abstract.h:62</i>
	 */
	public static void PyBuffer_Release(Pointer<Py_buffer > view) {
		PyBuffer_Release(Pointer.getPeer(view));
	}
	protected native static void PyBuffer_Release(@Ptr long view);
	/**
	 * Original signature : <code>PyObject* PyObject_Format(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:64</i>
	 */
	public static Pointer<PyObject > PyObject_Format(Pointer<PyObject > obj, Pointer<PyObject > format_spec) {
		return Pointer.pointerToAddress(PyObject_Format(Pointer.getPeer(obj), Pointer.getPeer(format_spec)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_Format(@Ptr long obj, @Ptr long format_spec);
	/**
	 * Original signature : <code>PyObject* PyObject_GetIter(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:66</i>
	 */
	public static Pointer<PyObject > PyObject_GetIter(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyObject_GetIter(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyObject_GetIter(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>PyObject* PyIter_Next(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:68</i>
	 */
	public static Pointer<PyObject > PyIter_Next(Pointer<PyObject > PyObjectPtr1) {
		return Pointer.pointerToAddress(PyIter_Next(Pointer.getPeer(PyObjectPtr1)), PyObject.class);
	}
	@Ptr 
	protected native static long PyIter_Next(@Ptr long PyObjectPtr1);
	/**
	 * Original signature : <code>int PyNumber_Check(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:70</i>
	 */
	public static int PyNumber_Check(Pointer<PyObject > o) {
		return PyNumber_Check(Pointer.getPeer(o));
	}
	protected native static int PyNumber_Check(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Add(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:72</i>
	 */
	public static Pointer<PyObject > PyNumber_Add(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Add(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Add(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Subtract(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:74</i>
	 */
	public static Pointer<PyObject > PyNumber_Subtract(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Subtract(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Subtract(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Multiply(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:76</i>
	 */
	public static Pointer<PyObject > PyNumber_Multiply(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Multiply(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Multiply(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Divide(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:78</i>
	 */
	public static Pointer<PyObject > PyNumber_Divide(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Divide(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Divide(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_FloorDivide(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:80</i>
	 */
	public static Pointer<PyObject > PyNumber_FloorDivide(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_FloorDivide(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_FloorDivide(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_TrueDivide(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:82</i>
	 */
	public static Pointer<PyObject > PyNumber_TrueDivide(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_TrueDivide(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_TrueDivide(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Remainder(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:84</i>
	 */
	public static Pointer<PyObject > PyNumber_Remainder(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Remainder(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Remainder(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Divmod(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:86</i>
	 */
	public static Pointer<PyObject > PyNumber_Divmod(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Divmod(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Divmod(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Power(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:88</i>
	 */
	public static Pointer<PyObject > PyNumber_Power(Pointer<PyObject > o1, Pointer<PyObject > o2, Pointer<PyObject > o3) {
		return Pointer.pointerToAddress(PyNumber_Power(Pointer.getPeer(o1), Pointer.getPeer(o2), Pointer.getPeer(o3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Power(@Ptr long o1, @Ptr long o2, @Ptr long o3);
	/**
	 * Original signature : <code>PyObject* PyNumber_Negative(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:90</i>
	 */
	public static Pointer<PyObject > PyNumber_Negative(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Negative(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Negative(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Positive(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:92</i>
	 */
	public static Pointer<PyObject > PyNumber_Positive(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Positive(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Positive(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Absolute(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:94</i>
	 */
	public static Pointer<PyObject > PyNumber_Absolute(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Absolute(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Absolute(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Invert(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:96</i>
	 */
	public static Pointer<PyObject > PyNumber_Invert(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Invert(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Invert(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Lshift(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:98</i>
	 */
	public static Pointer<PyObject > PyNumber_Lshift(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Lshift(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Lshift(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Rshift(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:100</i>
	 */
	public static Pointer<PyObject > PyNumber_Rshift(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Rshift(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Rshift(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_And(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:102</i>
	 */
	public static Pointer<PyObject > PyNumber_And(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_And(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_And(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Xor(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:104</i>
	 */
	public static Pointer<PyObject > PyNumber_Xor(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Xor(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Xor(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Or(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:106</i>
	 */
	public static Pointer<PyObject > PyNumber_Or(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_Or(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Or(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_Index(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:108</i>
	 */
	public static Pointer<PyObject > PyNumber_Index(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Index(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Index(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PyNumber_AsSsize_t(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:110</i>
	 */
	@Ptr 
	public static long PyNumber_AsSsize_t(Pointer<PyObject > o, Pointer<PyObject > exc) {
		return PyNumber_AsSsize_t(Pointer.getPeer(o), Pointer.getPeer(exc));
	}
	@Ptr 
	protected native static long PyNumber_AsSsize_t(@Ptr long o, @Ptr long exc);
	/**
	 * Original signature : <code>PyObject* _PyNumber_ConvertIntegralToInt(PyObject*, const char*)</code><br>
	 * <i>native declaration : abstract.h:112</i>
	 */
	public static Pointer<PyObject > _PyNumber_ConvertIntegralToInt(Pointer<PyObject > integral, Pointer<Byte > error_format) {
		return Pointer.pointerToAddress(_PyNumber_ConvertIntegralToInt(Pointer.getPeer(integral), Pointer.getPeer(error_format)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyNumber_ConvertIntegralToInt(@Ptr long integral, @Ptr long error_format);
	/**
	 * Original signature : <code>PyObject* PyNumber_Int(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:114</i>
	 */
	public static Pointer<PyObject > PyNumber_Int(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Int(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Int(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Long(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:116</i>
	 */
	public static Pointer<PyObject > PyNumber_Long(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Long(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Long(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_Float(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:118</i>
	 */
	public static Pointer<PyObject > PyNumber_Float(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PyNumber_Float(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_Float(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceAdd(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:120</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceAdd(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceAdd(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceAdd(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceSubtract(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:122</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceSubtract(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceSubtract(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceSubtract(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceMultiply(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:124</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceMultiply(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceMultiply(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceMultiply(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceDivide(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:126</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceDivide(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceDivide(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceDivide(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceFloorDivide(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:128</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceFloorDivide(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceFloorDivide(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceFloorDivide(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceTrueDivide(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:130</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceTrueDivide(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceTrueDivide(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceTrueDivide(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceRemainder(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:132</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceRemainder(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceRemainder(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceRemainder(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlacePower(PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:134</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlacePower(Pointer<PyObject > o1, Pointer<PyObject > o2, Pointer<PyObject > o3) {
		return Pointer.pointerToAddress(PyNumber_InPlacePower(Pointer.getPeer(o1), Pointer.getPeer(o2), Pointer.getPeer(o3)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlacePower(@Ptr long o1, @Ptr long o2, @Ptr long o3);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceLshift(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:136</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceLshift(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceLshift(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceLshift(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceRshift(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:138</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceRshift(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceRshift(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceRshift(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceAnd(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:140</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceAnd(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceAnd(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceAnd(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceXor(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:142</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceXor(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceXor(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceXor(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_InPlaceOr(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:144</i>
	 */
	public static Pointer<PyObject > PyNumber_InPlaceOr(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PyNumber_InPlaceOr(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_InPlaceOr(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PyNumber_ToBase(PyObject*, int)</code><br>
	 * <i>native declaration : abstract.h:146</i>
	 */
	public static Pointer<PyObject > PyNumber_ToBase(Pointer<PyObject > n, int base) {
		return Pointer.pointerToAddress(PyNumber_ToBase(Pointer.getPeer(n), base), PyObject.class);
	}
	@Ptr 
	protected native static long PyNumber_ToBase(@Ptr long n, int base);
	/**
	 * Original signature : <code>int PySequence_Check(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:148</i>
	 */
	public static int PySequence_Check(Pointer<PyObject > o) {
		return PySequence_Check(Pointer.getPeer(o));
	}
	protected native static int PySequence_Check(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PySequence_Size(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:150</i>
	 */
	@Ptr 
	public static long PySequence_Size(Pointer<PyObject > o) {
		return PySequence_Size(Pointer.getPeer(o));
	}
	@Ptr 
	protected native static long PySequence_Size(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PySequence_Length(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:152</i>
	 */
	@Ptr 
	public static long PySequence_Length(Pointer<PyObject > o) {
		return PySequence_Length(Pointer.getPeer(o));
	}
	@Ptr 
	protected native static long PySequence_Length(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PySequence_Concat(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:154</i>
	 */
	public static Pointer<PyObject > PySequence_Concat(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PySequence_Concat(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_Concat(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PySequence_Repeat(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:156</i>
	 */
	public static Pointer<PyObject > PySequence_Repeat(Pointer<PyObject > o, @Ptr long count) {
		return Pointer.pointerToAddress(PySequence_Repeat(Pointer.getPeer(o), count), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_Repeat(@Ptr long o, @Ptr long count);
	/**
	 * Original signature : <code>PyObject* PySequence_GetItem(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:158</i>
	 */
	public static Pointer<PyObject > PySequence_GetItem(Pointer<PyObject > o, @Ptr long i) {
		return Pointer.pointerToAddress(PySequence_GetItem(Pointer.getPeer(o), i), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_GetItem(@Ptr long o, @Ptr long i);
	/**
	 * Original signature : <code>PyObject* PySequence_GetSlice(PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:160</i>
	 */
	public static Pointer<PyObject > PySequence_GetSlice(Pointer<PyObject > o, @Ptr long i1, @Ptr long i2) {
		return Pointer.pointerToAddress(PySequence_GetSlice(Pointer.getPeer(o), i1, i2), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_GetSlice(@Ptr long o, @Ptr long i1, @Ptr long i2);
	/**
	 * Original signature : <code>int PySequence_SetItem(PyObject*, Py_ssize_t, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:162</i>
	 */
	public static int PySequence_SetItem(Pointer<PyObject > o, @Ptr long i, Pointer<PyObject > v) {
		return PySequence_SetItem(Pointer.getPeer(o), i, Pointer.getPeer(v));
	}
	protected native static int PySequence_SetItem(@Ptr long o, @Ptr long i, @Ptr long v);
	/**
	 * Original signature : <code>int PySequence_DelItem(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:164</i>
	 */
	public static int PySequence_DelItem(Pointer<PyObject > o, @Ptr long i) {
		return PySequence_DelItem(Pointer.getPeer(o), i);
	}
	protected native static int PySequence_DelItem(@Ptr long o, @Ptr long i);
	/**
	 * Original signature : <code>int PySequence_SetSlice(PyObject*, Py_ssize_t, Py_ssize_t, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:166</i>
	 */
	public static int PySequence_SetSlice(Pointer<PyObject > o, @Ptr long i1, @Ptr long i2, Pointer<PyObject > v) {
		return PySequence_SetSlice(Pointer.getPeer(o), i1, i2, Pointer.getPeer(v));
	}
	protected native static int PySequence_SetSlice(@Ptr long o, @Ptr long i1, @Ptr long i2, @Ptr long v);
	/**
	 * Original signature : <code>int PySequence_DelSlice(PyObject*, Py_ssize_t, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:168</i>
	 */
	public static int PySequence_DelSlice(Pointer<PyObject > o, @Ptr long i1, @Ptr long i2) {
		return PySequence_DelSlice(Pointer.getPeer(o), i1, i2);
	}
	protected native static int PySequence_DelSlice(@Ptr long o, @Ptr long i1, @Ptr long i2);
	/**
	 * Original signature : <code>PyObject* PySequence_Tuple(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:170</i>
	 */
	public static Pointer<PyObject > PySequence_Tuple(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PySequence_Tuple(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_Tuple(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PySequence_List(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:172</i>
	 */
	public static Pointer<PyObject > PySequence_List(Pointer<PyObject > o) {
		return Pointer.pointerToAddress(PySequence_List(Pointer.getPeer(o)), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_List(@Ptr long o);
	/**
	 * Original signature : <code>PyObject* PySequence_Fast(PyObject*, const char*)</code><br>
	 * <i>native declaration : abstract.h:174</i>
	 */
	public static Pointer<PyObject > PySequence_Fast(Pointer<PyObject > o, Pointer<Byte > m) {
		return Pointer.pointerToAddress(PySequence_Fast(Pointer.getPeer(o), Pointer.getPeer(m)), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_Fast(@Ptr long o, @Ptr long m);
	/**
	 * Original signature : <code>Py_ssize_t PySequence_Count(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:176</i>
	 */
	@Ptr 
	public static long PySequence_Count(Pointer<PyObject > o, Pointer<PyObject > value) {
		return PySequence_Count(Pointer.getPeer(o), Pointer.getPeer(value));
	}
	@Ptr 
	protected native static long PySequence_Count(@Ptr long o, @Ptr long value);
	/**
	 * Original signature : <code>int PySequence_Contains(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:178</i>
	 */
	public static int PySequence_Contains(Pointer<PyObject > seq, Pointer<PyObject > ob) {
		return PySequence_Contains(Pointer.getPeer(seq), Pointer.getPeer(ob));
	}
	protected native static int PySequence_Contains(@Ptr long seq, @Ptr long ob);
	/**
	 * Original signature : <code>Py_ssize_t _PySequence_IterSearch(PyObject*, PyObject*, int)</code><br>
	 * <i>native declaration : abstract.h:180</i>
	 */
	@Ptr 
	public static long _PySequence_IterSearch(Pointer<PyObject > seq, Pointer<PyObject > obj, int operation) {
		return _PySequence_IterSearch(Pointer.getPeer(seq), Pointer.getPeer(obj), operation);
	}
	@Ptr 
	protected native static long _PySequence_IterSearch(@Ptr long seq, @Ptr long obj, int operation);
	/**
	 * Original signature : <code>int PySequence_In(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:182</i>
	 */
	public static int PySequence_In(Pointer<PyObject > o, Pointer<PyObject > value) {
		return PySequence_In(Pointer.getPeer(o), Pointer.getPeer(value));
	}
	protected native static int PySequence_In(@Ptr long o, @Ptr long value);
	/**
	 * Original signature : <code>Py_ssize_t PySequence_Index(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:184</i>
	 */
	@Ptr 
	public static long PySequence_Index(Pointer<PyObject > o, Pointer<PyObject > value) {
		return PySequence_Index(Pointer.getPeer(o), Pointer.getPeer(value));
	}
	@Ptr 
	protected native static long PySequence_Index(@Ptr long o, @Ptr long value);
	/**
	 * Original signature : <code>PyObject* PySequence_InPlaceConcat(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:186</i>
	 */
	public static Pointer<PyObject > PySequence_InPlaceConcat(Pointer<PyObject > o1, Pointer<PyObject > o2) {
		return Pointer.pointerToAddress(PySequence_InPlaceConcat(Pointer.getPeer(o1), Pointer.getPeer(o2)), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_InPlaceConcat(@Ptr long o1, @Ptr long o2);
	/**
	 * Original signature : <code>PyObject* PySequence_InPlaceRepeat(PyObject*, Py_ssize_t)</code><br>
	 * <i>native declaration : abstract.h:188</i>
	 */
	public static Pointer<PyObject > PySequence_InPlaceRepeat(Pointer<PyObject > o, @Ptr long count) {
		return Pointer.pointerToAddress(PySequence_InPlaceRepeat(Pointer.getPeer(o), count), PyObject.class);
	}
	@Ptr 
	protected native static long PySequence_InPlaceRepeat(@Ptr long o, @Ptr long count);
	/**
	 * Original signature : <code>int PyMapping_Check(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:190</i>
	 */
	public static int PyMapping_Check(Pointer<PyObject > o) {
		return PyMapping_Check(Pointer.getPeer(o));
	}
	protected native static int PyMapping_Check(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PyMapping_Size(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:192</i>
	 */
	@Ptr 
	public static long PyMapping_Size(Pointer<PyObject > o) {
		return PyMapping_Size(Pointer.getPeer(o));
	}
	@Ptr 
	protected native static long PyMapping_Size(@Ptr long o);
	/**
	 * Original signature : <code>Py_ssize_t PyMapping_Length(PyObject*)</code><br>
	 * <i>native declaration : abstract.h:194</i>
	 */
	@Ptr 
	public static long PyMapping_Length(Pointer<PyObject > o) {
		return PyMapping_Length(Pointer.getPeer(o));
	}
	@Ptr 
	protected native static long PyMapping_Length(@Ptr long o);
	/**
	 * Original signature : <code>int PyMapping_HasKeyString(PyObject*, char*)</code><br>
	 * <i>native declaration : abstract.h:196</i>
	 */
	public static int PyMapping_HasKeyString(Pointer<PyObject > o, Pointer<Byte > key) {
		return PyMapping_HasKeyString(Pointer.getPeer(o), Pointer.getPeer(key));
	}
	protected native static int PyMapping_HasKeyString(@Ptr long o, @Ptr long key);
	/**
	 * Original signature : <code>int PyMapping_HasKey(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:198</i>
	 */
	public static int PyMapping_HasKey(Pointer<PyObject > o, Pointer<PyObject > key) {
		return PyMapping_HasKey(Pointer.getPeer(o), Pointer.getPeer(key));
	}
	protected native static int PyMapping_HasKey(@Ptr long o, @Ptr long key);
	/**
	 * Original signature : <code>PyObject* PyMapping_GetItemString(PyObject*, char*)</code><br>
	 * <i>native declaration : abstract.h:200</i>
	 */
	public static Pointer<PyObject > PyMapping_GetItemString(Pointer<PyObject > o, Pointer<Byte > key) {
		return Pointer.pointerToAddress(PyMapping_GetItemString(Pointer.getPeer(o), Pointer.getPeer(key)), PyObject.class);
	}
	@Ptr 
	protected native static long PyMapping_GetItemString(@Ptr long o, @Ptr long key);
	/**
	 * Original signature : <code>int PyMapping_SetItemString(PyObject*, char*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:202</i>
	 */
	public static int PyMapping_SetItemString(Pointer<PyObject > o, Pointer<Byte > key, Pointer<PyObject > value) {
		return PyMapping_SetItemString(Pointer.getPeer(o), Pointer.getPeer(key), Pointer.getPeer(value));
	}
	protected native static int PyMapping_SetItemString(@Ptr long o, @Ptr long key, @Ptr long value);
	/**
	 * Original signature : <code>int PyObject_IsInstance(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:204</i>
	 */
	public static int PyObject_IsInstance(Pointer<PyObject > object, Pointer<PyObject > typeorclass) {
		return PyObject_IsInstance(Pointer.getPeer(object), Pointer.getPeer(typeorclass));
	}
	protected native static int PyObject_IsInstance(@Ptr long object, @Ptr long typeorclass);
	/**
	 * Original signature : <code>int PyObject_IsSubclass(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:206</i>
	 */
	public static int PyObject_IsSubclass(Pointer<PyObject > object, Pointer<PyObject > typeorclass) {
		return PyObject_IsSubclass(Pointer.getPeer(object), Pointer.getPeer(typeorclass));
	}
	protected native static int PyObject_IsSubclass(@Ptr long object, @Ptr long typeorclass);
	/**
	 * Original signature : <code>int _PyObject_RealIsInstance(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:208</i>
	 */
	public static int _PyObject_RealIsInstance(Pointer<PyObject > inst, Pointer<PyObject > cls) {
		return _PyObject_RealIsInstance(Pointer.getPeer(inst), Pointer.getPeer(cls));
	}
	protected native static int _PyObject_RealIsInstance(@Ptr long inst, @Ptr long cls);
	/**
	 * Original signature : <code>int _PyObject_RealIsSubclass(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : abstract.h:210</i>
	 */
	public static int _PyObject_RealIsSubclass(Pointer<PyObject > derived, Pointer<PyObject > cls) {
		return _PyObject_RealIsSubclass(Pointer.getPeer(derived), Pointer.getPeer(cls));
	}
	protected native static int _PyObject_RealIsSubclass(@Ptr long derived, @Ptr long cls);
	/**
	 * For internal use by buffer API functions<br>
	 * Original signature : <code>void _Py_add_one_to_index_F(int, Py_ssize_t*, const Py_ssize_t*)</code><br>
	 * <i>native declaration : abstract.h:215</i>
	 */
	public static void _Py_add_one_to_index_F(int nd, Pointer<SizeT > index, Pointer<SizeT > shape) {
		_Py_add_one_to_index_F(nd, Pointer.getPeer(index), Pointer.getPeer(shape));
	}
	protected native static void _Py_add_one_to_index_F(int nd, @Ptr long index, @Ptr long shape);
	/**
	 * Original signature : <code>void _Py_add_one_to_index_C(int, Py_ssize_t*, const Py_ssize_t*)</code><br>
	 * <i>native declaration : abstract.h:217</i>
	 */
	public static void _Py_add_one_to_index_C(int nd, Pointer<SizeT > index, Pointer<SizeT > shape) {
		_Py_add_one_to_index_C(nd, Pointer.getPeer(index), Pointer.getPeer(shape));
	}
	protected native static void _Py_add_one_to_index_C(int nd, @Ptr long index, @Ptr long shape);
	/**
	 * Public interface<br>
	 * Original signature : <code>PyCodeObject* PyCode_New(int, int, int, int, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, int, PyObject*)</code><br>
	 * <i>native declaration : code.h:29</i>
	 */
	public static Pointer<PyCodeObject > PyCode_New(int int1, int int2, int int3, int int4, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2, Pointer<PyObject > PyObjectPtr3, Pointer<PyObject > PyObjectPtr4, Pointer<PyObject > PyObjectPtr5, Pointer<PyObject > PyObjectPtr6, Pointer<PyObject > PyObjectPtr7, Pointer<PyObject > PyObjectPtr8, int int5, Pointer<PyObject > PyObjectPtr9) {
		return Pointer.pointerToAddress(PyCode_New(int1, int2, int3, int4, Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2), Pointer.getPeer(PyObjectPtr3), Pointer.getPeer(PyObjectPtr4), Pointer.getPeer(PyObjectPtr5), Pointer.getPeer(PyObjectPtr6), Pointer.getPeer(PyObjectPtr7), Pointer.getPeer(PyObjectPtr8), int5, Pointer.getPeer(PyObjectPtr9)), PyCodeObject.class);
	}
	@Ptr 
	protected native static long PyCode_New(int int1, int int2, int int3, int int4, @Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2, @Ptr long PyObjectPtr3, @Ptr long PyObjectPtr4, @Ptr long PyObjectPtr5, @Ptr long PyObjectPtr6, @Ptr long PyObjectPtr7, @Ptr long PyObjectPtr8, int int5, @Ptr long PyObjectPtr9);
	/**
	 * Creates a new empty code object with the specified source location.<br>
	 * Original signature : <code>PyCodeObject* PyCode_NewEmpty(const char*, const char*, int)</code><br>
	 * <i>native declaration : code.h:34</i>
	 */
	public static Pointer<PyCodeObject > PyCode_NewEmpty(Pointer<Byte > filename, Pointer<Byte > funcname, int firstlineno) {
		return Pointer.pointerToAddress(PyCode_NewEmpty(Pointer.getPeer(filename), Pointer.getPeer(funcname), firstlineno), PyCodeObject.class);
	}
	@Ptr 
	protected native static long PyCode_NewEmpty(@Ptr long filename, @Ptr long funcname, int firstlineno);
	/**
	 * Return the line number associated with the specified bytecode index<br>
	 * in this code object.  If you just need the line number of a frame,<br>
	 * use PyFrame_GetLineNumber() instead.<br>
	 * Original signature : <code>int PyCode_Addr2Line(PyCodeObject*, int)</code><br>
	 * <i>native declaration : code.h:41</i>
	 */
	public static int PyCode_Addr2Line(Pointer<PyCodeObject > PyCodeObjectPtr1, int int1) {
		return PyCode_Addr2Line(Pointer.getPeer(PyCodeObjectPtr1), int1);
	}
	protected native static int PyCode_Addr2Line(@Ptr long PyCodeObjectPtr1, int int1);
	/**
	 * Update *bounds to describe the first and one-past-the-last instructions in the<br>
	 * same line as lasti.  Return the number of that line.<br>
	 * Original signature : <code>int _PyCode_CheckLineNumber(PyCodeObject*, int, PyAddrPair*)</code><br>
	 * <i>native declaration : code.h:51</i>
	 */
	public static int _PyCode_CheckLineNumber(Pointer<PyCodeObject > co, int lasti, Pointer<PyAddrPair > bounds) {
		return _PyCode_CheckLineNumber(Pointer.getPeer(co), lasti, Pointer.getPeer(bounds));
	}
	protected native static int _PyCode_CheckLineNumber(@Ptr long co, int lasti, @Ptr long bounds);
	/**
	 * Original signature : <code>PyObject* PyCode_Optimize(PyObject*, PyObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : code.h:53</i>
	 */
	public static Pointer<PyObject > PyCode_Optimize(Pointer<PyObject > code, Pointer<PyObject > consts, Pointer<PyObject > names, Pointer<PyObject > lineno_obj) {
		return Pointer.pointerToAddress(PyCode_Optimize(Pointer.getPeer(code), Pointer.getPeer(consts), Pointer.getPeer(names), Pointer.getPeer(lineno_obj)), PyObject.class);
	}
	@Ptr 
	protected native static long PyCode_Optimize(@Ptr long code, @Ptr long consts, @Ptr long names, @Ptr long lineno_obj);
	/**
	 * Original signature : <code>PyCodeObject* PyNode_Compile(_node*, const char*)</code><br>
	 * <i>native declaration : compile.h:11</i>
	 */
	public static Pointer<PyCodeObject > PyNode_Compile(Pointer<Python27Library._node > _nodePtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyNode_Compile(Pointer.getPeer(_nodePtr1), Pointer.getPeer(charPtr1)), PyCodeObject.class);
	}
	@Ptr 
	protected native static long PyNode_Compile(@Ptr long _nodePtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyCodeObject* PyAST_Compile(_mod*, const char*, PyCompilerFlags*, PyArena*)</code><br>
	 * <i>native declaration : compile.h:20</i>
	 */
	public static Pointer<PyCodeObject > PyAST_Compile(Pointer<Python27Library._mod > _modPtr1, Pointer<Byte > charPtr1, Pointer<PyCompilerFlags > PyCompilerFlagsPtr1, Pointer<Python27Library._arena > PyArenaPtr1) {
		return Pointer.pointerToAddress(PyAST_Compile(Pointer.getPeer(_modPtr1), Pointer.getPeer(charPtr1), Pointer.getPeer(PyCompilerFlagsPtr1), Pointer.getPeer(PyArenaPtr1)), PyCodeObject.class);
	}
	@Ptr 
	protected native static long PyAST_Compile(@Ptr long _modPtr1, @Ptr long charPtr1, @Ptr long PyCompilerFlagsPtr1, @Ptr long PyArenaPtr1);
	/**
	 * Original signature : <code>PyFutureFeatures* PyFuture_FromAST(_mod*, const char*)</code><br>
	 * <i>native declaration : compile.h:22</i>
	 */
	public static Pointer<PyFutureFeatures > PyFuture_FromAST(Pointer<Python27Library._mod > _modPtr1, Pointer<Byte > charPtr1) {
		return Pointer.pointerToAddress(PyFuture_FromAST(Pointer.getPeer(_modPtr1), Pointer.getPeer(charPtr1)), PyFutureFeatures.class);
	}
	@Ptr 
	protected native static long PyFuture_FromAST(@Ptr long _modPtr1, @Ptr long charPtr1);
	/**
	 * Original signature : <code>PyObject* PyEval_EvalCode(PyCodeObject*, PyObject*, PyObject*)</code><br>
	 * <i>native declaration : eval.h:2</i>
	 */
	public static Pointer<PyObject > PyEval_EvalCode(Pointer<PyCodeObject > PyCodeObjectPtr1, Pointer<PyObject > PyObjectPtr1, Pointer<PyObject > PyObjectPtr2) {
		return Pointer.pointerToAddress(PyEval_EvalCode(Pointer.getPeer(PyCodeObjectPtr1), Pointer.getPeer(PyObjectPtr1), Pointer.getPeer(PyObjectPtr2)), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_EvalCode(@Ptr long PyCodeObjectPtr1, @Ptr long PyObjectPtr1, @Ptr long PyObjectPtr2);
	/**
	 * Original signature : <code>PyObject* PyEval_EvalCodeEx(PyCodeObject*, PyObject*, PyObject*, PyObject**, int, PyObject**, int, PyObject**, int, PyObject*)</code><br>
	 * <i>native declaration : eval.h:4</i>
	 */
	public static Pointer<PyObject > PyEval_EvalCodeEx(Pointer<PyCodeObject > co, Pointer<PyObject > globals, Pointer<PyObject > locals, Pointer<Pointer<PyObject > > args, int argc, Pointer<Pointer<PyObject > > kwds, int kwdc, Pointer<Pointer<PyObject > > defs, int defc, Pointer<PyObject > closure) {
		return Pointer.pointerToAddress(PyEval_EvalCodeEx(Pointer.getPeer(co), Pointer.getPeer(globals), Pointer.getPeer(locals), Pointer.getPeer(args), argc, Pointer.getPeer(kwds), kwdc, Pointer.getPeer(defs), defc, Pointer.getPeer(closure)), PyObject.class);
	}
	@Ptr 
	protected native static long PyEval_EvalCodeEx(@Ptr long co, @Ptr long globals, @Ptr long locals, @Ptr long args, int argc, @Ptr long kwds, int kwdc, @Ptr long defs, int defc, @Ptr long closure);
	/**
	 * Original signature : <code>PyObject* _PyEval_CallTracing(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : eval.h:6</i>
	 */
	public static Pointer<PyObject > _PyEval_CallTracing(Pointer<PyObject > func, Pointer<PyObject > args) {
		return Pointer.pointerToAddress(_PyEval_CallTracing(Pointer.getPeer(func), Pointer.getPeer(args)), PyObject.class);
	}
	@Ptr 
	protected native static long _PyEval_CallTracing(@Ptr long func, @Ptr long args);
	/**
	 * Original signature : <code>double PyOS_ascii_strtod(const char*, char**)</code><br>
	 * <i>native declaration : pystrtod.h:2</i>
	 */
	public static double PyOS_ascii_strtod(Pointer<Byte > str, Pointer<Pointer<Byte > > ptr) {
		return PyOS_ascii_strtod(Pointer.getPeer(str), Pointer.getPeer(ptr));
	}
	protected native static double PyOS_ascii_strtod(@Ptr long str, @Ptr long ptr);
	/**
	 * Original signature : <code>double PyOS_ascii_atof(const char*)</code><br>
	 * <i>native declaration : pystrtod.h:4</i>
	 */
	public static double PyOS_ascii_atof(Pointer<Byte > str) {
		return PyOS_ascii_atof(Pointer.getPeer(str));
	}
	protected native static double PyOS_ascii_atof(@Ptr long str);
	/**
	 * Deprecated in 2.7 and 3.1. Will disappear in 2.8 (if it exists) and 3.2<br>
	 * Original signature : <code>char* PyOS_ascii_formatd(char*, size_t, const char*, double)</code><br>
	 * <i>native declaration : pystrtod.h:9</i>
	 */
	public static Pointer<Byte > PyOS_ascii_formatd(Pointer<Byte > buffer, @Ptr long buf_len, Pointer<Byte > format, double d) {
		return Pointer.pointerToAddress(PyOS_ascii_formatd(Pointer.getPeer(buffer), buf_len, Pointer.getPeer(format), d), Byte.class);
	}
	@Ptr 
	protected native static long PyOS_ascii_formatd(@Ptr long buffer, @Ptr long buf_len, @Ptr long format, double d);
	/**
	 * Original signature : <code>double PyOS_string_to_double(const char*, char**, PyObject*)</code><br>
	 * <i>native declaration : pystrtod.h:11</i>
	 */
	public static double PyOS_string_to_double(Pointer<Byte > str, Pointer<Pointer<Byte > > endptr, Pointer<PyObject > overflow_exception) {
		return PyOS_string_to_double(Pointer.getPeer(str), Pointer.getPeer(endptr), Pointer.getPeer(overflow_exception));
	}
	protected native static double PyOS_string_to_double(@Ptr long str, @Ptr long endptr, @Ptr long overflow_exception);
	/**
	 * The caller is responsible for calling PyMem_Free to free the buffer<br>
	 * that's is returned.<br>
	 * Original signature : <code>char* PyOS_double_to_string(double, char, int, int, int*)</code><br>
	 * <i>native declaration : pystrtod.h:17</i>
	 */
	public static Pointer<Byte > PyOS_double_to_string(double val, byte format_code, int precision, int flags, Pointer<Integer > type) {
		return Pointer.pointerToAddress(PyOS_double_to_string(val, format_code, precision, flags, Pointer.getPeer(type)), Byte.class);
	}
	@Ptr 
	protected native static long PyOS_double_to_string(double val, byte format_code, int precision, int flags, @Ptr long type);
	/**
	 * Original signature : <code>double _Py_parse_inf_or_nan(const char*, char**)</code><br>
	 * <i>native declaration : pystrtod.h:19</i>
	 */
	public static double _Py_parse_inf_or_nan(Pointer<Byte > p, Pointer<Pointer<Byte > > endptr) {
		return _Py_parse_inf_or_nan(Pointer.getPeer(p), Pointer.getPeer(endptr));
	}
	protected native static double _Py_parse_inf_or_nan(@Ptr long p, @Ptr long endptr);
	/**
	 * Original signature : <code>int PyOS_mystrnicmp(const char*, const char*, Py_ssize_t)</code><br>
	 * <i>native declaration : pystrcmp.h:2</i>
	 */
	public static int PyOS_mystrnicmp(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2, @Ptr long Py_ssize_t1) {
		return PyOS_mystrnicmp(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2), Py_ssize_t1);
	}
	protected native static int PyOS_mystrnicmp(@Ptr long charPtr1, @Ptr long charPtr2, @Ptr long Py_ssize_t1);
	/**
	 * Original signature : <code>int PyOS_mystricmp(const char*, const char*)</code><br>
	 * <i>native declaration : pystrcmp.h:4</i>
	 */
	public static int PyOS_mystricmp(Pointer<Byte > charPtr1, Pointer<Byte > charPtr2) {
		return PyOS_mystricmp(Pointer.getPeer(charPtr1), Pointer.getPeer(charPtr2));
	}
	protected native static int PyOS_mystricmp(@Ptr long charPtr1, @Ptr long charPtr2);
	/**
	 * Original signature : <code>double _Py_dg_strtod(const char*, char**)</code><br>
	 * <i>native declaration : dtoa.h:2</i>
	 */
	public static double _Py_dg_strtod(Pointer<Byte > str, Pointer<Pointer<Byte > > ptr) {
		return _Py_dg_strtod(Pointer.getPeer(str), Pointer.getPeer(ptr));
	}
	protected native static double _Py_dg_strtod(@Ptr long str, @Ptr long ptr);
	/**
	 * Original signature : <code>char* _Py_dg_dtoa(double, int, int, int*, int*, char**)</code><br>
	 * <i>native declaration : dtoa.h:4</i>
	 */
	public static Pointer<Byte > _Py_dg_dtoa(double d, int mode, int ndigits, Pointer<Integer > decpt, Pointer<Integer > sign, Pointer<Pointer<Byte > > rve) {
		return Pointer.pointerToAddress(_Py_dg_dtoa(d, mode, ndigits, Pointer.getPeer(decpt), Pointer.getPeer(sign), Pointer.getPeer(rve)), Byte.class);
	}
	@Ptr 
	protected native static long _Py_dg_dtoa(double d, int mode, int ndigits, @Ptr long decpt, @Ptr long sign, @Ptr long rve);
	/**
	 * Original signature : <code>void _Py_dg_freedtoa(char*)</code><br>
	 * <i>native declaration : dtoa.h:6</i>
	 */
	public static void _Py_dg_freedtoa(Pointer<Byte > s) {
		_Py_dg_freedtoa(Pointer.getPeer(s));
	}
	protected native static void _Py_dg_freedtoa(@Ptr long s);
	/**
	 * _Py_Mangle is defined in compile.c<br>
	 * Original signature : <code>PyObject* _Py_Mangle(PyObject*, PyObject*)</code><br>
	 * <i>native declaration : Python.h:4</i>
	 */
	public static Pointer<PyObject > _Py_Mangle(Pointer<PyObject > p, Pointer<PyObject > name) {
		return Pointer.pointerToAddress(_Py_Mangle(Pointer.getPeer(p), Pointer.getPeer(name)), PyObject.class);
	}
	@Ptr 
	protected native static long _Py_Mangle(@Ptr long p, @Ptr long name);
	/**
	 * Original signature : <code>double PyFPE_dummy(void*)</code><br>
	 * <i>native declaration : pyfpe.h:3</i>
	 */
	public static double PyFPE_dummy(Pointer<? > voidPtr1) {
		return PyFPE_dummy(Pointer.getPeer(voidPtr1));
	}
	protected native static double PyFPE_dummy(@Ptr long voidPtr1);
	/**
	 * built-in 'type'<br>
	 * C type : extern PyTypeObject
	 */
	public PyTypeObject PyType_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyType_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * built-in 'type'<br>
	 * C type : extern PyTypeObject
	 */
	public Python27Library PyType_Type(PyTypeObject PyType_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyType_Type").as(PyTypeObject.class).set(PyType_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * built-in 'object'<br>
	 * C type : extern PyTypeObject
	 */
	public PyTypeObject PyBaseObject_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyBaseObject_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * built-in 'object'<br>
	 * C type : extern PyTypeObject
	 */
	public Python27Library PyBaseObject_Type(PyTypeObject PyBaseObject_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyBaseObject_Type").as(PyTypeObject.class).set(PyBaseObject_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * built-in 'super'<br>
	 * C type : extern PyTypeObject
	 */
	public PyTypeObject PySuper_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PySuper_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * built-in 'super'<br>
	 * C type : extern PyTypeObject
	 */
	public Python27Library PySuper_Type(PyTypeObject PySuper_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PySuper_Type").as(PyTypeObject.class).set(PySuper_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern _Py_HashSecret_t
	public _Py_HashSecret_t _Py_HashSecret() {
		try {
			return (_Py_HashSecret_t)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_HashSecret").as(_Py_HashSecret_t.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern _Py_HashSecret_t
	public Python27Library _Py_HashSecret(_Py_HashSecret_t _Py_HashSecret) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_HashSecret").as(_Py_HashSecret_t.class).set(_Py_HashSecret);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * _Py_NoneStruct is an object of undefined type which can be used in contexts<br>
	 * where NULL (nil) is not suitable (since NULL often means 'error').<br>
	 * Don't forget to apply Py_INCREF() when returning this value!!!<br>
	 * Don't use this directly<br>
	 * C type : extern PyObject
	 */
	public PyObject _Py_NoneStruct() {
		try {
			return (PyObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_NoneStruct").as(PyObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * _Py_NoneStruct is an object of undefined type which can be used in contexts<br>
	 * where NULL (nil) is not suitable (since NULL often means 'error').<br>
	 * Don't forget to apply Py_INCREF() when returning this value!!!<br>
	 * Don't use this directly<br>
	 * C type : extern PyObject
	 */
	public Python27Library _Py_NoneStruct(PyObject _Py_NoneStruct) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_NoneStruct").as(PyObject.class).set(_Py_NoneStruct);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Py_NotImplemented is a singleton used to signal that an operation is<br>
	 * not implemented for a given type combination.<br>
	 * Don't use this directly<br>
	 * C type : extern PyObject
	 */
	public PyObject _Py_NotImplementedStruct() {
		try {
			return (PyObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_NotImplementedStruct").as(PyObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Py_NotImplemented is a singleton used to signal that an operation is<br>
	 * not implemented for a given type combination.<br>
	 * Don't use this directly<br>
	 * C type : extern PyObject
	 */
	public Python27Library _Py_NotImplementedStruct(PyObject _Py_NotImplementedStruct) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_NotImplementedStruct").as(PyObject.class).set(_Py_NotImplementedStruct);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Maps Py_LT to Py_GT, ..., Py_GE to Py_LE.<br>
	 * Defined in object.c.<br>
	 * C type : extern int[]
	 */
	public Pointer<Integer > _Py_SwappedOp() {
		try {
			return (Pointer<Integer >)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_SwappedOp").as(DefaultParameterizedType.paramType(Pointer.class, Integer.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Maps Py_LT to Py_GT, ..., Py_GE to Py_LE.<br>
	 * Defined in object.c.<br>
	 * C type : extern int[]
	 */
	public Python27Library _Py_SwappedOp(Pointer<Integer > _Py_SwappedOp) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_SwappedOp").as(DefaultParameterizedType.paramType(Pointer.class, Integer.class)).set(_Py_SwappedOp);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int _PyTrash_delete_nesting() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyTrash_delete_nesting").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library _PyTrash_delete_nesting(int _PyTrash_delete_nesting) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyTrash_delete_nesting").as(int.class).set(_PyTrash_delete_nesting);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > _PyTrash_delete_later() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyTrash_delete_later").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library _PyTrash_delete_later(Pointer<PyObject > _PyTrash_delete_later) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyTrash_delete_later").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(_PyTrash_delete_later);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyGC_Head*
	public Pointer<PyGC_Head > _PyGC_generation0() {
		try {
			return (Pointer<PyGC_Head >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyGC_generation0").as(DefaultParameterizedType.paramType(Pointer.class, PyGC_Head.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyGC_Head*
	public Python27Library _PyGC_generation0(Pointer<PyGC_Head > _PyGC_generation0) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyGC_generation0").as(DefaultParameterizedType.paramType(Pointer.class, PyGC_Head.class)).set(_PyGC_generation0);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_DebugFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_DebugFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_DebugFlag(int Py_DebugFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_DebugFlag").as(int.class).set(Py_DebugFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_VerboseFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_VerboseFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_VerboseFlag(int Py_VerboseFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_VerboseFlag").as(int.class).set(Py_VerboseFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_InteractiveFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_InteractiveFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_InteractiveFlag(int Py_InteractiveFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_InteractiveFlag").as(int.class).set(Py_InteractiveFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_InspectFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_InspectFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_InspectFlag(int Py_InspectFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_InspectFlag").as(int.class).set(Py_InspectFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_OptimizeFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_OptimizeFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_OptimizeFlag(int Py_OptimizeFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_OptimizeFlag").as(int.class).set(Py_OptimizeFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_NoSiteFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_NoSiteFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_NoSiteFlag(int Py_NoSiteFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_NoSiteFlag").as(int.class).set(Py_NoSiteFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_BytesWarningFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_BytesWarningFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_BytesWarningFlag(int Py_BytesWarningFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_BytesWarningFlag").as(int.class).set(Py_BytesWarningFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_UseClassExceptionsFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_UseClassExceptionsFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_UseClassExceptionsFlag(int Py_UseClassExceptionsFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_UseClassExceptionsFlag").as(int.class).set(Py_UseClassExceptionsFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_FrozenFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_FrozenFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_FrozenFlag(int Py_FrozenFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_FrozenFlag").as(int.class).set(Py_FrozenFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_TabcheckFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_TabcheckFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_TabcheckFlag(int Py_TabcheckFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_TabcheckFlag").as(int.class).set(Py_TabcheckFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_UnicodeFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_UnicodeFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_UnicodeFlag(int Py_UnicodeFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_UnicodeFlag").as(int.class).set(Py_UnicodeFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_IgnoreEnvironmentFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_IgnoreEnvironmentFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_IgnoreEnvironmentFlag(int Py_IgnoreEnvironmentFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_IgnoreEnvironmentFlag").as(int.class).set(Py_IgnoreEnvironmentFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_DivisionWarningFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_DivisionWarningFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_DivisionWarningFlag(int Py_DivisionWarningFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_DivisionWarningFlag").as(int.class).set(Py_DivisionWarningFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_DontWriteBytecodeFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_DontWriteBytecodeFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_DontWriteBytecodeFlag(int Py_DontWriteBytecodeFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_DontWriteBytecodeFlag").as(int.class).set(Py_DontWriteBytecodeFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_NoUserSiteDirectory() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_NoUserSiteDirectory").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_NoUserSiteDirectory(int Py_NoUserSiteDirectory) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_NoUserSiteDirectory").as(int.class).set(Py_NoUserSiteDirectory);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * _XXX Py_QnewFlag should go away in 3.0.  It's true iff -Qnew is passed,<br>
	 * on the command line, and is used in 2.2 by ceval.c to make all "/" divisions<br>
	 * true divisions (which they will be in 3.0).
	 */
	public int _Py_QnewFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_QnewFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * _XXX Py_QnewFlag should go away in 3.0.  It's true iff -Qnew is passed,<br>
	 * on the command line, and is used in 2.2 by ceval.c to make all "/" divisions<br>
	 * true divisions (which they will be in 3.0).
	 */
	public Python27Library _Py_QnewFlag(int _Py_QnewFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_QnewFlag").as(int.class).set(_Py_QnewFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// Warn about 3.x issues
	public int Py_Py3kWarningFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_Py3kWarningFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// Warn about 3.x issues
	public Python27Library Py_Py3kWarningFlag(int Py_Py3kWarningFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_Py3kWarningFlag").as(int.class).set(Py_Py3kWarningFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int Py_HashRandomizationFlag() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_HashRandomizationFlag").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library Py_HashRandomizationFlag(int Py_HashRandomizationFlag) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_HashRandomizationFlag").as(int.class).set(Py_HashRandomizationFlag);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyUnicode_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyUnicode_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyUnicode_Type(PyTypeObject PyUnicode_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyUnicode_Type").as(PyTypeObject.class).set(PyUnicode_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern const unsigned char[]
	public Pointer<Byte > _Py_ascii_whitespace() {
		try {
			return (Pointer<Byte >)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ascii_whitespace").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern const unsigned char[]
	public Python27Library _Py_ascii_whitespace(Pointer<Byte > _Py_ascii_whitespace) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ascii_whitespace").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).set(_Py_ascii_whitespace);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyInt_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyInt_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyInt_Type(PyTypeObject PyInt_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyInt_Type").as(PyTypeObject.class).set(PyInt_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyBool_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyBool_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyBool_Type(PyTypeObject PyBool_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyBool_Type").as(PyTypeObject.class).set(PyBool_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Don't use these directly<br>
	 * C type : extern PyIntObject
	 */
	public PyIntObject _Py_ZeroStruct() {
		try {
			return (PyIntObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ZeroStruct").as(PyIntObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Don't use these directly<br>
	 * C type : extern PyIntObject
	 */
	public Python27Library _Py_ZeroStruct(PyIntObject _Py_ZeroStruct) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ZeroStruct").as(PyIntObject.class).set(_Py_ZeroStruct);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Don't use these directly<br>
	 * C type : extern PyIntObject
	 */
	public PyIntObject _Py_TrueStruct() {
		try {
			return (PyIntObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_TrueStruct").as(PyIntObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Don't use these directly<br>
	 * C type : extern PyIntObject
	 */
	public Python27Library _Py_TrueStruct(PyIntObject _Py_TrueStruct) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_TrueStruct").as(PyIntObject.class).set(_Py_TrueStruct);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyLong_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyLong_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyLong_Type(PyTypeObject PyLong_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyLong_Type").as(PyTypeObject.class).set(PyLong_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern int[256]
	@Array({256}) 
	public Pointer<Integer > _PyLong_DigitValue() {
		try {
			return (Pointer<Integer >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyLong_DigitValue").as(DefaultParameterizedType.paramType(Pointer.class, Integer.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyFloat_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyFloat_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyFloat_Type(PyTypeObject PyFloat_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyFloat_Type").as(PyTypeObject.class).set(PyFloat_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyComplex_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyComplex_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyComplex_Type(PyTypeObject PyComplex_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyComplex_Type").as(PyTypeObject.class).set(PyComplex_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyRange_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyRange_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyRange_Type(PyTypeObject PyRange_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyRange_Type").as(PyTypeObject.class).set(PyRange_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyBaseString_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyBaseString_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyBaseString_Type(PyTypeObject PyBaseString_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyBaseString_Type").as(PyTypeObject.class).set(PyBaseString_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyString_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyString_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyString_Type(PyTypeObject PyString_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyString_Type").as(PyTypeObject.class).set(PyString_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyMemoryView_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyMemoryView_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyMemoryView_Type(PyTypeObject PyMemoryView_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyMemoryView_Type").as(PyTypeObject.class).set(PyMemoryView_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyBuffer_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyBuffer_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyBuffer_Type(PyTypeObject PyBuffer_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyBuffer_Type").as(PyTypeObject.class).set(PyBuffer_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Type object<br>
	 * C type : extern PyTypeObject
	 */
	public PyTypeObject PyByteArray_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyByteArray_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Type object<br>
	 * C type : extern PyTypeObject
	 */
	public Python27Library PyByteArray_Type(PyTypeObject PyByteArray_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyByteArray_Type").as(PyTypeObject.class).set(PyByteArray_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyByteArrayIter_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyByteArrayIter_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyByteArrayIter_Type(PyTypeObject PyByteArrayIter_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyByteArrayIter_Type").as(PyTypeObject.class).set(PyByteArrayIter_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern char[]
	public Pointer<Byte > _PyByteArray_empty_string() {
		try {
			return (Pointer<Byte >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyByteArray_empty_string").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern char[]
	public Python27Library _PyByteArray_empty_string(Pointer<Byte > _PyByteArray_empty_string) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyByteArray_empty_string").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).set(_PyByteArray_empty_string);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyTuple_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyTuple_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyTuple_Type(PyTypeObject PyTuple_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyTuple_Type").as(PyTypeObject.class).set(PyTuple_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyList_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyList_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyList_Type(PyTypeObject PyList_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyList_Type").as(PyTypeObject.class).set(PyList_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDict_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDict_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDict_Type(PyTypeObject PyDict_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDict_Type").as(PyTypeObject.class).set(PyDict_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictIterKey_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictIterKey_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictIterKey_Type(PyTypeObject PyDictIterKey_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictIterKey_Type").as(PyTypeObject.class).set(PyDictIterKey_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictIterValue_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictIterValue_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictIterValue_Type(PyTypeObject PyDictIterValue_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictIterValue_Type").as(PyTypeObject.class).set(PyDictIterValue_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictIterItem_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictIterItem_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictIterItem_Type(PyTypeObject PyDictIterItem_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictIterItem_Type").as(PyTypeObject.class).set(PyDictIterItem_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictKeys_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictKeys_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictKeys_Type(PyTypeObject PyDictKeys_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictKeys_Type").as(PyTypeObject.class).set(PyDictKeys_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictItems_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictItems_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictItems_Type(PyTypeObject PyDictItems_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictItems_Type").as(PyTypeObject.class).set(PyDictItems_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictValues_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictValues_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictValues_Type(PyTypeObject PyDictValues_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictValues_Type").as(PyTypeObject.class).set(PyDictValues_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyEnum_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyEnum_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyEnum_Type(PyTypeObject PyEnum_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyEnum_Type").as(PyTypeObject.class).set(PyEnum_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyReversed_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyReversed_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyReversed_Type(PyTypeObject PyReversed_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyReversed_Type").as(PyTypeObject.class).set(PyReversed_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PySet_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PySet_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PySet_Type(PyTypeObject PySet_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PySet_Type").as(PyTypeObject.class).set(PySet_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyFrozenSet_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyFrozenSet_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyFrozenSet_Type(PyTypeObject PyFrozenSet_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyFrozenSet_Type").as(PyTypeObject.class).set(PyFrozenSet_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyCFunction_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyCFunction_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyCFunction_Type(PyTypeObject PyCFunction_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyCFunction_Type").as(PyTypeObject.class).set(PyCFunction_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyModule_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyModule_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyModule_Type(PyTypeObject PyModule_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyModule_Type").as(PyTypeObject.class).set(PyModule_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyFunction_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyFunction_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyFunction_Type(PyTypeObject PyFunction_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyFunction_Type").as(PyTypeObject.class).set(PyFunction_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * The classmethod and staticmethod types lives here, too<br>
	 * C type : extern PyTypeObject
	 */
	public PyTypeObject PyClassMethod_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyClassMethod_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * The classmethod and staticmethod types lives here, too<br>
	 * C type : extern PyTypeObject
	 */
	public Python27Library PyClassMethod_Type(PyTypeObject PyClassMethod_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyClassMethod_Type").as(PyTypeObject.class).set(PyClassMethod_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyStaticMethod_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyStaticMethod_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyStaticMethod_Type(PyTypeObject PyStaticMethod_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyStaticMethod_Type").as(PyTypeObject.class).set(PyStaticMethod_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyClass_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyClass_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyClass_Type(PyTypeObject PyClass_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyClass_Type").as(PyTypeObject.class).set(PyClass_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyInstance_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyInstance_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyInstance_Type(PyTypeObject PyInstance_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyInstance_Type").as(PyTypeObject.class).set(PyInstance_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyMethod_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyMethod_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyMethod_Type(PyTypeObject PyMethod_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyMethod_Type").as(PyTypeObject.class).set(PyMethod_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyFile_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyFile_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyFile_Type(PyTypeObject PyFile_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyFile_Type").as(PyTypeObject.class).set(PyFile_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * The default encoding used by the platform file system APIs<br>
	 * If non-NULL, this is different than the default encoding for strings<br>
	 * C type : extern const char*
	 */
	public Pointer<Byte > Py_FileSystemDefaultEncoding() {
		try {
			return (Pointer<Byte >)BridJ.getNativeLibrary("python27").getSymbolPointer("Py_FileSystemDefaultEncoding").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * The default encoding used by the platform file system APIs<br>
	 * If non-NULL, this is different than the default encoding for strings<br>
	 * C type : extern const char*
	 */
	public Python27Library Py_FileSystemDefaultEncoding(Pointer<Byte > Py_FileSystemDefaultEncoding) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("Py_FileSystemDefaultEncoding").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).set(Py_FileSystemDefaultEncoding);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyCObject_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyCObject_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyCObject_Type(PyTypeObject PyCObject_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyCObject_Type").as(PyTypeObject.class).set(PyCObject_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyCapsule_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyCapsule_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyCapsule_Type(PyTypeObject PyCapsule_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyCapsule_Type").as(PyTypeObject.class).set(PyCapsule_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Reveal traceback type so we can typecheck traceback objects<br>
	 * C type : extern PyTypeObject
	 */
	public PyTypeObject PyTraceBack_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyTraceBack_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Reveal traceback type so we can typecheck traceback objects<br>
	 * C type : extern PyTypeObject
	 */
	public Python27Library PyTraceBack_Type(PyTypeObject PyTraceBack_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyTraceBack_Type").as(PyTypeObject.class).set(PyTraceBack_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Don't use this directly<br>
	 * C type : extern PyObject
	 */
	public PyObject _Py_EllipsisObject() {
		try {
			return (PyObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_EllipsisObject").as(PyObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Don't use this directly<br>
	 * C type : extern PyObject
	 */
	public Python27Library _Py_EllipsisObject(PyObject _Py_EllipsisObject) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_EllipsisObject").as(PyObject.class).set(_Py_EllipsisObject);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PySlice_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PySlice_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PySlice_Type(PyTypeObject PySlice_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PySlice_Type").as(PyTypeObject.class).set(PySlice_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyEllipsis_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyEllipsis_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyEllipsis_Type(PyTypeObject PyEllipsis_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyEllipsis_Type").as(PyTypeObject.class).set(PyEllipsis_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyCell_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyCell_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyCell_Type(PyTypeObject PyCell_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyCell_Type").as(PyTypeObject.class).set(PyCell_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PySeqIter_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PySeqIter_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PySeqIter_Type(PyTypeObject PySeqIter_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PySeqIter_Type").as(PyTypeObject.class).set(PySeqIter_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyCallIter_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyCallIter_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyCallIter_Type(PyTypeObject PyCallIter_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyCallIter_Type").as(PyTypeObject.class).set(PyCallIter_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyGen_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyGen_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyGen_Type(PyTypeObject PyGen_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyGen_Type").as(PyTypeObject.class).set(PyGen_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyWrapperDescr_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyWrapperDescr_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyWrapperDescr_Type(PyTypeObject PyWrapperDescr_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyWrapperDescr_Type").as(PyTypeObject.class).set(PyWrapperDescr_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyDictProxy_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictProxy_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyDictProxy_Type(PyTypeObject PyDictProxy_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyDictProxy_Type").as(PyTypeObject.class).set(PyDictProxy_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyGetSetDescr_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyGetSetDescr_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyGetSetDescr_Type(PyTypeObject PyGetSetDescr_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyGetSetDescr_Type").as(PyTypeObject.class).set(PyGetSetDescr_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyMemberDescr_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyMemberDescr_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyMemberDescr_Type(PyTypeObject PyMemberDescr_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyMemberDescr_Type").as(PyTypeObject.class).set(PyMemberDescr_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyProperty_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyProperty_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyProperty_Type(PyTypeObject PyProperty_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyProperty_Type").as(PyTypeObject.class).set(PyProperty_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject _PyWeakref_RefType() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyWeakref_RefType").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library _PyWeakref_RefType(PyTypeObject _PyWeakref_RefType) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyWeakref_RefType").as(PyTypeObject.class).set(_PyWeakref_RefType);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject _PyWeakref_ProxyType() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyWeakref_ProxyType").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library _PyWeakref_ProxyType(PyTypeObject _PyWeakref_ProxyType) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyWeakref_ProxyType").as(PyTypeObject.class).set(_PyWeakref_ProxyType);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject _PyWeakref_CallableProxyType() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyWeakref_CallableProxyType").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library _PyWeakref_CallableProxyType(PyTypeObject _PyWeakref_CallableProxyType) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyWeakref_CallableProxyType").as(PyTypeObject.class).set(_PyWeakref_CallableProxyType);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_BaseException() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_BaseException").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_BaseException(Pointer<PyObject > PyExc_BaseException) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_BaseException").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_BaseException);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_Exception() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_Exception").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_Exception(Pointer<PyObject > PyExc_Exception) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_Exception").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_Exception);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_StopIteration() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_StopIteration").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_StopIteration(Pointer<PyObject > PyExc_StopIteration) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_StopIteration").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_StopIteration);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_GeneratorExit() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_GeneratorExit").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_GeneratorExit(Pointer<PyObject > PyExc_GeneratorExit) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_GeneratorExit").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_GeneratorExit);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_StandardError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_StandardError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_StandardError(Pointer<PyObject > PyExc_StandardError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_StandardError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_StandardError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_ArithmeticError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ArithmeticError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_ArithmeticError(Pointer<PyObject > PyExc_ArithmeticError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ArithmeticError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_ArithmeticError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_LookupError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_LookupError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_LookupError(Pointer<PyObject > PyExc_LookupError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_LookupError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_LookupError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_AssertionError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_AssertionError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_AssertionError(Pointer<PyObject > PyExc_AssertionError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_AssertionError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_AssertionError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_AttributeError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_AttributeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_AttributeError(Pointer<PyObject > PyExc_AttributeError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_AttributeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_AttributeError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_EOFError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_EOFError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_EOFError(Pointer<PyObject > PyExc_EOFError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_EOFError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_EOFError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_FloatingPointError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_FloatingPointError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_FloatingPointError(Pointer<PyObject > PyExc_FloatingPointError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_FloatingPointError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_FloatingPointError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_EnvironmentError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_EnvironmentError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_EnvironmentError(Pointer<PyObject > PyExc_EnvironmentError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_EnvironmentError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_EnvironmentError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_IOError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_IOError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_IOError(Pointer<PyObject > PyExc_IOError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_IOError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_IOError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_OSError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_OSError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_OSError(Pointer<PyObject > PyExc_OSError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_OSError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_OSError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_ImportError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ImportError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_ImportError(Pointer<PyObject > PyExc_ImportError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ImportError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_ImportError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_IndexError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_IndexError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_IndexError(Pointer<PyObject > PyExc_IndexError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_IndexError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_IndexError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_KeyError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_KeyError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_KeyError(Pointer<PyObject > PyExc_KeyError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_KeyError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_KeyError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_KeyboardInterrupt() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_KeyboardInterrupt").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_KeyboardInterrupt(Pointer<PyObject > PyExc_KeyboardInterrupt) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_KeyboardInterrupt").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_KeyboardInterrupt);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_MemoryError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_MemoryError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_MemoryError(Pointer<PyObject > PyExc_MemoryError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_MemoryError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_MemoryError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_NameError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_NameError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_NameError(Pointer<PyObject > PyExc_NameError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_NameError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_NameError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_OverflowError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_OverflowError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_OverflowError(Pointer<PyObject > PyExc_OverflowError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_OverflowError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_OverflowError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_RuntimeError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_RuntimeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_RuntimeError(Pointer<PyObject > PyExc_RuntimeError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_RuntimeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_RuntimeError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_NotImplementedError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_NotImplementedError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_NotImplementedError(Pointer<PyObject > PyExc_NotImplementedError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_NotImplementedError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_NotImplementedError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_SyntaxError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SyntaxError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_SyntaxError(Pointer<PyObject > PyExc_SyntaxError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SyntaxError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_SyntaxError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_IndentationError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_IndentationError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_IndentationError(Pointer<PyObject > PyExc_IndentationError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_IndentationError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_IndentationError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_TabError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_TabError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_TabError(Pointer<PyObject > PyExc_TabError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_TabError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_TabError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_ReferenceError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ReferenceError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_ReferenceError(Pointer<PyObject > PyExc_ReferenceError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ReferenceError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_ReferenceError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_SystemError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SystemError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_SystemError(Pointer<PyObject > PyExc_SystemError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SystemError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_SystemError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_SystemExit() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SystemExit").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_SystemExit(Pointer<PyObject > PyExc_SystemExit) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SystemExit").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_SystemExit);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_TypeError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_TypeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_TypeError(Pointer<PyObject > PyExc_TypeError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_TypeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_TypeError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UnboundLocalError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnboundLocalError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UnboundLocalError(Pointer<PyObject > PyExc_UnboundLocalError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnboundLocalError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UnboundLocalError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UnicodeError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UnicodeError(Pointer<PyObject > PyExc_UnicodeError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UnicodeError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UnicodeEncodeError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeEncodeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UnicodeEncodeError(Pointer<PyObject > PyExc_UnicodeEncodeError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeEncodeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UnicodeEncodeError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UnicodeDecodeError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeDecodeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UnicodeDecodeError(Pointer<PyObject > PyExc_UnicodeDecodeError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeDecodeError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UnicodeDecodeError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UnicodeTranslateError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeTranslateError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UnicodeTranslateError(Pointer<PyObject > PyExc_UnicodeTranslateError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeTranslateError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UnicodeTranslateError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_ValueError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ValueError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_ValueError(Pointer<PyObject > PyExc_ValueError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ValueError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_ValueError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_ZeroDivisionError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ZeroDivisionError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_ZeroDivisionError(Pointer<PyObject > PyExc_ZeroDivisionError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ZeroDivisionError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_ZeroDivisionError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_BufferError() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_BufferError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_BufferError(Pointer<PyObject > PyExc_BufferError) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_BufferError").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_BufferError);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_MemoryErrorInst() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_MemoryErrorInst").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_MemoryErrorInst(Pointer<PyObject > PyExc_MemoryErrorInst) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_MemoryErrorInst").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_MemoryErrorInst);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_RecursionErrorInst() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_RecursionErrorInst").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_RecursionErrorInst(Pointer<PyObject > PyExc_RecursionErrorInst) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_RecursionErrorInst").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_RecursionErrorInst);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Predefined warning categories<br>
	 * C type : extern PyObject*
	 */
	public Pointer<PyObject > PyExc_Warning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_Warning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * Predefined warning categories<br>
	 * C type : extern PyObject*
	 */
	public Python27Library PyExc_Warning(Pointer<PyObject > PyExc_Warning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_Warning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_Warning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UserWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UserWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UserWarning(Pointer<PyObject > PyExc_UserWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UserWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UserWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_DeprecationWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_DeprecationWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_DeprecationWarning(Pointer<PyObject > PyExc_DeprecationWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_DeprecationWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_DeprecationWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_PendingDeprecationWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_PendingDeprecationWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_PendingDeprecationWarning(Pointer<PyObject > PyExc_PendingDeprecationWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_PendingDeprecationWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_PendingDeprecationWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_SyntaxWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SyntaxWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_SyntaxWarning(Pointer<PyObject > PyExc_SyntaxWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_SyntaxWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_SyntaxWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_RuntimeWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_RuntimeWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_RuntimeWarning(Pointer<PyObject > PyExc_RuntimeWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_RuntimeWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_RuntimeWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_FutureWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_FutureWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_FutureWarning(Pointer<PyObject > PyExc_FutureWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_FutureWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_FutureWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_ImportWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ImportWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_ImportWarning(Pointer<PyObject > PyExc_ImportWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_ImportWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_ImportWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_UnicodeWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_UnicodeWarning(Pointer<PyObject > PyExc_UnicodeWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_UnicodeWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_UnicodeWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > PyExc_BytesWarning() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_BytesWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library PyExc_BytesWarning(Pointer<PyObject > PyExc_BytesWarning) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyExc_BytesWarning").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(PyExc_BytesWarning);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyThreadState*
	public Pointer<PyThreadState > _PyThreadState_Current() {
		try {
			return (Pointer<PyThreadState >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyThreadState_Current").as(DefaultParameterizedType.paramType(Pointer.class, PyThreadState.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyThreadState*
	public Python27Library _PyThreadState_Current(Pointer<PyThreadState > _PyThreadState_Current) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyThreadState_Current").as(DefaultParameterizedType.paramType(Pointer.class, PyThreadState.class)).set(_PyThreadState_Current);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * hook for PyEval_GetFrame(), requested for Psyco<br>
	 * C type : extern PyThreadFrameGetter
	 */
	public Pointer<Python27Library.PyThreadFrameGetter > _PyThreadState_GetFrame() {
		try {
			return (Pointer<Python27Library.PyThreadFrameGetter >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyThreadState_GetFrame").as(DefaultParameterizedType.paramType(Pointer.class, Python27Library.PyThreadFrameGetter.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/**
	 * hook for PyEval_GetFrame(), requested for Psyco<br>
	 * C type : extern PyThreadFrameGetter
	 */
	public Python27Library _PyThreadState_GetFrame(Pointer<Python27Library.PyThreadFrameGetter > _PyThreadState_GetFrame) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyThreadState_GetFrame").as(DefaultParameterizedType.paramType(Pointer.class, Python27Library.PyThreadFrameGetter.class)).set(_PyThreadState_GetFrame);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern char*
	public Pointer<Byte > _Py_PackageContext() {
		try {
			return (Pointer<Byte >)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_PackageContext").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern char*
	public Python27Library _Py_PackageContext(Pointer<Byte > _Py_PackageContext) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_PackageContext").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).set(_Py_PackageContext);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : PyOS_InputHook_callback
	public Pointer<Python27Library.PyOS_InputHook_callback > PyOS_InputHook() {
		try {
			return (Pointer<Python27Library.PyOS_InputHook_callback >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyOS_InputHook").as(DefaultParameterizedType.paramType(Pointer.class, Python27Library.PyOS_InputHook_callback.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : PyOS_InputHook_callback
	public Python27Library PyOS_InputHook(Pointer<Python27Library.PyOS_InputHook_callback > PyOS_InputHook) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyOS_InputHook").as(DefaultParameterizedType.paramType(Pointer.class, Python27Library.PyOS_InputHook_callback.class)).set(PyOS_InputHook);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : PyOS_ReadlineFunctionPointer_callback
	public Pointer<Python27Library.PyOS_ReadlineFunctionPointer_callback > PyOS_ReadlineFunctionPointer() {
		try {
			return (Pointer<Python27Library.PyOS_ReadlineFunctionPointer_callback >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyOS_ReadlineFunctionPointer").as(DefaultParameterizedType.paramType(Pointer.class, Python27Library.PyOS_ReadlineFunctionPointer_callback.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : PyOS_ReadlineFunctionPointer_callback
	public Python27Library PyOS_ReadlineFunctionPointer(Pointer<Python27Library.PyOS_ReadlineFunctionPointer_callback > PyOS_ReadlineFunctionPointer) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyOS_ReadlineFunctionPointer").as(DefaultParameterizedType.paramType(Pointer.class, Python27Library.PyOS_ReadlineFunctionPointer_callback.class)).set(PyOS_ReadlineFunctionPointer);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyThreadState*
	public Pointer<PyThreadState > _PyOS_ReadlineTState() {
		try {
			return (Pointer<PyThreadState >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PyOS_ReadlineTState").as(DefaultParameterizedType.paramType(Pointer.class, PyThreadState.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyThreadState*
	public Python27Library _PyOS_ReadlineTState(Pointer<PyThreadState > _PyOS_ReadlineTState) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PyOS_ReadlineTState").as(DefaultParameterizedType.paramType(Pointer.class, PyThreadState.class)).set(_PyOS_ReadlineTState);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int _Py_CheckRecursionLimit() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_CheckRecursionLimit").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library _Py_CheckRecursionLimit(int _Py_CheckRecursionLimit) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_CheckRecursionLimit").as(int.class).set(_Py_CheckRecursionLimit);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// this used to be handled on a per-thread basis - now just two globals
	public int _Py_Ticker() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_Ticker").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// this used to be handled on a per-thread basis - now just two globals
	public Python27Library _Py_Ticker(int _Py_Ticker) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_Ticker").as(int.class).set(_Py_Ticker);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int _Py_CheckInterval() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_CheckInterval").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library _Py_CheckInterval(int _Py_CheckInterval) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_CheckInterval").as(int.class).set(_Py_CheckInterval);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > _PySys_TraceFunc() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PySys_TraceFunc").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library _PySys_TraceFunc(Pointer<PyObject > _PySys_TraceFunc) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PySys_TraceFunc").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(_PySys_TraceFunc);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Pointer<PyObject > _PySys_ProfileFunc() {
		try {
			return (Pointer<PyObject >)BridJ.getNativeLibrary("python27").getSymbolPointer("_PySys_ProfileFunc").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyObject*
	public Python27Library _PySys_ProfileFunc(Pointer<PyObject > _PySys_ProfileFunc) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PySys_ProfileFunc").as(DefaultParameterizedType.paramType(Pointer.class, PyObject.class)).set(_PySys_ProfileFunc);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int _PySys_CheckInterval() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("_PySys_CheckInterval").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library _PySys_CheckInterval(int _PySys_CheckInterval) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("_PySys_CheckInterval").as(int.class).set(_PySys_CheckInterval);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyNullImporter_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyNullImporter_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyNullImporter_Type(PyTypeObject PyNullImporter_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyNullImporter_Type").as(PyTypeObject.class).set(PyNullImporter_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern _inittab*
	public Pointer<_inittab > PyImport_Inittab() {
		try {
			return (Pointer<_inittab >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyImport_Inittab").as(DefaultParameterizedType.paramType(Pointer.class, _inittab.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern _inittab*
	public Python27Library PyImport_Inittab(Pointer<_inittab > PyImport_Inittab) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyImport_Inittab").as(DefaultParameterizedType.paramType(Pointer.class, _inittab.class)).set(PyImport_Inittab);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern _frozen*
	public Pointer<_frozen > PyImport_FrozenModules() {
		try {
			return (Pointer<_frozen >)BridJ.getNativeLibrary("python27").getSymbolPointer("PyImport_FrozenModules").as(DefaultParameterizedType.paramType(Pointer.class, _frozen.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern _frozen*
	public Python27Library PyImport_FrozenModules(Pointer<_frozen > PyImport_FrozenModules) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyImport_FrozenModules").as(DefaultParameterizedType.paramType(Pointer.class, _frozen.class)).set(PyImport_FrozenModules);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public PyTypeObject PyCode_Type() {
		try {
			return (PyTypeObject)BridJ.getNativeLibrary("python27").getSymbolPointer("PyCode_Type").as(PyTypeObject.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern PyTypeObject
	public Python27Library PyCode_Type(PyTypeObject PyCode_Type) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyCode_Type").as(PyTypeObject.class).set(PyCode_Type);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern const unsigned int[256]
	@Array({256}) 
	public Pointer<Integer > _Py_ctype_table() {
		try {
			return (Pointer<Integer >)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ctype_table").as(DefaultParameterizedType.paramType(Pointer.class, Integer.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern const unsigned char[256]
	@Array({256}) 
	public Pointer<Byte > _Py_ctype_tolower() {
		try {
			return (Pointer<Byte >)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ctype_tolower").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	/// C type : extern const unsigned char[256]
	@Array({256}) 
	public Pointer<Byte > _Py_ctype_toupper() {
		try {
			return (Pointer<Byte >)BridJ.getNativeLibrary("python27").getSymbolPointer("_Py_ctype_toupper").as(DefaultParameterizedType.paramType(Pointer.class, Byte.class)).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public int PyFPE_counter() {
		try {
			return (int)BridJ.getNativeLibrary("python27").getSymbolPointer("PyFPE_counter").as(int.class).get();
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public Python27Library PyFPE_counter(int PyFPE_counter) {
		try {
			{
				BridJ.getNativeLibrary("python27").getSymbolPointer("PyFPE_counter").as(int.class).set(PyFPE_counter);
				return this;
			}
		}catch (Throwable $ex$) {
			throw new RuntimeException($ex$);
		}
	}
	public static class __gnuc_va_list extends TypedPointer {
		public __gnuc_va_list(long address) {
			super(address);
		}
		public __gnuc_va_list(Pointer address) {
			super(address);
		}
	};
	public static class PyLongObject extends TypedPointer {
		public PyLongObject(long address) {
			super(address);
		}
		public PyLongObject(Pointer address) {
			super(address);
		}
	};
	public static class PyArena extends TypedPointer {
		public PyArena(long address) {
			super(address);
		}
		public PyArena(Pointer address) {
			super(address);
		}
	};
	/// Undefined type
	/// Undefined type
	public static interface _longobject {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface jmp_buf {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface _node {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface FILE {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface PyMemberDef {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface _arena {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface filedescr {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface _mod {
		
	};
	/// Undefined type
	/// Undefined type
	public static interface symtable {
		
	}