blob: 94d35918c5fa6bc9b9fe8584889bfdeb8f1a2feb [file] [log] [blame]
Guido van Rossumf70e43a1991-02-19 12:39:46 +00001
Guido van Rossum85a5fbb1990-10-14 12:07:46 +00002/* File object interface */
3
Fred Drakeea9cb5a2000-07-09 00:20:36 +00004#ifndef Py_FILEOBJECT_H
5#define Py_FILEOBJECT_H
6#ifdef __cplusplus
7extern "C" {
8#endif
9
Guido van Rossum051ab121995-02-27 10:17:52 +000010extern DL_IMPORT(PyTypeObject) PyFile_Type;
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000011
Tim Peters59c9a642001-09-13 05:38:56 +000012#define PyFile_Check(op) PyObject_TypeCheck(op, &PyFile_Type)
13#define PyFile_CheckExact(op) ((op)->ob_type == &PyFile_Type)
Guido van Rossum85a5fbb1990-10-14 12:07:46 +000014
Fred Drakeea9cb5a2000-07-09 00:20:36 +000015extern DL_IMPORT(PyObject *) PyFile_FromString(char *, char *);
16extern DL_IMPORT(void) PyFile_SetBufSize(PyObject *, int);
17extern DL_IMPORT(PyObject *) PyFile_FromFile(FILE *, char *, char *,
18 int (*)(FILE *));
19extern DL_IMPORT(FILE *) PyFile_AsFile(PyObject *);
20extern DL_IMPORT(PyObject *) PyFile_Name(PyObject *);
21extern DL_IMPORT(PyObject *) PyFile_GetLine(PyObject *, int);
22extern DL_IMPORT(int) PyFile_WriteObject(PyObject *, PyObject *, int);
23extern DL_IMPORT(int) PyFile_SoftSpace(PyObject *, int);
24extern DL_IMPORT(int) PyFile_WriteString(char *, PyObject *);
Andrew M. Kuchling06051ed2000-07-13 23:56:54 +000025extern DL_IMPORT(int) PyObject_AsFileDescriptor(PyObject *);
Guido van Rossuma3309961993-07-28 09:05:47 +000026
Mark Hammond26cffde42001-05-14 12:17:34 +000027/* The default encoding used by the platform file system APIs
28 If non-NULL, this is different than the default encoding for strings
29*/
30extern DL_IMPORT(const char *) Py_FileSystemDefaultEncoding;
31
Guido van Rossuma3309961993-07-28 09:05:47 +000032#ifdef __cplusplus
33}
34#endif
35#endif /* !Py_FILEOBJECT_H */