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

This commit is contained in:
Victor Stinner 2025-10-07 23:49:08 +02:00 committed by GitHub
parent 25edfa7cf1
commit f962e1eacf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 24 additions and 18 deletions

17
Include/cpython/marshal.h Normal file
View file

@ -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);

View file

@ -1,31 +1,18 @@
/* Interface for marshal.c */ /* Interface for marshal.c */
#ifndef Py_MARSHAL_H #ifndef Py_MARSHAL_H
#define Py_MARSHAL_H #define Py_MARSHAL_H
#ifndef Py_LIMITED_API
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(const char *, #ifndef Py_LIMITED_API
Py_ssize_t); # define _Py_CPYTHON_MARSHAL_H
PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *, int); # include "cpython/marshal.h"
# undef _Py_CPYTHON_MARSHAL_H
#define Py_MARSHAL_VERSION 5 #endif
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);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* Py_LIMITED_API */
#endif /* !Py_MARSHAL_H */ #endif /* !Py_MARSHAL_H */

View file

@ -1271,6 +1271,7 @@ PYTHON_HEADERS= \
$(srcdir)/Include/cpython/pylock.h \ $(srcdir)/Include/cpython/pylock.h \
$(srcdir)/Include/cpython/longintrepr.h \ $(srcdir)/Include/cpython/longintrepr.h \
$(srcdir)/Include/cpython/longobject.h \ $(srcdir)/Include/cpython/longobject.h \
$(srcdir)/Include/cpython/marshal.h \
$(srcdir)/Include/cpython/memoryobject.h \ $(srcdir)/Include/cpython/memoryobject.h \
$(srcdir)/Include/cpython/methodobject.h \ $(srcdir)/Include/cpython/methodobject.h \
$(srcdir)/Include/cpython/modsupport.h \ $(srcdir)/Include/cpython/modsupport.h \

View file

@ -168,6 +168,7 @@
<ClInclude Include="..\Include\cpython\pylock.h" /> <ClInclude Include="..\Include\cpython\pylock.h" />
<ClInclude Include="..\Include\cpython\longintrepr.h" /> <ClInclude Include="..\Include\cpython\longintrepr.h" />
<ClInclude Include="..\Include\cpython\longobject.h" /> <ClInclude Include="..\Include\cpython\longobject.h" />
<ClInclude Include="..\Include\cpython\marshal.h" />
<ClInclude Include="..\Include\cpython\memoryobject.h" /> <ClInclude Include="..\Include\cpython\memoryobject.h" />
<ClInclude Include="..\Include\cpython\methodobject.h" /> <ClInclude Include="..\Include\cpython\methodobject.h" />
<ClInclude Include="..\Include\cpython\modsupport.h" /> <ClInclude Include="..\Include\cpython\modsupport.h" />