aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rfsv32.h
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>1999-07-01 20:42:30 +0000
committerFritz Elfert <felfert@to.com>1999-07-01 20:42:30 +0000
commit8c29602b21efacced9d7ff4cd1f3c4101dda5f65 (patch)
tree1dd05b02b68eb2ab19710f8f64a50f40585ef31d /lib/rfsv32.h
parent207d61513c4cd934466fa4d504bfadc50029325c (diff)
downloadplptools-8c29602b21efacced9d7ff4cd1f3c4101dda5f65.tar.gz
plptools-8c29602b21efacced9d7ff4cd1f3c4101dda5f65.tar.bz2
plptools-8c29602b21efacced9d7ff4cd1f3c4101dda5f65.zip
proper error handling and auto-reconnect
modified rfsv enums.
Diffstat (limited to 'lib/rfsv32.h')
-rw-r--r--lib/rfsv32.h146
1 files changed, 74 insertions, 72 deletions
diff --git a/lib/rfsv32.h b/lib/rfsv32.h
index 083bd3d..f6aeceb 100644
--- a/lib/rfsv32.h
+++ b/lib/rfsv32.h
@@ -9,6 +9,8 @@ class rfsv32 {
public:
rfsv32(ppsocket * skt);
~rfsv32();
+ void reset();
+ void reconnect();
long dir(const char *name, bufferArray * files);
long dircount(const char *name, long *count);
@@ -40,12 +42,80 @@ class rfsv32 {
char *opErr(long status);
enum seek_mode {
- PSEEK_SET = 1,
- PSEEK_CUR = 2,
- PSEEK_END = 3
+ PSI_SEEK_SET = 1,
+ PSI_SEEK_CUR = 2,
+ PSI_SEEK_END = 3
};
- private:
+ enum file_attrib {
+ PSI_ATTR_RONLY = 0x0001,
+ PSI_ATTR_HIDDEN = 0x0002,
+ PSI_ATTR_SYSTEM = 0x0004,
+ PSI_ATTR_DIRECTORY = 0x0010,
+ PSI_ATTR_ARCHIVE = 0x0020,
+ PSI_ATTR_VOLUME = 0x0040,
+ PSI_ATTR_NORMAL = 0x0080,
+ PSI_ATTR_TEMPORARY = 0x0100,
+ PSI_ATTR_COMPRESSED = 0x0800
+ };
+
+ enum open_mode {
+ PSI_OMODE_SHARE_EXCLUSIVE = 0x0000,
+ PSI_OMODE_SHARE_READERS = 0x0001,
+ PSI_OMODE_SHARE_ANY = 0x0002,
+ PSI_OMODE_BINARY = 0x0000,
+ PSI_OMODE_TEXT = 0x0020,
+ PSI_OMODE_READ_WRITE = 0x0200
+ };
+
+ enum errs {
+ PSI_ERR_NONE = 0,
+ PSI_ERR_NOT_FOUND = -1,
+ PSI_ERR_GENERAL = -2,
+ PSI_ERR_CANCEL = -3,
+ PSI_ERR_NO_MEMORY = -4,
+ PSI_ERR_NOT_SUPPORTED = -5,
+ PSI_ERR_ARGUMENT = -6,
+ PSI_ERR_TOTAL_LOSS_OF_PRECISION = -7,
+ PSI_ERR_BAD_HANDLE = -8,
+ PSI_ERR_OVERFLOW = -9,
+ PSI_ERR_UNDERFLOW = -10,
+ PSI_ERR_ALREADY_EXISTS = -11,
+ PSI_ERR_PATH_NOT_FOUND = -12,
+ PSI_ERR_DIED = -13,
+ PSI_ERR_IN_USE = -14,
+ PSI_ERR_SERVER_TERMINATED = -15,
+ PSI_ERR_SERVER_BUSY = -16,
+ PSI_ERR_COMPLETION = -17,
+ PSI_ERR_NOT_READY = -18,
+ PSI_ERR_UNKNOWN = -19,
+ PSI_ERR_CORRUPT = -20,
+ PSI_ERR_ACCESS_DENIED = -21,
+ PSI_ERR_LOCKED = -22,
+ PSI_ERR_WRITE = -23,
+ PSI_ERR_DISMOUNTED = -24,
+ PSI_ERR_EoF = -25,
+ PSI_ERR_DISK_FULL = -26,
+ PSI_ERR_BAD_DRIVER = -27,
+ PSI_ERR_BAD_NAME = -28,
+ PSI_ERR_COMMS_LINE_FAIL = -29,
+ PSI_ERR_COMMS_FRAME = -30,
+ PSI_ERR_COMMS_OVERRUN = -31,
+ PSI_ERR_COMMS_PARITY = -32,
+ PSI_ERR_TIMEOUT = -33,
+ PSI_ERR_COULD_NOT_CONNECT = -34,
+ PSI_ERR_COULD_NOT_DISCONNECT = -35,
+ PSI_ERR_DISCONNECTED = -36,
+ PSI_ERR_BAD_LIBRARY_ENTRY_POINT = -37,
+ PSI_ERR_BAD_DESCRIPTOR = -38,
+ PSI_ERR_ABORT = -39,
+ PSI_ERR_TOO_BIG = -40,
+ PSI_ERR_DIVIDE_BY_ZERO = -41,
+ PSI_ERR_BAD_POWER = -42,
+ PSI_ERR_DIR_FULL = -43
+ };
+
+ private:
enum commands {
CLOSE_HANDLE = 0x01,
OPEN_DIR = 0x10,
@@ -83,74 +153,6 @@ class rfsv32 {
REPLACE = 0x32
};
- enum file_attrib {
- READ_ONLY = 0x0001,
- HIDDEN = 0x0002,
- SYSTEM = 0x0004,
- DIRECTORY = 0x0010,
- ARCHIVE = 0x0020,
- VOLUME = 0x0040,
- NORMAL = 0x0080,
- TEMPORARY = 0x0100,
- COMPRESSED = 0x0800
- };
-
- enum open_mode {
- SHARE_EXCLUSIVE = 0x0000,
- SHARE_READERS = 0x0001,
- SHARE_ANY = 0x0002,
- BINARY = 0x0000,
- TEXT = 0x0020,
- READ_WRITE = 0x0200
- };
-
- enum errs {
- NONE = 0,
- NOT_FOUND = -1,
- GENERAL = -2,
- CANCEL = -3,
- NO_MEMORY = -4,
- NOT_SUPPORTED = -5,
- ARGUMENT = -6,
- TOTAL_LOSS_OF_PRECISION = -7,
- BAD_HANDLE = -8,
- OVERFLOW = -9,
- UNDERFLOW = -10,
- ALREADY_EXISTS = -11,
- PATH_NOT_FOUND = -12,
- DIED = -13,
- IN_USE = -14,
- SERVER_TERMINATED = -15,
- SERVER_BUSY = -16,
- COMPLETION = -17,
- NOT_READY = -18,
- UNKNOWN = -19,
- CORRUPT = -20,
- ACCESS_DENIED = -21,
- LOCKED = -22,
- WRITE = -23,
- DISMOUNTED = -24,
- EoF = -25,
- DISK_FULL = -26,
- BAD_DRIVER = -27,
- BAD_NAME = -28,
- COMMS_LINE_FAIL = -29,
- COMMS_FRAME = -30,
- COMMS_OVERRUN = -31,
- COMMS_PARITY = -32,
- PSI_TIMEOUT = -33,
- COULD_NOT_CONNECT = -34,
- COULD_NOT_DISCONNECT = -35,
- DISCONNECTED = -36,
- BAD_LIBRARY_ENTRY_POINT = -37,
- BAD_DESCRIPTOR = -38,
- ABORT = -39,
- TOO_BIG = -40,
- DIVIDE_BY_ZERO = -41,
- BAD_POWER = -42,
- DIR_FULL = -43
- };
-
const char *getConnectName();
// Communication