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