1/* File object interface (what's left of it -- see io.py) */
2
3#ifndef Py_FILEOBJECT_H
4#define Py_FILEOBJECT_H
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9#define PY_STDIOTEXTMODE "b"
10
11PyAPI_FUNC(PyObject *) PyFile_FromFd(int, const char *, const char *, int,
12 const char *, const char *,
13 const char *, int);
14PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int);
15PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int);
16PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *);
17PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *);
18
19/* The default encoding used by the platform file system APIs
20 If non-NULL, this is different than the default encoding for strings
21*/
22PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
23#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03060000
24PyAPI_DATA(const char *) Py_FileSystemDefaultEncodeErrors;
25#endif
26PyAPI_DATA(int) Py_HasFileSystemDefaultEncoding;
27
28#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000
29PyAPI_DATA(int) Py_UTF8Mode;
30#endif
31
32/* A routine to check if a file descriptor can be select()-ed. */
33#ifdef _MSC_VER
34 /* On Windows, any socket fd can be select()-ed, no matter how high */
35 #define _PyIsSelectable_fd(FD) (1)
36#else
37 #define _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (unsigned int)FD_SETSIZE)
38#endif
39
40#ifndef Py_LIMITED_API
41# define Py_CPYTHON_FILEOBJECT_H
42# include "cpython/fileobject.h"
43# undef Py_CPYTHON_FILEOBJECT_H
44#endif
45
46#ifdef __cplusplus
47}
48#endif
49#endif /* !Py_FILEOBJECT_H */
50