fileobject.h 1.48 KB
Newer Older
1
/* File object interface (what's left of it -- see io.py) */
Guido van Rossum's avatar
Guido van Rossum committed
2

3 4 5 6 7 8
#ifndef Py_FILEOBJECT_H
#define Py_FILEOBJECT_H
#ifdef __cplusplus
extern "C" {
#endif

9
#define PY_STDIOTEXTMODE "b"
Guido van Rossum's avatar
Guido van Rossum committed
10

11 12 13
PyAPI_FUNC(PyObject *) PyFile_FromFd(int, const char *, const char *, int,
                                     const char *, const char *,
                                     const char *, int);
14 15 16 17
PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int);
PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int);
PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *);
PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *);
18
#ifndef Py_LIMITED_API
19
PyAPI_FUNC(char *) Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *);
20
#endif
21

22
/* The default encoding used by the platform file system APIs
23
   If non-NULL, this is different than the default encoding for strings
24
*/
25
PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
26
PyAPI_DATA(int) Py_HasFileSystemDefaultEncoding;
27

28 29 30 31
/* Internal API

   The std printer acts as a preliminary sys.stderr until the new io
   infrastructure is in place. */
32
#ifndef Py_LIMITED_API
33 34
PyAPI_FUNC(PyObject *) PyFile_NewStdPrinter(int);
PyAPI_DATA(PyTypeObject) PyStdPrinter_Type;
35
#endif /* Py_LIMITED_API */
Benjamin Peterson's avatar
Benjamin Peterson committed
36

37 38 39 40 41 42 43
/* A routine to check if a file descriptor can be select()-ed. */
#ifdef HAVE_SELECT
 #define _PyIsSelectable_fd(FD) (((FD) >= 0) && ((FD) < FD_SETSIZE))
#else
 #define _PyIsSelectable_fd(FD) (1)
#endif /* HAVE_SELECT */

44 45 46 47
#ifdef __cplusplus
}
#endif
#endif /* !Py_FILEOBJECT_H */