25 lines
549 B
HolyC
25 lines
549 B
HolyC
#define DNS_REQUEST_PTR 0x300010
|
|
|
|
MemSet(DNS_REQUEST_PTR, NULL, sizeof(U64));
|
|
|
|
class DnsRequest {
|
|
U64 host;
|
|
U64 pointer_to_u32;
|
|
};
|
|
|
|
U32 @dns_query(U8* host)
|
|
{
|
|
U32 res = 0;
|
|
if (!host)
|
|
return U32_MAX;
|
|
DnsRequest* request = CAlloc(sizeof(DnsRequest), Fs->code_heap);
|
|
request->host = StrNew(host, slon_mem_task);
|
|
request->pointer_to_u32 = &res;
|
|
U64* request_ptr = DNS_REQUEST_PTR;
|
|
while (*request_ptr)
|
|
Sleep(1);
|
|
LXchgU32(request_ptr, request);
|
|
while (!res)
|
|
Sleep(1);
|
|
return res;
|
|
}
|