summaryrefslogtreecommitdiff
path: root/Include/descrobject.h
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2001-08-02 04:15:00 +0000
committerTim Peters <tim.peters@gmail.com>2001-08-02 04:15:00 +0000
commitd8f1888e1764ecb32a0d04eae72739480bffd393 (patch)
treebfab9c210304cd7f6f4ce2f050419055e638e0b9 /Include/descrobject.h
parent9080f8aaae52e9b294b4c6e44a4b94aa26eeb627 (diff)
downloadcpython-d8f1888e1764ecb32a0d04eae72739480bffd393.tar.gz
Merge of descr-branch back into trunk.
Diffstat (limited to 'Include/descrobject.h')
-rw-r--r--Include/descrobject.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/Include/descrobject.h b/Include/descrobject.h
new file mode 100644
index 0000000000..b6fc521022
--- /dev/null
+++ b/Include/descrobject.h
@@ -0,0 +1,32 @@
+/* XXX getter, setter, getsetlist and wrapperbase need 'Py'-prefixed names */
+
+typedef PyObject *(*getter)(PyObject *, void *);
+typedef int (*setter)(PyObject *, PyObject *, void *);
+
+struct getsetlist {
+ char *name;
+ getter get;
+ setter set;
+ void *closure;
+};
+
+typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args,
+ void *wrapped);
+
+struct wrapperbase {
+ char *name;
+ wrapperfunc wrapper;
+ char *doc;
+};
+
+extern DL_IMPORT(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
+extern DL_IMPORT(PyObject *) PyDescr_NewMember(PyTypeObject *,
+ struct memberlist *);
+extern DL_IMPORT(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
+ struct getsetlist *);
+extern DL_IMPORT(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
+ struct wrapperbase *, void *);
+extern DL_IMPORT(int) PyDescr_IsData(PyObject *);
+
+extern DL_IMPORT(PyObject *) PyDictProxy_New(PyObject *);
+extern DL_IMPORT(PyObject *) PyWrapper_New(PyObject *, PyObject *);