perliol.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
#ifndef _PERLIOL_H
#define _PERLIOL_H
typedef struct {
struct PerlIO_list_s {
};
struct _PerlIO_funcs {
char *name;
const char *mode,
/* Unix-like functions - cf sfio line disciplines */
/* Stdio-like buffered IO functions */
/* Perl's snooping functions */
};
/*--------------------------------------------------------------------------------------*/
/* Kind values */
#define PERLIO_K_RAW 0x00000001
#define PERLIO_K_BUFFERED 0x00000002
#define PERLIO_K_CANCRLF 0x00000004
#define PERLIO_K_FASTGETS 0x00000008
#define PERLIO_K_DUMMY 0x00000010
#define PERLIO_K_UTF8 0x00008000
#define PERLIO_K_DESTRUCT 0x00010000
#define PERLIO_K_MULTIARG 0x00020000
/*--------------------------------------------------------------------------------------*/
struct _PerlIO {
};
/*--------------------------------------------------------------------------------------*/
/* Flag values */
#define PERLIO_F_EOF 0x00000100
#define PERLIO_F_CANWRITE 0x00000200
#define PERLIO_F_CANREAD 0x00000400
#define PERLIO_F_ERROR 0x00000800
#define PERLIO_F_TRUNCATE 0x00001000
#define PERLIO_F_APPEND 0x00002000
#define PERLIO_F_CRLF 0x00004000
#define PERLIO_F_UTF8 0x00008000
#define PERLIO_F_UNBUF 0x00010000
#define PERLIO_F_WRBUF 0x00020000
#define PERLIO_F_RDBUF 0x00040000
#define PERLIO_F_LINEBUF 0x00080000
#define PERLIO_F_TEMP 0x00100000
#define PERLIO_F_OPEN 0x00200000
#define PERLIO_F_FASTGETS 0x00400000
#define PERLIO_F_TTY 0x00800000
#define PERLIO_F_NOTREG 0x01000000
#define PerlIOBase(f) (*(f))
#define PerlIOValid(f) ((f) && *(f))
/*--------------------------------------------------------------------------------------*/
/* Data exports - EXT rather than extern is needed for Cygwin */
#ifdef HAS_MMAP
#endif
#ifdef WIN32
#endif
#ifdef PERLIO_USING_CRLF
#define PERLIO_STDTEXT "t"
#else
#define PERLIO_STDTEXT ""
#endif
/*--------------------------------------------------------------------------------------*/
/* Generic, or stub layer functions */
extern void PerlIOBase_flush_linebuf(pTHX);
/*--------------------------------------------------------------------------------------*/
/* perlio buffer layer
As this is reasonably generic its struct and "methods" are declared here
so they can be used to "inherit" from it.
*/
typedef struct {
} PerlIOBuf;
extern int PerlIOUnix_oflags(const char *mode);
/*--------------------------------------------------------------------------------------*/
#endif /* _PERLIOL_H */