%{ #include #include #include %} function _inet_ntoa:string (_uaddr:long) %{ struct sockaddr_in *addr; unsigned char *bytes; addr = (struct sockaddr_in *)(long)kread(&THIS->_uaddr); bytes = (unsigned char *)&addr->sin_addr.s_addr; snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d.%d.%d.%d:%d", bytes[0], bytes[1], bytes[2], bytes[3], addr->sin_port); CATCH_DEREF_FAULT(); %}