mirror of
https://github.com/python/cpython.git
synced 2025-08-11 12:29:34 +00:00

This change is almost entirely moving code around and hiding import state behind internal API. We introduce no changes to behavior, nor to non-internal API. (Since there was already going to be a lot of churn, I took this as an opportunity to re-organize import.c into topically-grouped sections of code.) The motivation is to simplify a number of upcoming changes. Specific changes: * move existing import-related code to import.c, wherever possible * add internal API for interacting with import state (both global and per-interpreter) * use only API outside of import.c (to limit churn there when changing the location, etc.) * consolidate the import-related state of PyInterpreterState into a single struct field (this changes layout slightly) * add macros for import state in import.c (to simplify changing the location) * group code in import.c into sections *remove _PyState_AddModule() https://github.com/python/cpython/issues/101758
29 lines
734 B
C
29 lines
734 B
C
#ifndef Py_INTERNAL_SYSMODULE_H
|
|
#define Py_INTERNAL_SYSMODULE_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
PyAPI_FUNC(int) _PySys_Audit(
|
|
PyThreadState *tstate,
|
|
const char *event,
|
|
const char *argFormat,
|
|
...);
|
|
|
|
/* We want minimal exposure of this function, so use extern rather than
|
|
PyAPI_FUNC() to not export the symbol. */
|
|
extern void _PySys_ClearAuditHooks(PyThreadState *tstate);
|
|
|
|
PyAPI_FUNC(int) _PySys_SetAttr(PyObject *, PyObject *);
|
|
|
|
extern int _PySys_ClearAttrString(PyInterpreterState *interp,
|
|
const char *name, int verbose);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_INTERNAL_SYSMODULE_H */
|