Overrides the normal behavior of :func:`io.open_code` to pass its parameter
through the provided handler.
- The handler is a function of type :c:expr:`PyObject *(\*)(PyObject *path,
- void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`.
+ The handler is a function of type:
+
+ .. c:type:: Py_OpenCodeHookFunction
+
+ Equivalent of :c:expr:`PyObject *(\*)(PyObject *path,
+ void *userData)`, where *path* is guaranteed to be
+ :c:type:`PyUnicodeObject`.
The *userData* pointer is passed into the hook function. Since hook
functions may be called from different runtimes, this pointer should not
to NotImplemented and return it).
+.. c:macro:: Py_PRINT_RAW
+
+ Flag to be used with multiple functions that print the object (like
+ :c:func:`PyObject_Print` and :c:func:`PyFile_WriteObject`).
+ If passed, these function would use the :func:`str` of the object
+ instead of the :func:`repr`.
+
+
.. c:function:: int PyObject_Print(PyObject *o, FILE *fp, int flags)
Print an object *o*, on file *fp*. Returns ``-1`` on error. The flags argument