summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Include/cpython/tracemalloc.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools/python3/Include/cpython/tracemalloc.h')
-rw-r--r--contrib/tools/python3/Include/cpython/tracemalloc.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/contrib/tools/python3/Include/cpython/tracemalloc.h b/contrib/tools/python3/Include/cpython/tracemalloc.h
new file mode 100644
index 00000000000..6d094291ae2
--- /dev/null
+++ b/contrib/tools/python3/Include/cpython/tracemalloc.h
@@ -0,0 +1,32 @@
+#ifndef Py_LIMITED_API
+#ifndef Py_TRACEMALLOC_H
+#define Py_TRACEMALLOC_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Track an allocated memory block in the tracemalloc module.
+ Return 0 on success, return -1 on error (failed to allocate memory to store
+ the trace).
+
+ Return -2 if tracemalloc is disabled.
+
+ If memory block is already tracked, update the existing trace. */
+PyAPI_FUNC(int) PyTraceMalloc_Track(
+ unsigned int domain,
+ uintptr_t ptr,
+ size_t size);
+
+/* Untrack an allocated memory block in the tracemalloc module.
+ Do nothing if the block was not tracked.
+
+ Return -2 if tracemalloc is disabled, otherwise return 0. */
+PyAPI_FUNC(int) PyTraceMalloc_Untrack(
+ unsigned int domain,
+ uintptr_t ptr);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // !Py_TRACEMALLOC_H
+#endif // !Py_LIMITED_API