]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-79315: Add Include/cpython/marshal.h header (#139725)
authorVictor Stinner <vstinner@python.org>
Tue, 7 Oct 2025 21:49:08 +0000 (23:49 +0200)
committerGitHub <noreply@github.com>
Tue, 7 Oct 2025 21:49:08 +0000 (23:49 +0200)
Include/cpython/marshal.h [new file with mode: 0644]
Include/marshal.h
Makefile.pre.in
PCbuild/pythoncore.vcxproj

diff --git a/Include/cpython/marshal.h b/Include/cpython/marshal.h
new file mode 100644 (file)
index 0000000..6c1f7f9
--- /dev/null
@@ -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);
index f773587bdd0429e3ddbbd84ccbc5e10d8169a91c..2ccb112b40c75275665a012992feadfe10c64c1d 100644 (file)
@@ -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 */
index 244e25c348f5a4bde0b630aa4ec1fd4226513b5d..ff9a84e4c274c4913da8acb1ead9c5862f260117 100644 (file)
@@ -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 \
index d7544d3a9fb12251b4640cf759644ff443a59eeb..d043d23eed85c76ed77f542fae0dc1ec346f8357 100644 (file)
     <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" />