# error "this header requires Py_BUILD_CORE define"
#endif
-PyAPI_FUNC(int) _PySys_Audit(
+extern int _PySys_Audit(
PyThreadState *tstate,
const char *event,
const char *argFormat,
PyAPI_FUNC() to not export the symbol. */
extern void _PySys_ClearAuditHooks(PyThreadState *tstate);
-PyAPI_FUNC(int) _PySys_SetAttr(PyObject *, PyObject *);
+extern int _PySys_SetAttr(PyObject *, PyObject *);
extern int _PySys_ClearAttrString(PyInterpreterState *interp,
const char *name, int verbose);
// Create a deadline.
// Pseudo code: _PyTime_GetMonotonicClock() + timeout.
+// Export for '_ssl' shared extension.
PyAPI_FUNC(_PyTime_t) _PyDeadline_Init(_PyTime_t timeout);
// Get remaining time from a deadline.
// Pseudo code: deadline - _PyTime_GetMonotonicClock().
+// Export for '_ssl' shared extension.
PyAPI_FUNC(_PyTime_t) _PyDeadline_Get(_PyTime_t deadline);
This function is signal safe. */
-PyAPI_FUNC(void) _Py_DumpTraceback(
+extern void _Py_DumpTraceback(
int fd,
PyThreadState *tstate);
This function is signal safe. */
-PyAPI_FUNC(const char*) _Py_DumpTracebackThreads(
+extern const char* _Py_DumpTracebackThreads(
int fd,
PyInterpreterState *interp,
PyThreadState *current_tstate);
string which is not ready (PyUnicode_WCHAR_KIND).
This function is signal safe. */
-PyAPI_FUNC(void) _Py_DumpASCII(int fd, PyObject *text);
+extern void _Py_DumpASCII(int fd, PyObject *text);
/* Format an integer as decimal into the file descriptor fd.
This function is signal safe. */
-PyAPI_FUNC(void) _Py_DumpDecimal(
+extern void _Py_DumpDecimal(
int fd,
size_t value);
/* Format an integer as hexadecimal with width digits into fd file descriptor.
The function is signal safe. */
-PyAPI_FUNC(void) _Py_DumpHexadecimal(
+extern void _Py_DumpHexadecimal(
int fd,
uintptr_t value,
Py_ssize_t width);
-PyAPI_FUNC(PyObject*) _PyTraceBack_FromFrame(
+extern PyObject* _PyTraceBack_FromFrame(
PyObject *tb_next,
PyFrameObject *frame);
/* Write the traceback tb to file f. Prefix each line with
indent spaces followed by the margin (if it is not NULL). */
-PyAPI_FUNC(int) _PyTraceBack_Print_Indented(
+extern int _PyTraceBack_Print_Indented(
PyObject *tb, int indent, const char* margin,
const char *header_margin, const char *header, PyObject *f);
-PyAPI_FUNC(int) _Py_WriteIndentedMargin(int, const char*, PyObject *);
-PyAPI_FUNC(int) _Py_WriteIndent(int, PyObject *);
+extern int _Py_WriteIndentedMargin(int, const char*, PyObject *);
+extern int _Py_WriteIndent(int, PyObject *);
#ifdef __cplusplus
}
}
-/* Get the traceback where a memory block was allocated.
-
- Return a tuple of (filename: str, lineno: int) tuples.
-
- Return None if the tracemalloc module is disabled or if the memory block
- is not tracked by tracemalloc.
-
- Raise an exception and return NULL on error. */
+// Get the traceback where a memory block was allocated.
+//
+// Return a tuple of (filename: str, lineno: int) tuples.
+//
+// Return None if the tracemalloc module is disabled or if the memory block
+// is not tracked by tracemalloc.
+//
+// Raise an exception and return NULL on error.
+//
+// Export for '_testinternalcapi' shared extension.
PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback(
unsigned int domain,
uintptr_t ptr);
extern void _PyStaticType_ClearWeakRefs(PyInterpreterState *, PyTypeObject *type);
extern void _PyStaticType_Dealloc(PyInterpreterState *, PyTypeObject *);
+// Export for 'math' shared extension
PyAPI_FUNC(PyObject *) _PyType_GetDict(PyTypeObject *);
extern PyObject * _PyType_GetBases(PyTypeObject *type);
extern PyObject * _PyType_GetMRO(PyTypeObject *type);
/* Format the object based on the format_spec, as defined in PEP 3101
(Advanced String Formatting). */
-PyAPI_FUNC(int) _PyUnicode_FormatAdvancedWriter(
+extern int _PyUnicode_FormatAdvancedWriter(
_PyUnicodeWriter *writer,
PyObject *obj,
PyObject *format_spec,
const char *errors, /* error handling */
Py_ssize_t *consumed); /* bytes consumed */
-/* Helper for PyUnicode_DecodeUnicodeEscape that detects invalid escape
- chars. */
+// Helper for PyUnicode_DecodeUnicodeEscape that detects invalid escape
+// chars.
+// Export for test_peg_generator.
PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeInternal(
const char *string, /* Unicode-Escape encoded string */
Py_ssize_t length, /* size of string */
extern int _PyUnicode_WideCharString_Converter(PyObject *, void *);
extern int _PyUnicode_WideCharString_Opt_Converter(PyObject *, void *);
+// Export for test_peg_generator
PyAPI_FUNC(Py_ssize_t) _PyUnicode_ScanIdentifier(PyObject *);
/* --- Runtime lifecycle -------------------------------------------------- */
extern int _PyWarnings_InitState(PyInterpreterState *interp);
-PyAPI_FUNC(PyObject*) _PyWarnings_Init(void);
+extern PyObject* _PyWarnings_Init(void);
extern void _PyErr_WarnUnawaitedCoroutine(PyObject *coro);
extern void _PyErr_WarnUnawaitedAgenMethod(PyAsyncGenObject *agen, PyObject *method);