qmsk/net/py.pxd
changeset 16 24ce1035b338
parent 14 c44754cc1ffe
child 20 0e4933d5862e
--- a/qmsk/net/py.pxd	Sun Aug 16 23:45:43 2009 +0300
+++ b/qmsk/net/py.pxd	Mon Aug 17 00:45:58 2009 +0300
@@ -1,14 +1,21 @@
 from qmsk.net.libc cimport ssize_t, errno
 
 cdef extern from "Python.h" :
-    struct PyObject :
+    ctypedef struct PyObject :
         pass
 
+    ## refcounting
+    void Py_XDECREF (PyObject *obj)
+
     ## string stuff
     int PyObject_AsCharBuffer (object obj, char **buf, ssize_t *len) except -1
 
-    object PyString_FromStringAndSize (char *v, ssize_t len)
-    char* PyString_AS_STRING (object) except NULL
+    PyObject* PyString_FromStringAndSize (char *v, ssize_t len)
+
+    # no error checking
+    ssize_t PyString_GET_SIZE (PyObject *str)
+    char* PyString_AS_STRING (PyObject *str)
+
     int _PyString_Resize (PyObject **string, ssize_t newsize) except -1
     
     ## except setting