aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rpcs32.cc
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2002-03-16 23:10:52 +0000
committerFritz Elfert <felfert@to.com>2002-03-16 23:10:52 +0000
commit193af441a127a0daabbd17c512e34817ddbcadfd (patch)
treedeef4cbfdf258ae3c7d8cde2b43a611520f73632 /lib/rpcs32.cc
parent7121719ec7f473c3d26873d688179a7d7f466026 (diff)
downloadplptools-193af441a127a0daabbd17c512e34817ddbcadfd.tar.gz
plptools-193af441a127a0daabbd17c512e34817ddbcadfd.tar.bz2
plptools-193af441a127a0daabbd17c512e34817ddbcadfd.zip
- ncpd now works with both Series 3 and Series 5
- ncpd now has autobaud feature (default on), which cycles baudrate - lib: added getSpeed() for retrieving current speed of connection - plpftp: Use getSpeed() - plpbackup: Ongoing work - configure stuff: removed several entries from acconfig.h comments now defined as 3rd arg to AC_DEFINE...
Diffstat (limited to 'lib/rpcs32.cc')
-rw-r--r--lib/rpcs32.cc28
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/rpcs32.cc b/lib/rpcs32.cc
index 38d7933..ebb4f9c 100644
--- a/lib/rpcs32.cc
+++ b/lib/rpcs32.cc
@@ -169,18 +169,38 @@ getMachineInfo(machineInfo &mi)
static unsigned long hhh;
Enum<rfsv::errs> rpcs32::
-regOpenIter(void)
+regOpenIter(u_int32_t uid, char *match, u_int16_t &handle)
{
bufferStore a;
Enum<rfsv::errs> res;
- a.addStringT("HKLM\\");
+ cout << "Oiter" << endl;
+ a.addDWord(uid);
+ a.addDWord(strlen(match));
+ a.addStringT(match);
if (!sendCommand(rpcs::REG_OPEN_ITER, a))
return rfsv::E_PSI_FILE_DISC;
res = getResponse(a, true);
cout << "ro: r=" << res << " a=" << a << endl;
- if (a.getLen() > 0)
- hhh = a.getDWord(0);
+ if (a.getLen() == 2)
+ handle = a.getWord(0);
+ return rfsv::E_PSI_GEN_NONE;
+}
+
+Enum<rfsv::errs> rpcs32::
+regReadIter(u_int16_t handle)
+{
+ bufferStore a;
+ Enum<rfsv::errs> res;
+
+ cout << "Riter" << endl;
+ a.addWord(handle);
+ if (!sendCommand(rpcs::REG_READ_ITER, a))
+ return rfsv::E_PSI_FILE_DISC;
+ res = getResponse(a, true);
+ cout << "ro: r=" << res << " a=" << a << endl;
+ if ((a.getLen() == 3) && (a.getByte(2) == 0xff))
+ return rfsv::E_PSI_FILE_EOF;
return rfsv::E_PSI_GEN_NONE;
}