summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/Handle.h4
-rw-r--r--include/Input.h7
-rw-r--r--include/Output.h3
3 files changed, 11 insertions, 3 deletions
diff --git a/include/Handle.h b/include/Handle.h
index 763a34b..938c594 100644
--- a/include/Handle.h
+++ b/include/Handle.h
@@ -40,10 +40,13 @@ class Handle : public Base {
virtual int Dup() const throw (GeneralException);
virtual void SetZ(int = 9) throw (GeneralException);
virtual void Flush();
+
+ void * mmap(off_t = 0, size_t = -1);
protected:
Handle(int h);
int GetHandle() const;
off_t itell;
+ void * hFile;
private:
ssize_t uwrite(const void *, size_t) throw (GeneralException);
ssize_t uread(void *, size_t);
@@ -52,6 +55,7 @@ class Handle : public Base {
gzFile zfile;
z_stream zstrm;
int z, c;
+ void * hMapObject;
};
Handle & operator<<(Handle &, const String &);
diff --git a/include/Input.h b/include/Input.h
index 18173d2..6b53012 100644
--- a/include/Input.h
+++ b/include/Input.h
@@ -40,7 +40,7 @@ class Input : public Handle {
bool fromarchive;
private:
- static int wrapopen(const String &, openresults_t *);
+ int wrapopen(const String &, openresults_t *);
};
class Stdin_t : public Input {
@@ -59,8 +59,9 @@ class Archive : public Base {
Archive(Handle *, int = ARCHIVE_BUILTIN);
virtual ~Archive();
protected:
- static bool inarchive(const String &);
- static int open(const String &, Input::openresults_t *) throw (GeneralException);
+ static Archive * inarchive(const String &);
+ Handle * GetHandle();
+ int open(const String &, Input::openresults_t *);
private:
void create() throw (GeneralException);
bool inarchivein(const String &);
diff --git a/include/Output.h b/include/Output.h
index 3d97922..0967182 100644
--- a/include/Output.h
+++ b/include/Output.h
@@ -21,6 +21,9 @@ class Output : public Handle {
String n;
off_t size;
time_t date_modif;
+
+ private:
+ int wrapopen(const String &, int, int);
};
class Stdout_t : public Output {