[asperl] added AS patch#2
[p5sagit/p5-mst-13.2.git] / iplio.h
1 /*
2
3         iplio.h
4         Interface for perl Low IO functions
5
6 */
7
8 #ifndef __Inc__IPerlLIO___
9 #define __Inc__IPerlLIO___
10
11 class IPerlLIO
12 {
13 public:
14         virtual int Access(const char *path, int mode, int &err) = 0;
15         virtual int Chmod(const char *filename, int pmode, int &err) = 0;
16         virtual int Chsize(int handle, long size, int &err) = 0;
17         virtual int Close(int handle, int &err) = 0;
18         virtual int Dup(int handle, int &err) = 0;
19         virtual int Dup2(int handle1, int handle2, int &err) = 0;
20         virtual int Flock(int fd, int oper, int &err) = 0;
21         virtual int FStat(int handle, struct stat *buffer, int &err) = 0;
22         virtual int IOCtl(int i, unsigned int u, char *data, int &err) = 0;
23         virtual int Isatty(int handle, int &err) = 0;
24         virtual long Lseek(int handle, long offset, int origin, int &err) = 0;
25         virtual int Lstat(const char *path, struct stat *buffer, int &err) = 0;
26         virtual char *Mktemp(char *Template, int &err) = 0;
27         virtual int Open(const char *filename, int oflag, int &err) = 0;        
28         virtual int Open(const char *filename, int oflag, int pmode, int &err) = 0;     
29         virtual int Read(int handle, void *buffer, unsigned int count, int &err) = 0;
30         virtual int Rename(const char *oldname, const char *newname, int &err) = 0;
31         virtual int Setmode(int handle, int mode, int &err) = 0;
32         virtual int STat(const char *path, struct stat *buffer, int &err) = 0;
33         virtual char *Tmpnam(char *string, int &err) = 0;
34         virtual int Umask(int pmode, int &err) = 0;
35         virtual int Unlink(const char *filename, int &err) = 0;
36         virtual int Utime(char *filename, struct utimbuf *times, int &err) = 0;
37         virtual int Write(int handle, const void *buffer, unsigned int count, int &err) = 0;
38 };
39
40 #endif  /* __Inc__IPerlLIO___ */