in src/os/inet_ntop.php [52:82]
function inet_ntop(AddressFamily $af, dynamic $addr): string {
switch ($af) {
case AddressFamily::AF_INET:
if (!$addr is int) {
_OS\throw_errno(
Errno::EINVAL,
"AF_INET address must be an int",
);
}
// NetLongs are always uint32
if ($addr < 0 || $addr >= (1 << 32)) {
_OS\throw_errno(
Errno::EINVAL,
"AF_INET address must fit in a uint32",
);
}
return inet_ntop_inet($addr);
case AddressFamily::AF_INET6:
if (
!(
$addr is string &&
\filter_var($addr, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV6)
)
) {
_OS\throw_errno(Errno::EINVAL, "AF_INET6 address must be an in6_addr");
}
return inet_ntop_inet6(_OS\string_as_in6_addr_UNSAFE($addr as string));
default:
_OS\throw_errno(Errno::EAFNOSUPPORT, 'inet_ntop()');
}
}