This commit was manufactured by cvs2svn to create tag 'r22a4-fork'.
[python/dscho.git] / Include / descrobject.h
blob1671cebe1bfae4ac5eff557aa9fac661c79ee13e
1 /* Descriptors */
3 typedef PyObject *(*getter)(PyObject *, void *);
4 typedef int (*setter)(PyObject *, PyObject *, void *);
6 typedef struct PyGetSetDef {
7 char *name;
8 getter get;
9 setter set;
10 char *doc;
11 void *closure;
12 } PyGetSetDef;
14 typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args,
15 void *wrapped);
17 struct wrapperbase {
18 char *name;
19 wrapperfunc wrapper;
20 char *doc;
23 extern DL_IMPORT(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
24 extern DL_IMPORT(PyObject *) PyDescr_NewMember(PyTypeObject *,
25 struct PyMemberDef *);
26 extern DL_IMPORT(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
27 struct PyGetSetDef *);
28 extern DL_IMPORT(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
29 struct wrapperbase *, void *);
30 extern DL_IMPORT(int) PyDescr_IsData(PyObject *);
32 extern DL_IMPORT(PyObject *) PyDictProxy_New(PyObject *);
33 extern DL_IMPORT(PyObject *) PyWrapper_New(PyObject *, PyObject *);
36 extern DL_IMPORT(PyTypeObject) PyProperty_Type;