aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile.am6
-rw-r--r--lib/bool.h20
-rw-r--r--lib/bufferarray.h4
-rw-r--r--lib/bufferstore.h3
-rw-r--r--lib/iowatch.cc1
-rw-r--r--lib/iowatch.h2
-rw-r--r--lib/plpdirent.h110
-rw-r--r--lib/ppsocket.cc1
-rw-r--r--lib/ppsocket.h1
-rw-r--r--lib/psitime.cc17
-rw-r--r--lib/psitime.h10
-rw-r--r--lib/rfsv.h51
-rw-r--r--lib/rfsv16.cc33
-rw-r--r--lib/rfsv16.h4
-rw-r--r--lib/rfsv32.cc99
-rw-r--r--lib/rfsv32.h8
-rw-r--r--lib/rfsvfactory.cc1
-rw-r--r--lib/rpcs.cc1
-rw-r--r--lib/rpcs16.cc1
-rw-r--r--lib/rpcs32.cc1
-rw-r--r--lib/rpcsfactory.cc1
21 files changed, 212 insertions, 163 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am
index af983e3..367fbb7 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,10 +5,10 @@ lib_LTLIBRARIES = libplp.la
libplp_la_LDFLAGS = --debug -version-info 1:1:0
libplp_la_SOURCES = bufferarray.cc bufferstore.cc iowatch.cc ppsocket.cc \
rfsv16.cc rfsv32.cc rfsvfactory.cc log.cc rfsv.cc rpcs32.cc rpcs16.cc \
- rpcs.cc rpcsfactory.cc psitime.cc Enum.cc
-pkginclude_HEADERS = bool.h bufferarray.h bufferstore.h iowatch.h ppsocket.h \
+ rpcs.cc rpcsfactory.cc psitime.cc Enum.cc plpdirent.cc
+pkginclude_HEADERS = bufferarray.h bufferstore.h iowatch.h ppsocket.h \
rfsv.h rfsv16.h rfsv32.h rfsvfactory.h log.h rpcs32.h rpcs16.h rpcs.h \
- rpcsfactory.h psitime.h Enum.h
+ rpcsfactory.h psitime.h Enum.h plpdirent.h
maintainer-clean-local:
rm -f Makefile.in
diff --git a/lib/bool.h b/lib/bool.h
deleted file mode 100644
index 7525d6c..0000000
--- a/lib/bool.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _bool_h_
-#define _bool_h_
-
-#ifndef __GNUC__
-
-#ifndef bool
-#define bool int
-#endif
-
-#ifndef true
-#define true 1
-#endif
-
-#ifndef false
-#define false 0
-#endif
-
-#endif
-
-#endif
diff --git a/lib/bufferarray.h b/lib/bufferarray.h
index b43dcbd..358d428 100644
--- a/lib/bufferarray.h
+++ b/lib/bufferarray.h
@@ -1,7 +1,9 @@
#ifndef _bufferarray_h
#define _bufferarray_h
-#include "bool.h"
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
class bufferStore;
/**
diff --git a/lib/bufferstore.h b/lib/bufferstore.h
index 494d0af..65f6607 100644
--- a/lib/bufferstore.h
+++ b/lib/bufferstore.h
@@ -1,7 +1,6 @@
#ifndef _bufferstore_h
#define _bufferstore_h
-#include "bool.h"
class ostream;
/**
@@ -210,7 +209,7 @@ private:
};
inline bool bufferStore::empty() const {
- return (len-start) == 0;
+ return (len - start) == 0;
}
#endif
diff --git a/lib/iowatch.cc b/lib/iowatch.cc
index df7be8e..e3c86fc 100644
--- a/lib/iowatch.cc
+++ b/lib/iowatch.cc
@@ -26,7 +26,6 @@
#include <stream.h>
#include <memory.h>
-#include "bool.h"
#include "iowatch.h"
IOWatch::IOWatch() {
diff --git a/lib/iowatch.h b/lib/iowatch.h
index a578e05..12abb1f 100644
--- a/lib/iowatch.h
+++ b/lib/iowatch.h
@@ -1,8 +1,6 @@
#ifndef _iowatch_h
#define _iowatch_h
-#include "bool.h"
-
/**
* A simple wrapper for select()
*
diff --git a/lib/plpdirent.h b/lib/plpdirent.h
new file mode 100644
index 0000000..f29cc74
--- /dev/null
+++ b/lib/plpdirent.h
@@ -0,0 +1,110 @@
+#ifndef _PLP_DIRENT_H_
+#define _PLP_DIRENT_H_
+
+#include <string>
+#include <psitime.h>
+#include <rfsv.h>
+
+/**
+ * A class, representing a directory entry of the Psion.
+ * Objects of this type are used by @ref rfsv::readdir and
+ * @ref rfsv::dir for returning the entries of a directory.
+ */
+class PlpDirent {
+ friend class rfsv32;
+ friend class rfsv16;
+
+public:
+ /**
+ * Default constructor
+ */
+ PlpDirent() : size(0), attr(0), name(""), time(0L), attrstr("") { };
+
+ /**
+ * A copy constructor.
+ * Mainly used by STL container classes.
+ *
+ * @param d The object to be used as initializer.
+ */
+ PlpDirent(const PlpDirent &d);
+
+ /**
+ * Default destructor.
+ */
+ ~PlpDirent() {};
+
+ /**
+ * Retrieves the file size of a directory entry.
+ *
+ * @returns The file size in bytes.
+ */
+ long getSize();
+
+ /**
+ * Retrieves the file attributes of a directory entry.
+ *
+ * @returns The generic attributes ( @ref rfsv:file_attribs ).
+ */
+ long getAttr();
+
+ /**
+ * Retrieves the UIDs of a directory entry.
+ * This method returns always 0 with a Series3.
+ *
+ * @param uididx The index of the UID to retrieve (0 .. 2).
+ *
+ * @returns The selected UID or 0 if the index is out of range.
+ */
+ long getUID(int uididx);
+
+ /**
+ * Retrieve the file name of a directory entry.
+ *
+ * @returns The name of the file.
+ */
+ const char *getName();
+
+ /**
+ * Retrieve the modification time of a directory entry.
+ *
+ * @returns A @ref PsiTime object, representing the time.
+ */
+ PsiTime getPsiTime();
+
+ /**
+ * Set the file name of a directory entry.
+ * This is currently used in plpbackup only for
+ * changing the name to the full path. It does NOT
+ * change the name of the corresponding file on
+ * the Psion.
+ *
+ * @param str The new name of the file.
+ */
+ void setName(const char *str);
+
+ /**
+ * Assignment opreator
+ * Mainly used by STL container classes.
+ *
+ * @param e The new value to assign.
+ *
+ * @returns The modified object.
+ */
+ PlpDirent &operator=(const PlpDirent &e);
+
+ /**
+ * Prints the object contents.
+ * The output is in human readable similar to the
+ * output of a "ls" command.
+ */
+ friend ostream &operator<<(ostream &o, const PlpDirent &e);
+
+private:
+ long size;
+ long attr;
+ long uid[3];
+ PsiTime time;
+ string attrstr;
+ string name;
+};
+#endif
diff --git a/lib/ppsocket.cc b/lib/ppsocket.cc
index 2140cf8..cfaa429 100644
--- a/lib/ppsocket.cc
+++ b/lib/ppsocket.cc
@@ -35,7 +35,6 @@
#include <netinet/in.h>
#include <arpa/inet.h>
-#include "bool.h"
#include "bufferstore.h"
#include "ppsocket.h"
diff --git a/lib/ppsocket.h b/lib/ppsocket.h
index 3cd288a..f36344c 100644
--- a/lib/ppsocket.h
+++ b/lib/ppsocket.h
@@ -26,7 +26,6 @@
extern int errno;
-#include "bool.h"
class bufferStore;
class ppsocket
diff --git a/lib/psitime.cc b/lib/psitime.cc
index 11e16e0..bb4ea78 100644
--- a/lib/psitime.cc
+++ b/lib/psitime.cc
@@ -43,6 +43,14 @@ PsiTime::PsiTime(struct timeval *_utv = 0L, struct timezone *_utz = 0L) {
unix2psi();
}
+PsiTime::PsiTime(const PsiTime &t) {
+ utv = t.utv;
+ utz = t.utz;
+ ptv = t.ptv;
+ ptz = t.ptz;
+ ptzValid = t.ptzValid;
+}
+
PsiTime::~PsiTime() {
}
@@ -104,6 +112,15 @@ const unsigned long PsiTime::getPsiTimeHi(void) {
return ptv.tv_high;
}
+PsiTime &PsiTime::operator=(const PsiTime &t) {
+ utv = t.utv;
+ utz = t.utz;
+ ptv = t.ptv;
+ ptz = t.ptz;
+ ptzValid = t.ptzValid;
+ return *this;
+}
+
ostream &operator<<(ostream &s, const PsiTime &t) {
const char *fmt = "%c";
char buf[100];
diff --git a/lib/psitime.h b/lib/psitime.h
index 9755473..7072711 100644
--- a/lib/psitime.h
+++ b/lib/psitime.h
@@ -133,6 +133,11 @@ public:
PsiTime(void);
/**
+ * A copy-constructor
+ */
+ PsiTime(const PsiTime &t);
+
+ /**
* Destroys the instance.
*/
~PsiTime();
@@ -231,6 +236,11 @@ public:
*/
friend ostream &operator<<(ostream &s, const PsiTime &t);
+ /**
+ * Assignment operator
+ */
+ PsiTime &operator=(const PsiTime &t);
+
enum zone {
PSI_TZ_NONE = 0,
PSI_TZ_EUROPEAN = 1,
diff --git a/lib/rfsv.h b/lib/rfsv.h
index c6dafb5..b9279d4 100644
--- a/lib/rfsv.h
+++ b/lib/rfsv.h
@@ -1,12 +1,14 @@
#ifndef _rfsv_h_
#define _rfsv_h_
+#include <deque>
#include "Enum.h"
-#include "psitime.h"
+#include "plpdirent.h"
#include "bufferstore.h"
+typedef deque<class PlpDirent> PlpDir;
+
class ppsocket;
-class bufferArray;
const long RFSV_SENDLEN = 2000;
@@ -190,8 +192,8 @@ class rfsv {
* @param attr The open mode. Use @ref opMode to convert a combination of @ref open_flags
* and @ref open_mode to the machine-specific representation.
* @param name The name of the file to open.
- * @param handle The handle for usage with @ref fread,
- * @ref frwrite, @ref fseek @ref fclose is returned here.
+ * @param handle The handle for usage with @ref fread ,
+ * @ref frwrite , @ref fseek or @ref fclose is returned here.
*
* @returns A Psion error code (One of enum @ref #errs ).
*/
@@ -201,8 +203,8 @@ class rfsv {
* Creates a unique temporary file.
* The file is opened for reading and writing.
*
- * @param handle The handle for usage with @ref fread,
- * @ref frwrite, @ref fseek @ref fclose is returned here.
+ * @param handle The handle for usage with @ref fread ,
+ * @ref frwrite , @ref fseek or @ref fclose is returned here.
* @param name The name of the temporary file is returned here.
*
* @returns A Psion error code (One of enum @ref #errs ).
@@ -215,8 +217,8 @@ class rfsv {
* @param attr The open mode. Use @ref opMode to convert a combination of @ref open_flags
* and @ref open_mode to the machine-specific representation.
* @param name The name of the file to create.
- * @param handle The handle for usage with @ref fread,
- * @ref frwrite, @ref fseek @ref fclose is returned here.
+ * @param handle The handle for usage with @ref fread ,
+ * @ref frwrite , @ref fseek or @ref fclose is returned here.
*
* @returns A Psion error code (One of enum @ref #errs ).
*/
@@ -228,8 +230,8 @@ class rfsv {
* @param attr The open mode. Use @ref opMode to convert a combination of @ref open_flags
* and @ref open_mode to the machine-specific representation.
* @param name The name of the file to create.
- * @param handle The handle for usage with @ref fread,
- * @ref frwrite, @ref fseek @ref fclose is returned here.
+ * @param handle The handle for usage with @ref fread ,
+ * @ref frwrite , @ref fseek or @ref fclose is returned here.
*
* @returns A Psion error code (One of enum @ref #errs ).
*/
@@ -237,7 +239,7 @@ class rfsv {
/**
* Close a file on the Psion whih was previously opened/created by using
- * @ref fopen, @ref fcreatefile, @ref freplacefile or @ref mktemp.
+ * @ref fopen , @ref fcreatefile , @ref freplacefile or @ref mktemp .
*
* @param handle A valid file handle.
*/
@@ -247,14 +249,14 @@ class rfsv {
* Reads a directory on the Psion.
* The returned array of @ref bufferArray contains one @ref bufferStore element
* for each directory entry. For a description of the layout of the elements
- * in each directory entry, see @ref readdir.
+ * in each directory entry, see @ref readdir .
*
* @param name The name of the directory
- * @param ret Array of @ref bufferStore containing information for directory entries.
+ * @param ret An STL deque of @ref PlpDirent entries.
*
* @returns A Psion error code (One of enum @ref #errs ).
*/
- virtual Enum<errs> dir(const char * const name, bufferArray &ret) = 0;
+ virtual Enum<errs> dir(const char * const name, PlpDir &ret) = 0;
/**
* Retrieves the modification time of a file on the Psion.
@@ -473,9 +475,9 @@ class rfsv {
* Open a directory for reading with readdir.
*
* @param attr A combination of PSI_A_.. flags, representing the desired types
- * of entries to be returned when calling @ref readdir.
+ * of entries to be returned when calling @ref readdir .
* @param name The name of the directory
- * @param handle A handle to be used with @ref readdir and @ref closedir.
+ * @param handle A handle to be used with @ref readdir and @ref closedir .
*
* @returns A Psion error code (One of enum @ref #errs ).
*/
@@ -484,23 +486,14 @@ class rfsv {
/**
* Read directory entries.
* This method reads entries of a directory, previously
- * opened with @ref opendir.
+ * opened with @ref opendir .
*
- * The entry is returned in the buff parameter as follows:
- * <pre>
- * offset size value
- * 0 4 Pointer to a PsiTime object, representing the file's modification.
- * 4 4 Size in bytes.
- * 8 4 Attributes.
- * 12 ? Zero terminated file name.
- * </pre>
- *
- * @param handle A handle, obtained by calling @see opendir.
- * @param buff The entry information is returned here.
+ * @param handle A handle, obtained by calling @ref opendir .
+ * @param entry The entry information is returned here.
*
* @returns A Psion error code (One of enum @ref #errs ).
*/
- virtual Enum<errs> readdir(rfsvDirhandle &handle, bufferStore &buff) = 0;
+ virtual Enum<errs> readdir(rfsvDirhandle &handle, PlpDirent &entry) = 0;
/**
* Close a directory, previously opened with @ref opendir.
diff --git a/lib/rfsv16.cc b/lib/rfsv16.cc
index fdec2e7..26a153b 100644
--- a/lib/rfsv16.cc
+++ b/lib/rfsv16.cc
@@ -34,7 +34,6 @@
#include <time.h>
#include <string>
-#include "bool.h"
#include "rfsv16.h"
#include "bufferstore.h"
#include "ppsocket.h"
@@ -181,7 +180,7 @@ closedir(rfsvDirhandle &dH) {
}
Enum<rfsv::errs> rfsv16::
-readdir(rfsvDirhandle &dH, bufferStore &s) {
+readdir(rfsvDirhandle &dH, PlpDirent &e) {
Enum<rfsv::errs> res = E_PSI_GEN_NONE;
if (dH.b.getLen() < 17) {
@@ -198,32 +197,30 @@ readdir(rfsvDirhandle &dH, bufferStore &s) {
cerr << "dir: not version 2" << endl;
return E_PSI_GEN_FAIL;
}
- long attr = attr2std((long)dH.b.getWord(2));
- long size = dH.b.getDWord(4);
- PsiTime *date = new PsiTime((time_t)dH.b.getDWord(8));
- const char *name = dH.b.getString(16);
-
- dH.b.discardFirstBytes(17+strlen(name));
-
- s.init();
- s.addDWord((unsigned long)date);
- s.addDWord(size);
- s.addDWord(attr);
- s.addStringT(name);
+ e.attr = attr2std((long)dH.b.getWord(2));
+ e.size = dH.b.getDWord(4);
+ e.time = PsiTime((time_t)dH.b.getDWord(8));
+ e.name = dH.b.getString(16);
+ e.uid[0] = e.uid[1] = e.uid[2] = 0;
+ e.attrstr = attr2String(e.attr);
+
+ dH.b.discardFirstBytes(17 + e.name.length());
+
}
return res;
}
Enum<rfsv::errs> rfsv16::
-dir(const char *name, bufferArray &files)
+dir(const char *name, PlpDir &files)
{
rfsvDirhandle h;
+ files.clear();
Enum<rfsv::errs> res = opendir(PSI_A_HIDDEN | PSI_A_SYSTEM | PSI_A_DIR, name, h);
while (res == E_PSI_GEN_NONE) {
- bufferStore b;
- res = readdir(h, b);
+ PlpDirent e;
+ res = readdir(h, e);
if (res == E_PSI_GEN_NONE)
- files += b;
+ files.push_back(e);
}
closedir(h);
if (res == E_PSI_FILE_EOF)
diff --git a/lib/rfsv16.h b/lib/rfsv16.h
index 852d816..d0eda32 100644
--- a/lib/rfsv16.h
+++ b/lib/rfsv16.h
@@ -12,7 +12,7 @@ public:
Enum<rfsv::errs> fcreatefile(const long, const char * const, long &);
Enum<rfsv::errs> freplacefile(const long, const char * const, long &);
Enum<rfsv::errs> fclose(const long);
- Enum<rfsv::errs> dir(const char * const, bufferArray &);
+ Enum<rfsv::errs> dir(const char * const, PlpDir &);
Enum<rfsv::errs> fgetmtime(const char * const, PsiTime &);
Enum<rfsv::errs> fsetmtime(const char * const, const PsiTime);
Enum<rfsv::errs> fgetattr(const char * const, long &);
@@ -33,7 +33,7 @@ public:
Enum<rfsv::errs> rename(const char * const, const char * const);
Enum<rfsv::errs> remove(const char * const);
Enum<rfsv::errs> opendir(const long, const char * const, rfsvDirhandle &);
- Enum<rfsv::errs> readdir(rfsvDirhandle &, bufferStore &);
+ Enum<rfsv::errs> readdir(rfsvDirhandle &, PlpDirent &);
Enum<rfsv::errs> closedir(rfsvDirhandle &);
Enum<rfsv::errs> setVolumeName(const char, const char * const);
diff --git a/lib/rfsv32.cc b/lib/rfsv32.cc
index 5a23c08..8808879 100644
--- a/lib/rfsv32.cc
+++ b/lib/rfsv32.cc
@@ -25,16 +25,16 @@
#include <stream.h>
#include <stdlib.h>
-#include <fstream.h>
-#include <iomanip.h>
+#include <fstream>
+#include <iomanip>
#include <time.h>
-#include <string.h>
+#include <string>
-#include "bool.h"
#include "rfsv32.h"
#include "bufferstore.h"
#include "ppsocket.h"
#include "bufferarray.h"
+#include "plpdirent.h"
rfsv32::rfsv32(ppsocket * _skt)
{
@@ -126,7 +126,7 @@ fopendir(const long attr, const char * const name, long &handle)
{
bufferStore a;
char *n = convertSlash(name);
- a.addDWord(attr);
+ a.addDWord(attr | EPOC_ATTR_GETUID);
a.addWord(strlen(n));
a.addString(n);
free(n);
@@ -163,7 +163,7 @@ closedir(rfsvDirhandle &dH) {
}
Enum<rfsv::errs> rfsv32::
-readdir(rfsvDirhandle &dH, bufferStore &s) {
+readdir(rfsvDirhandle &dH, PlpDirent &e) {
Enum<rfsv::errs> res = E_PSI_GEN_NONE;
if (dH.b.getLen() < 17) {
@@ -174,23 +174,21 @@ readdir(rfsvDirhandle &dH, bufferStore &s) {
res = getResponse(dH.b);
}
if ((res == E_PSI_GEN_NONE) && (dH.b.getLen() > 16)) {
- long shortLen = dH.b.getDWord(0);
- long attributes = attr2std(dH.b.getDWord(4));
- long size = dH.b.getDWord(8);
- // long uid1 = dH.b.getDWord(20);
- // long uid2 = dH.b.getDWord(24);
- // long uid3 = dH.b.getDWord(28);
- long longLen = dH.b.getDWord(32);
- PsiTime *date = new PsiTime(dH.b.getDWord(16), dH.b.getDWord(12));
-
- s.init();
- s.addDWord((unsigned long)date);
- s.addDWord(size);
- s.addDWord(attributes);
+ long shortLen = dH.b.getDWord(0);
+ long longLen = dH.b.getDWord(32);
+
+ e.attr = attr2std(dH.b.getDWord(4));
+ e.size = dH.b.getDWord(8);
+ e.uid[0] = dH.b.getDWord(20);
+ e.uid[1] = dH.b.getDWord(24);
+ e.uid[2] = dH.b.getDWord(28);
+ e.time = PsiTime(dH.b.getDWord(16), dH.b.getDWord(12));
+ e.name = "";
+ e.attrstr = string(attr2String(e.attr));
+
int d = 36;
for (int i = 0; i < longLen; i++, d++)
- s.addByte(dH.b.getByte(d));
- s.addByte(0);
+ e.name += dH.b.getByte(d);
while (d % 4)
d++;
d += shortLen;
@@ -202,70 +200,21 @@ readdir(rfsvDirhandle &dH, bufferStore &s) {
}
Enum<rfsv::errs> rfsv32::
-dir(const char *name, bufferArray &files)
+dir(const char *name, PlpDir &files)
{
rfsvDirhandle h;
+ files.clear();
Enum<rfsv::errs> res = opendir(PSI_A_HIDDEN | PSI_A_SYSTEM | PSI_A_DIR, name, h);
while (res == E_PSI_GEN_NONE) {
- bufferStore b;
- res = readdir(h, b);
+ PlpDirent e;
+ res = readdir(h, e);
if (res == E_PSI_GEN_NONE)
- files += b;
+ files.push_back(e);
}
closedir(h);
if (res == E_PSI_FILE_EOF)
res = E_PSI_GEN_NONE;
return res;
-#if 0
- long handle;
- Enum<rfsv::errs> res = fopendir(EPOC_ATTR_HIDDEN | EPOC_ATTR_SYSTEM | EPOC_ATTR_DIRECTORY, name, handle);
- if (res != E_PSI_GEN_NONE)
- return res;
-
- while (1) {
- bufferStore a;
- a.addDWord(handle);
- if (!sendCommand(READ_DIR, a))
- return E_PSI_FILE_DISC;
- res = getResponse(a);
- if (res != E_PSI_GEN_NONE)
- break;
- while (a.getLen() > 16) {
- long shortLen = a.getDWord(0);
- long attributes = attr2std(a.getDWord(4));
- long size = a.getDWord(8);
- //unsigned long modLow = a.getDWord(12);
- //unsigned long modHi = a.getDWord(16);
- // long uid1 = a.getDWord(20);
- // long uid2 = a.getDWord(24);
- // long uid3 = a.getDWord(28);
- long longLen = a.getDWord(32);
-
- //long date = micro2time(modHi, modLow);
- PsiTime *date = new PsiTime(a.getDWord(16), a.getDWord(12));
-
- bufferStore s;
- s.addDWord((unsigned long)date);
- s.addDWord(size);
- s.addDWord(attributes);
- int d = 36;
- for (int i = 0; i < longLen; i++, d++)
- s.addByte(a.getByte(d));
- s.addByte(0);
- while (d % 4)
- d++;
- files += s;
- d += shortLen;
- while (d % 4)
- d++;
- a.discardFirstBytes(d);
- }
- }
- if (res == E_PSI_FILE_EOF)
- res = E_PSI_GEN_NONE;
- fclose(handle);
- return res;
-#endif
}
long rfsv32::
diff --git a/lib/rfsv32.h b/lib/rfsv32.h
index fb4c624..2ef584b 100644
--- a/lib/rfsv32.h
+++ b/lib/rfsv32.h
@@ -2,13 +2,14 @@
#define _rfsv32_h_
#include "rfsv.h"
+#include "plpdirent.h"
class rfsv32 : public rfsv {
public:
rfsv32(ppsocket *);
- Enum<rfsv::errs> dir(const char * const, bufferArray &);
+ Enum<rfsv::errs> dir(const char * const, PlpDir &);
Enum<rfsv::errs> dircount(const char * const, long &);
Enum<rfsv::errs> copyFromPsion(const char * const, const char * const, void *, cpCallback_t);
Enum<rfsv::errs> copyToPsion(const char * const, const char * const, void *, cpCallback_t);
@@ -35,7 +36,7 @@ public:
Enum<rfsv::errs> devlist(long &);
Enum<rfsv::errs> devinfo(const int, long &, long &, long &, long &, char * const);
Enum<rfsv::errs> opendir(const long, const char * const, rfsvDirhandle &);
- Enum<rfsv::errs> readdir(rfsvDirhandle &, bufferStore &);
+ Enum<rfsv::errs> readdir(rfsvDirhandle &, PlpDirent &);
Enum<rfsv::errs> closedir(rfsvDirhandle &);
Enum<rfsv::errs> setVolumeName(const char, const char * const);
long opMode(const long);
@@ -52,7 +53,8 @@ private:
EPOC_ATTR_NORMAL = 0x0080,
EPOC_ATTR_TEMPORARY = 0x0100,
EPOC_ATTR_COMPRESSED = 0x0800,
- EPOC_ATTR_MASK = 0x09f7 /* All of the above */
+ EPOC_ATTR_MASK = 0x09f7, /* All of the above */
+ EPOC_ATTR_GETUID = 0x10000000 /* Deliver UIDs on dir listing */
};
enum open_mode {
diff --git a/lib/rfsvfactory.cc b/lib/rfsvfactory.cc
index a0d8480..12bd623 100644
--- a/lib/rfsvfactory.cc
+++ b/lib/rfsvfactory.cc
@@ -29,7 +29,6 @@
#include <time.h>
#include <string.h>
-#include "bool.h"
#include "rfsv.h"
#include "rfsv16.h"
#include "rfsv32.h"
diff --git a/lib/rpcs.cc b/lib/rpcs.cc
index d93fad0..837f235 100644
--- a/lib/rpcs.cc
+++ b/lib/rpcs.cc
@@ -25,7 +25,6 @@
#include <time.h>
#include <string.h>
-#include "bool.h"
#include "rpcs.h"
#include "bufferstore.h"
#include "ppsocket.h"
diff --git a/lib/rpcs16.cc b/lib/rpcs16.cc
index 6e196fc..0a3121b 100644
--- a/lib/rpcs16.cc
+++ b/lib/rpcs16.cc
@@ -25,7 +25,6 @@
#include <time.h>
#include <string.h>
-#include "bool.h"
#include "rpcs16.h"
#include "bufferstore.h"
#include "ppsocket.h"
diff --git a/lib/rpcs32.cc b/lib/rpcs32.cc
index 2175ef0..7a7982f 100644
--- a/lib/rpcs32.cc
+++ b/lib/rpcs32.cc
@@ -26,7 +26,6 @@
#include <time.h>
#include <string.h>
-#include "bool.h"
#include "rpcs32.h"
#include "bufferstore.h"
#include "bufferarray.h"
diff --git a/lib/rpcsfactory.cc b/lib/rpcsfactory.cc
index 869c6c5..091f12a 100644
--- a/lib/rpcsfactory.cc
+++ b/lib/rpcsfactory.cc
@@ -30,7 +30,6 @@
#include <time.h>
#include <string.h>
-#include "bool.h"
#include "rpcs16.h"
#include "rpcs32.h"
#include "rpcsfactory.h"