typedef PyObject
*(*getter
)(PyObject
*, void *);
typedef int (*setter
)(PyObject
*, PyObject
*, void *);
typedef struct PyGetSetDef
{
typedef PyObject
*(*wrapperfunc
)(PyObject
*self
, PyObject
*args
,
typedef PyObject
*(*wrapperfunc_kwds
)(PyObject
*self
, PyObject
*args
,
void *wrapped
, PyObject
*kwds
);
/* Flags for above struct */
#define PyWrapperFlag_KEYWORDS 1 /* wrapper function takes keyword args */
/* Various kinds of descriptor objects */
struct PyMemberDef
*d_member
;
struct wrapperbase
*d_base
;
void *d_wrapped
; /* This can be any function pointer */
PyAPI_DATA(PyTypeObject
) PyWrapperDescr_Type
;
PyAPI_FUNC(PyObject
*) PyDescr_NewMethod(PyTypeObject
*, PyMethodDef
*);
PyAPI_FUNC(PyObject
*) PyDescr_NewClassMethod(PyTypeObject
*, PyMethodDef
*);
PyAPI_FUNC(PyObject
*) PyDescr_NewMember(PyTypeObject
*,
PyAPI_FUNC(PyObject
*) PyDescr_NewGetSet(PyTypeObject
*,
PyAPI_FUNC(PyObject
*) PyDescr_NewWrapper(PyTypeObject
*,
struct wrapperbase
*, void *);
#define PyDescr_IsData(d) ((d)->ob_type->tp_descr_set != NULL)
PyAPI_FUNC(PyObject
*) PyDictProxy_New(PyObject
*);
PyAPI_FUNC(PyObject
*) PyWrapper_New(PyObject
*, PyObject
*);
PyAPI_DATA(PyTypeObject
) PyProperty_Type
;
#endif /* !Py_DESCROBJECT_H */