aboutsummaryrefslogtreecommitdiffstats
path: root/plpnfsd
diff options
context:
space:
mode:
authorFritz Elfert <felfert@to.com>2002-03-18 05:01:40 +0000
committerFritz Elfert <felfert@to.com>2002-03-18 05:01:40 +0000
commit23f25b04b95f08f5fc3aeaf9ea745326246dec9f (patch)
treedbd68bb6a5e228efa95dbfb18fa69c563925163c /plpnfsd
parent38fc74f68c90aff4909660b89a9c233eac16f626 (diff)
downloadplptools-23f25b04b95f08f5fc3aeaf9ea745326246dec9f.tar.gz
plptools-23f25b04b95f08f5fc3aeaf9ea745326246dec9f.tar.bz2
plptools-23f25b04b95f08f5fc3aeaf9ea745326246dec9f.zip
- made kpsion SIBO-aware
- Added SIBO-related stuff in PsiTime - Added new class PsiProcess, renamed rpcs:queryDrive to queryPrograms and changed it accordingly - Adapted kspion, plpbackup, plpnfsd and plpftp to use queryPrograms - Several cleanups in rfsv16
Diffstat (limited to 'plpnfsd')
-rw-r--r--plpnfsd/main.cc19
1 files changed, 9 insertions, 10 deletions
diff --git a/plpnfsd/main.cc b/plpnfsd/main.cc
index b7f6740..882168f 100644
--- a/plpnfsd/main.cc
+++ b/plpnfsd/main.cc
@@ -116,23 +116,22 @@ static long psread(builtin_node *node, char *buf, unsigned long offset, long len
long rpcs_ps() {
Enum<rfsv::errs> res;
- bufferArray psbuf;
+ processList psbuf;
if (!rpcs_isalive())
return -1;
- res = r->queryDrive('C', psbuf);
+ res = r->queryPrograms(psbuf);
if (res != rfsv::E_PSI_GEN_NONE)
return -1;
- while (!psbuf.empty()) {
+ processList::iterator i;
+ for (i = psbuf.begin(); i != psbuf.end(); i++) {
builtin_node *dn;
builtin_node *fn1;
builtin_node *fn2;
builtin_node *bn;
char bname[40];
- bufferStore bs = psbuf.pop();
- bufferStore bs2 = psbuf.pop();
- sprintf(bname, "%d", bs.getWord(0));
+ sprintf(bname, "%d", i->getPID());
dn = (builtin_node *)malloc(sizeof(builtin_node));
if (!dn)
@@ -163,7 +162,7 @@ long rpcs_ps() {
fn1->name = "cmd";
fn1->attr = PSI_A_READ | PSI_A_RDONLY;
- fn1->private_data = (char *)malloc(strlen(bs.getString(2))+2);
+ fn1->private_data = (char *)malloc(strlen(i->getName())+2);
if (!fn1->private_data) {
free(fn1);
free(fn2);
@@ -171,12 +170,12 @@ long rpcs_ps() {
return -1;
}
fn1->read = psread;
- sprintf(fn1->private_data, "%s\n", bs.getString(2));
+ sprintf(fn1->private_data, "%s\n", i->getName());
fn1->size = strlen(fn1->private_data);
fn2->name = "args";
fn2->attr = PSI_A_READ | PSI_A_RDONLY;
- fn2->private_data = (char *)malloc(strlen(bs2.getString())+2);
+ fn2->private_data = (char *)malloc(strlen(i->getArgs())+2);
if (!fn2->private_data) {
free(fn1->private_data);
free(fn1);
@@ -185,7 +184,7 @@ long rpcs_ps() {
return -1;
}
fn2->read = psread;
- sprintf(fn2->private_data, "%s\n", bs2.getString());
+ sprintf(fn2->private_data, "%s\n", i->getArgs());
fn2->size = strlen(fn2->private_data);
if (!(bn = register_builtin("proc", dn))) {