mirror of
https://git.checksum.fail/alec/Web.git
synced 2026-05-27 17:58:48 +00:00
33 lines
707 B
HolyC
Executable File
33 lines
707 B
HolyC
Executable File
I64 @net_resolve_ipv4_address(U8 *_str, U32 *addr) {
|
|
U8 *str = StrNew(_str);
|
|
*addr = NULL;
|
|
I64 err = NULL;
|
|
addrinfo *res = NULL;
|
|
if (!inet_pton(AF_INET, str, addr)) {
|
|
err = getaddrinfo(str, NULL, NULL, &res);
|
|
if (!err) {
|
|
*addr = (res->ai_addr(sockaddr_in *))->sin_addr.s_addr;
|
|
}
|
|
if (res) {
|
|
freeaddrinfo(res);
|
|
}
|
|
Free(str);
|
|
return err;
|
|
}
|
|
Free(str);
|
|
return 0;
|
|
}
|
|
|
|
U32 @net_get_ipv4_dns_resolver() { return dns_ip; }
|
|
|
|
class @net {
|
|
I64 (*ResolveIPv4Address)(U8 * _str, U32 * addr);
|
|
U32 (*GetIPv4DNSResolver)();
|
|
};
|
|
|
|
@net Net;
|
|
|
|
Net.GetIPv4DNSResolver = &@net_get_ipv4_dns_resolver;
|
|
Net.ResolveIPv4Address = &@net_resolve_ipv4_address;
|
|
|
|
"[OK] netutils \n"; |