Commit | Line | Data |
---|---|---|
76e3520e GS |
1 | /* |
2 | ||
f7a92b15 DL |
3 | ipstdio.h |
4 | Interface for perl stdio functions | |
76e3520e GS |
5 | |
6 | */ | |
7 | ||
8 | #ifndef __Inc__IPerlStdIO___ | |
9 | #define __Inc__IPerlStdIO___ | |
10 | ||
11 | #ifndef PerlIO | |
12 | typedef struct _PerlIO PerlIO; | |
13 | #endif | |
14 | ||
15 | class IPerlStdIO | |
16 | { | |
17 | public: | |
f7a92b15 DL |
18 | virtual PerlIO* Stdin(void) = 0; |
19 | virtual PerlIO* Stdout(void) = 0; | |
20 | virtual PerlIO* Stderr(void) = 0; | |
21 | virtual PerlIO* Open(const char *, const char *, int &err) = 0; | |
22 | virtual int Close(PerlIO*, int &err) = 0; | |
23 | virtual int Eof(PerlIO*, int &err) = 0; | |
24 | virtual int Error(PerlIO*, int &err) = 0; | |
25 | virtual void Clearerr(PerlIO*, int &err) = 0; | |
26 | virtual int Getc(PerlIO*, int &err) = 0; | |
27 | virtual char* GetBase(PerlIO *, int &err) = 0; | |
28 | virtual int GetBufsiz(PerlIO *, int &err) = 0; | |
29 | virtual int GetCnt(PerlIO *, int &err) = 0; | |
30 | virtual char* GetPtr(PerlIO *, int &err) = 0; | |
9e6b2b00 | 31 | virtual char* Gets(PerlIO*, char*, int, int& err) = 0; |
f7a92b15 DL |
32 | virtual int Putc(PerlIO*, int, int &err) = 0; |
33 | virtual int Puts(PerlIO*, const char *, int &err) = 0; | |
34 | virtual int Flush(PerlIO*, int &err) = 0; | |
35 | virtual int Ungetc(PerlIO*,int, int &err) = 0; | |
36 | virtual int Fileno(PerlIO*, int &err) = 0; | |
37 | virtual PerlIO* Fdopen(int, const char *, int &err) = 0; | |
38 | virtual PerlIO* Reopen(const char*, const char*, PerlIO*, int &err) = 0; | |
39 | virtual SSize_t Read(PerlIO*,void *,Size_t, int &err) = 0; | |
40 | virtual SSize_t Write(PerlIO*,const void *,Size_t, int &err) = 0; | |
41 | virtual void SetBuf(PerlIO *, char*, int &err) = 0; | |
42 | virtual int SetVBuf(PerlIO *, char*, int, Size_t, int &err) = 0; | |
43 | virtual void SetCnt(PerlIO *, int, int &err) = 0; | |
44 | virtual void SetPtrCnt(PerlIO *, char *, int, int& err) = 0; | |
45 | virtual void Setlinebuf(PerlIO*, int &err) = 0; | |
46 | virtual int Printf(PerlIO*, int &err, const char *,...) = 0; | |
47 | virtual int Vprintf(PerlIO*, int &err, const char *, va_list) = 0; | |
48 | virtual long Tell(PerlIO*, int &err) = 0; | |
49 | virtual int Seek(PerlIO*, off_t, int, int &err) = 0; | |
50 | virtual void Rewind(PerlIO*, int &err) = 0; | |
51 | virtual PerlIO* Tmpfile(int &err) = 0; | |
52 | virtual int Getpos(PerlIO*, Fpos_t *, int &err) = 0; | |
53 | virtual int Setpos(PerlIO*, const Fpos_t *, int &err) = 0; | |
54 | virtual void Init(int &err) = 0; | |
55 | virtual void InitOSExtras(void* p) = 0; | |
e3b8966e GS |
56 | #ifdef WIN32 |
57 | virtual int OpenOSfhandle(long osfhandle, int flags) = 0; | |
58 | virtual int GetOSfhandle(int filenum) = 0; | |
59 | #endif | |
76e3520e GS |
60 | }; |
61 | ||
62 | #endif /* __Inc__IPerlStdIO___ */ | |
63 |