The status is returned to three stems:
dcc.send.# : DCC Send
dcc.send.0 holds number of entries.
dcc.send.# is composed of :
nick moveflag hostname state length cps filename
* moveflag reflects if this DCC is MOVE or SEND
state can be :
0 : Waiting
1 : Aborted
2 : Sending
3 : Complete
4 : Failed
5 : No Socket
6 : No File
7 : ReadError
8 : Calculating Checksum
So to see if a dcc is active, check if state=2|state=8
dcc.receive.# : DCC Receive
dcc.receive.0 holds number of entries.
dcc.receive.# is composed of :
nick moveflag hostname state length cps filename
* moveflag reflects if this DCC is MOVE or SEND
state can be :
0 : Waiting
1 : Connecting
2 : Receiving
3 : Complete
4 : Failed
5 : Unable to connect
6 : Aborted
7 : No Socket
8 : Unknown Host
9 : No File
10: Disk Write Error
So to see if a dcc is active, check if state=1|state=2
Example:
The following loop goes through the list of dcc receives(if there
are ones active) and parses each entry.
"GETDCC"
if dcc.receive.0>0 THEN DO i=1 TO dcc.receive.0
parse value dcc.receive.i WITH nick moveflag hostname state length cps filename .
/*process*/
end
dcc.chat.# : DCC Chat
dcc.chat.0 holds number of entries.
dcc.chat.# is composed of :
nick state hostname
state can be :
0 : Waiting
1 : Connecting
2 : Connected
3 : Waiting for
4 : Closed
5 : Unable to connect
6 : No Socket
7 : Aborted
So to see if a dcc is active, check if state=1
Example:
The following loop goes through the list of dcc chats(if there
are ones active) and parses each entry.
"GETDCC"
if dcc.chat.0>0 THEN DO i=1 TO dcc.chat.0
parse value dcc.receive.i WITH nick state hostname .
/*process*/
end