I don't see reason why ioFTPD should do the parsing; I could give you access to list of users online, but that will not have that kind of options => you will get global list, which you may, or may not parse yourself.
Usage could be something like this:
set fh [client who init]
if { $fh != 0 } {
while {[client who fetch $fh] == 0} {
set path [client who virtualpath $virtualpath]
set datapath [client who virtualdatapath $fh]
set status [client who status $fh]
set service [client who service $fh]
set uid [client who uid $fh]
}
client who close $fh
}
Or:
set fh [client who init "path" "virtualpath" "status" "service" "uid"]
if {$fh != 0} {
set loop 1
while { $loop } {
set data [client who fetch $fh]
if { "$data" != "0" }
{
# data is in following format:
#
# path<newline>virtualpath<newline>status<newline>se rvice<newline>
#
# if I have time to study how-to give data back as arrays, you could use lindex to extract data
} else {
set loop 0
}
}
}