https://github.com/python/cpython/commit/f962e1eacf2141e6b14c96b58da62382a93b070b
commit: f962e1eacf2141e6b14c96b58da62382a93b070b
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2025-10-07T23:49:08+02:00
summary:

gh-79315: Add Include/cpython/marshal.h header (#139725)

files:
A Include/cpython/marshal.h
M Include/marshal.h
M Makefile.pre.in
M PCbuild/pythoncore.vcxproj

diff --git a/Include/cpython/marshal.h b/Include/cpython/marshal.h
new file mode 100644
index 00000000000000..6c1f7f96b6a2e8
--- /dev/null
+++ b/Include/cpython/marshal.h
@@ -0,0 +1,17 @@
+#ifndef _Py_CPYTHON_MARSHAL_H
+#  error "this header file must not be included directly"
+#endif
+
+PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(const char *,
+                                                      Py_ssize_t);
+PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int);
+
+#define Py_MARSHAL_VERSION 5
+
+PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
+PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *);
+PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
+PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
+
+PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
+PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int);
diff --git a/Include/marshal.h b/Include/marshal.h
index f773587bdd0429..2ccb112b40c752 100644
--- a/Include/marshal.h
+++ b/Include/marshal.h
@@ -1,31 +1,18 @@
-
 /* Interface for marshal.c */
 
 #ifndef Py_MARSHAL_H
 #define Py_MARSHAL_H
-#ifndef Py_LIMITED_API
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(const char *,
-                                                      Py_ssize_t);
-PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int);
-
-#define Py_MARSHAL_VERSION 5
-
-PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
-PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
-PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
-
-PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
-PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int);
+#ifndef Py_LIMITED_API
+#  define _Py_CPYTHON_MARSHAL_H
+#  include "cpython/marshal.h"
+#  undef _Py_CPYTHON_MARSHAL_H
+#endif
 
 #ifdef __cplusplus
 }
 #endif
-
-#endif /* Py_LIMITED_API */
 #endif /* !Py_MARSHAL_H */
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 244e25c348f5a4..ff9a84e4c274c4 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1271,6 +1271,7 @@ PYTHON_HEADERS= \
                $(srcdir)/Include/cpython/pylock.h \
                $(srcdir)/Include/cpython/longintrepr.h \
                $(srcdir)/Include/cpython/longobject.h \
+               $(srcdir)/Include/cpython/marshal.h \
                $(srcdir)/Include/cpython/memoryobject.h \
                $(srcdir)/Include/cpython/methodobject.h \
                $(srcdir)/Include/cpython/modsupport.h \
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
index d7544d3a9fb122..d043d23eed85c7 100644
--- a/PCbuild/pythoncore.vcxproj
+++ b/PCbuild/pythoncore.vcxproj
@@ -168,6 +168,7 @@
     <ClInclude Include="..\Include\cpython\pylock.h" />
     <ClInclude Include="..\Include\cpython\longintrepr.h" />
     <ClInclude Include="..\Include\cpython\longobject.h" />
+    <ClInclude Include="..\Include\cpython\marshal.h" />
     <ClInclude Include="..\Include\cpython\memoryobject.h" />
     <ClInclude Include="..\Include\cpython\methodobject.h" />
     <ClInclude Include="..\Include\cpython\modsupport.h" />

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to