Add GetAddrInfoExW

This commit is contained in:
gingerBill
2022-05-12 14:27:46 +01:00
parent 0c45a46aab
commit 6c14586fff
2 changed files with 40 additions and 0 deletions
+27
View File
@@ -1566,6 +1566,33 @@ ADDRINFOA :: struct {
ai_next: ^ADDRINFOA,
}
PADDRINFOEXW :: ^ADDRINFOEXW
LPADDRINFOEXW :: ^ADDRINFOEXW
ADDRINFOEXW :: struct {
ai_flags: c_int,
ai_family: c_int,
ai_socktype: c_int,
ai_protocol: c_int,
ai_addrlen: size_t,
ai_canonname: wstring,
ai_addr: ^sockaddr,
ai_blob: rawptr,
ai_bloblen: size_t,
ai_provider: LPGUID,
ai_next: ^ADDRINFOEXW,
}
LPLOOKUPSERVICE_COMPLETION_ROUTINE :: #type proc "stdcall" (
dwErrorCode: DWORD,
dwNumberOfBytesTransfered: DWORD,
lpOverlapped: LPOVERLAPPED,
)
sockaddr :: struct {
sa_family: USHORT,
sa_data: [14]byte,
}
sockaddr_in :: struct {
sin_family: ADDRESS_FAMILY,
sin_port: USHORT,
+13
View File
@@ -87,6 +87,19 @@ foreign ws2_32 {
res: ^^ADDRINFOA,
) -> c_int ---
freeaddrinfo :: proc(res: ^ADDRINFOA) ---
FreeAddrInfoExW :: proc(pAddrInfoEx: PADDRINFOEXW) ---
GetAddrInfoExW :: proc(
pName: PCWSTR,
pServiceName: PCWSTR,
dwNameSpace: DWORD,
lpNspId: LPGUID,
hints: ^ADDRINFOEXW,
ppResult: ^PADDRINFOEXW,
timeout: ^timeval,
lpOverlapped: LPOVERLAPPED,
lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE,
lpHandle: LPHANDLE) -> INT ---
select :: proc(
nfds: c_int,
readfds: ^fd_set,