45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
string dump_socket_status() {
|
|
string ret;
|
|
string *finalsocks, *sock_array = ({});
|
|
int i, quant = sizeof(socket_status());
|
|
for(i = 0; i < quant; i++){
|
|
sock_array += ({ socket_status(i) });
|
|
}
|
|
finalsocks = sock_array;
|
|
|
|
ret = "";
|
|
ret += " Fd State Mode Local Address Remote Address";
|
|
ret += " -- --------- -------- --------------------- ---------------------";
|
|
|
|
foreach (array item in finalsocks) {
|
|
int memb = member_array(item, finalsocks);
|
|
ret += sprintf("%2d %|9s %|8s %-21s %-21s\n", memb, item[1], item[2], item[3], item[4]);
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
mixed *socket_names(){
|
|
string *finalsocks, *sock_array = ({});
|
|
int i, quant;
|
|
i = catch( quant = sizeof(socket_status()) );
|
|
if(i){
|
|
return ({});
|
|
}
|
|
for(i = 0; i < quant; i++){
|
|
mixed *tmp = socket_status(i);
|
|
tmp[0] = i;
|
|
sock_array += ({ tmp });
|
|
}
|
|
finalsocks = sock_array;
|
|
|
|
return finalsocks;
|
|
}
|
|
|
|
string socket_ip(int fd){
|
|
string ret = "0";
|
|
mixed sock_stat = socket_status(fd);
|
|
if(sock_stat) ret = implode(explode(sock_stat[4],".")[0..3], ".");
|
|
return ret;
|
|
}
|