mud/lib/secure/sefun/sockets.c
2020-09-06 05:43:07 -07:00

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;
}