mirror of
https://github.com/python/cpython.git
synced 2026-01-03 14:02:21 +00:00
<stdbool.h> is the standard/modern way to define embedd/extends Python free to define bool, true and false, but there are existing applications that use slightly different redefinitions, which fail if the header is included. It's OK to use stdbool outside the public headers, though. https://bugs.python.org/issue46748
42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
#ifndef Py_CPYTHON_IMPORT_H
|
|
# error "this header file must not be included directly"
|
|
#endif
|
|
|
|
PyMODINIT_FUNC PyInit__imp(void);
|
|
|
|
PyAPI_FUNC(int) _PyImport_IsInitialized(PyInterpreterState *);
|
|
|
|
PyAPI_FUNC(PyObject *) _PyImport_GetModuleId(_Py_Identifier *name);
|
|
PyAPI_FUNC(int) _PyImport_SetModule(PyObject *name, PyObject *module);
|
|
PyAPI_FUNC(int) _PyImport_SetModuleString(const char *name, PyObject* module);
|
|
|
|
PyAPI_FUNC(void) _PyImport_AcquireLock(void);
|
|
PyAPI_FUNC(int) _PyImport_ReleaseLock(void);
|
|
|
|
PyAPI_FUNC(int) _PyImport_FixupBuiltin(
|
|
PyObject *mod,
|
|
const char *name, /* UTF-8 encoded string */
|
|
PyObject *modules
|
|
);
|
|
PyAPI_FUNC(int) _PyImport_FixupExtensionObject(PyObject*, PyObject *,
|
|
PyObject *, PyObject *);
|
|
|
|
struct _inittab {
|
|
const char *name; /* ASCII encoded string */
|
|
PyObject* (*initfunc)(void);
|
|
};
|
|
PyAPI_DATA(struct _inittab *) PyImport_Inittab;
|
|
PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab);
|
|
|
|
struct _frozen {
|
|
const char *name; /* ASCII encoded string */
|
|
const unsigned char *code;
|
|
int size;
|
|
int is_package;
|
|
PyObject *(*get_code)(void);
|
|
};
|
|
|
|
/* Embedding apps may change this pointer to point to their favorite
|
|
collection of frozen modules: */
|
|
|
|
PyAPI_DATA(const struct _frozen *) PyImport_FrozenModules;
|