#endif
#include <assert.h>
-#include "pycore_structs.h" // _Py_BackoffCounter
+#include <stdbool.h>
+#include "pycore_structs.h" // _Py_BackoffCounter
/* 16-bit countdown counters using exponential backoff.
+/* This file contains the struct definitions for interpreter state
+ * and other necessary structs */
+
#ifndef Py_INTERNAL_INTERP_STRUCTS_H
#define Py_INTERNAL_INTERP_STRUCTS_H
#ifdef __cplusplus
#include "pycore_typedefs.h" // _PyRuntimeState
-/* This file contains the struct definitions for interpreter state
- * and other necessary structs */
-
#define CODE_MAX_WATCHERS 8
#define CONTEXT_MAX_WATCHERS 8
#define FUNC_MAX_WATCHERS 8
#endif
};
-#include "pycore_gil.h"
-
-/****** Thread state **************/
-#include "pytypedefs.h"
-#include "pystate.h"
-#include "pycore_tstate.h"
-
+#include "pycore_gil.h" // struct _gil_runtime_state
/**** Import ********/
/********** Interpreter state **************/
-#include "pycore_object_state.h"
-#include "pycore_crossinterp.h"
+#include "pycore_object_state.h" // struct _py_object_state
+#include "pycore_crossinterp.h" // _PyXI_state_t
struct _Py_long_state {
struct _func_version_cache_item func_version_cache[FUNC_VERSION_CACHE_SIZE];
};
-#include "pycore_dict_state.h"
-#include "pycore_exceptions.h"
+#include "pycore_dict_state.h" // struct _Py_dict_state
+#include "pycore_exceptions.h" // struct _Py_exc_state
/****** type state *********/
PyObject **array;
};
-#include "pycore_ucnhash.h"
+#include "pycore_ucnhash.h" // _PyUnicode_Name_CAPI
struct _Py_unicode_state {
struct _Py_unicode_fs_codec fs_codec;
PyObject *object__getattribute__;
};
-#include "pycore_obmalloc.h"
-
/* Length of array of slotdef pointers used to store slots with the
same __name__. There should be at most MAX_EQUIV-1 slotdef entries with
the same __name__, for any __name__. Since that's a static property, it is
} singletons;
};
-#include "pycore_instruments.h"
+#include "pycore_instruments.h" // PY_MONITORING_TOOL_IDS
#ifdef Py_GIL_DISABLED
};
-
#ifdef __cplusplus
}
#endif
+/* This file contains the struct definitions for the runtime, interpreter
+ * and thread states, plus all smaller structs contained therein */
+
#ifndef Py_INTERNAL_RUNTIME_STRUCTS_H
#define Py_INTERNAL_RUNTIME_STRUCTS_H
#ifdef __cplusplus
extern "C" {
#endif
-/* This file contains the struct definitions for the runtime, interpreter
- * and thread states, plus all smaller structs contained therein */
-
-#include "pycore_structs.h"
-#include "pycore_interp_structs.h"
+#include "pycore_interp_structs.h" // _PyGC_Head_UNUSED
+#include "pycore_obmalloc.h" // struct _obmalloc_global_state
/************ Runtime state ************/
} urandom_cache;
};
-#include "pycore_tracemalloc.h"
+#include "pycore_tracemalloc.h" // struct _tracemalloc_runtime_state
struct _fileutils_state {
int force_ascii;
};
-#include "pycore_debug_offsets.h"
-#include "pycore_signal.h"
-#include "pycore_faulthandler.h"
-#include "pycore_pythread.h"
-#include "pycore_ast.h"
+#include "pycore_debug_offsets.h" // _Py_DebugOffsets
+#include "pycore_signal.h" // struct _signals_runtime_state
+#include "pycore_faulthandler.h" // struct _faulthandler_runtime_state
+#include "pycore_ast.h" // struct _expr
#ifdef Py_DEBUG
#define _PYPEGEN_NSTATISTICS 2000
#define _PY_NSMALLPOSINTS 257
#define _PY_NSMALLNEGINTS 5
-#include "pycore_global_strings.h"
+#include "pycore_global_strings.h" // struct _Py_global_strings
struct _Py_static_objects {
struct {
};
-
#ifdef __cplusplus
}
#endif
+/* This files contains various key structs that are widely used
+ * and do not depend on other headers. */
+
#ifndef Py_INTERNAL_STRUCTS_H
#define Py_INTERNAL_STRUCTS_H
#ifdef __cplusplus
extern "C" {
#endif
-/* This files contains various key structs that are widely used
- * and do not depend on other headers. */
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdbool.h>
+#include <stdint.h> // uint16_t
typedef struct {
PyObject *b_array[1];
} PyHamtNode_Bitmap;
-#include "pycore_context.h"
+#include "pycore_context.h" // _PyContextTokenMissing
// Define this to get precise tracking of stackrefs.
// #define Py_STACKREF_DEBUG 1