.. XXX document these!
-.. c:var:: PyTypeObject PyProperty_Type
-
- The type object for the built-in descriptor types.
-
-
.. c:function:: PyObject* PyDescr_NewGetSet(PyTypeObject *type, struct PyGetSetDef *getset)
.. c:function:: PyObject* PyWrapper_New(PyObject *, PyObject *)
+.. c:macro:: PyDescr_COMMON
+
+ This is a :term:`soft deprecated` macro including the common fields for a
+ descriptor object.
+
+ This was included in Python's C API by mistake; do not use it in extensions.
+ For creating custom descriptor objects, create a class implementing the
+ descriptor protocol (:c:member:`~PyTypeObject.tp_descr_get` and
+ :c:member:`~PyTypeObject.tp_descr_set`).
+
+
Built-in descriptors
^^^^^^^^^^^^^^^^^^^^
+.. c:var:: PyTypeObject PyProperty_Type
+
+ The type object for property objects. This is the same object as
+ :class:`property` in the Python layer.
+
+
.. c:var:: PyTypeObject PySuper_Type
The type object for super objects. This is the same object as
Return :c:member:`~PyTypeObject.tp_name` of the exception class *ob*.
+.. c:macro:: PyException_HEAD
+
+ This is a :term:`soft deprecated` macro including the base fields for an
+ exception object.
+
+ This was included in Python's C API by mistake and is not designed for use
+ in extensions. For creating custom exception objects, use
+ :c:func:`PyErr_NewException` or otherwise create a class inheriting from
+ :c:data:`PyExc_BaseException`.
+
+
Exception Objects
=================
PyCF_MASK_OBSOLETE
PyCF_SOURCE_IS_UTF8
# cpython/descrobject.h
-PyDescr_COMMON
PyDescr_NAME
PyDescr_TYPE
PyWrapperFlag_KEYWORDS
PyUnstable_CopyPerfMapFile
PyUnstable_PerfTrampoline_CompileCode
PyUnstable_PerfTrampoline_SetPersistAfterFork
-# cpython/pyerrors.h
-PyException_HEAD
# cpython/pyframe.h
PyUnstable_EXECUTABLE_KINDS
PyUnstable_EXECUTABLE_KIND_BUILTIN_FUNCTION
PY_DEF_EVENT
PY_FOREACH_DICT_EVENT
# cpython/pystats.h
-PYSTATS_MAX_UOP_ID
\ No newline at end of file
+PYSTATS_MAX_UOP_ID