(root)/
Python-3.11.7/
Include/
descrobject.h
       1  /* Descriptors */
       2  #ifndef Py_DESCROBJECT_H
       3  #define Py_DESCROBJECT_H
       4  #ifdef __cplusplus
       5  extern "C" {
       6  #endif
       7  
       8  typedef PyObject *(*getter)(PyObject *, void *);
       9  typedef int (*setter)(PyObject *, PyObject *, void *);
      10  
      11  struct PyGetSetDef {
      12      const char *name;
      13      getter get;
      14      setter set;
      15      const char *doc;
      16      void *closure;
      17  };
      18  
      19  PyAPI_DATA(PyTypeObject) PyClassMethodDescr_Type;
      20  PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type;
      21  PyAPI_DATA(PyTypeObject) PyMemberDescr_Type;
      22  PyAPI_DATA(PyTypeObject) PyMethodDescr_Type;
      23  PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type;
      24  PyAPI_DATA(PyTypeObject) PyDictProxy_Type;
      25  PyAPI_DATA(PyTypeObject) PyProperty_Type;
      26  
      27  PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
      28  PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *);
      29  PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *, PyMemberDef *);
      30  PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *, PyGetSetDef *);
      31  
      32  PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *);
      33  PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *);
      34  
      35  #ifndef Py_LIMITED_API
      36  #  define Py_CPYTHON_DESCROBJECT_H
      37  #  include "cpython/descrobject.h"
      38  #  undef Py_CPYTHON_DESCROBJECT_H
      39  #endif
      40  
      41  #ifdef __cplusplus
      42  }
      43  #endif
      44  #endif /* !Py_DESCROBJECT_H */