17db96d56Sopenharmony_ci/* File object interface (what's left of it -- see io.py) */ 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci#ifndef Py_FILEOBJECT_H 47db96d56Sopenharmony_ci#define Py_FILEOBJECT_H 57db96d56Sopenharmony_ci#ifdef __cplusplus 67db96d56Sopenharmony_ciextern "C" { 77db96d56Sopenharmony_ci#endif 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci#define PY_STDIOTEXTMODE "b" 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ciPyAPI_FUNC(PyObject *) PyFile_FromFd(int, const char *, const char *, int, 127db96d56Sopenharmony_ci const char *, const char *, 137db96d56Sopenharmony_ci const char *, int); 147db96d56Sopenharmony_ciPyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int); 157db96d56Sopenharmony_ciPyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int); 167db96d56Sopenharmony_ciPyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *); 177db96d56Sopenharmony_ciPyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *); 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ci/* The default encoding used by the platform file system APIs 207db96d56Sopenharmony_ci If non-NULL, this is different than the default encoding for strings 217db96d56Sopenharmony_ci*/ 227db96d56Sopenharmony_ciPyAPI_DATA(const char *) Py_FileSystemDefaultEncoding; 237db96d56Sopenharmony_ci#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000 247db96d56Sopenharmony_ciPyAPI_DATA(const char *) Py_FileSystemDefaultEncodeErrors; 257db96d56Sopenharmony_ci#endif 267db96d56Sopenharmony_ciPyAPI_DATA(int) Py_HasFileSystemDefaultEncoding; 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 297db96d56Sopenharmony_ciPyAPI_DATA(int) Py_UTF8Mode; 307db96d56Sopenharmony_ci#endif 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ci/* A routine to check if a file descriptor can be select()-ed. */ 337db96d56Sopenharmony_ci#ifdef _MSC_VER 347db96d56Sopenharmony_ci /* On Windows, any socket fd can be select()-ed, no matter how high */ 357db96d56Sopenharmony_ci #define _PyIsSelectable_fd(FD) (1) 367db96d56Sopenharmony_ci#else 377db96d56Sopenharmony_ci #define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE) 387db96d56Sopenharmony_ci#endif 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci#ifndef Py_LIMITED_API 417db96d56Sopenharmony_ci# define Py_CPYTHON_FILEOBJECT_H 427db96d56Sopenharmony_ci# include "cpython/fileobject.h" 437db96d56Sopenharmony_ci# undef Py_CPYTHON_FILEOBJECT_H 447db96d56Sopenharmony_ci#endif 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci#ifdef __cplusplus 477db96d56Sopenharmony_ci} 487db96d56Sopenharmony_ci#endif 497db96d56Sopenharmony_ci#endif /* !Py_FILEOBJECT_H */ 50