remove runtime signatures to prevent ffi collisions

This commit is contained in:
Jon Lipstate
2023-04-04 23:03:19 -07:00
parent bf75fd9d34
commit c5d2b01923

View File

@@ -44,40 +44,7 @@ IOC_OUT :: 0x40000000
IOC_IN :: 0x80000000
IOC_INOUT :: (IOC_IN | IOC_OUT)
IOC_WS2 :: 0x08000000
/*
Example Load:
load_accept_ex :: proc(listener: SOCKET, fn_acceptex: rawptr) {
bytes: u32
guid_accept_ex := WSAID_ACCEPTEX
rc := WSAIoctl(listener, SIO_GET_EXTENSION_FUNCTION_POINTER, &guid_accept_ex, size_of(guid_accept_ex),
fn_acceptex, size_of(fn_acceptex), &bytes, nil, nil,)
assert(rc != windows.SOCKET_ERROR)
}
*/
// NOTE: AcceptEx should be loaded at runtime per MS-Docs
//[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-acceptex)
AcceptEx :: proc(
sListenSocket: SOCKET,
sAcceptSocket: SOCKET,
lpOutputBuffer: rawptr,
dwReceiveDataLength: u32,
dwLocalAddressLength: u32,
dwRemoteAddressLength: u32,
lpdwBytesReceived: ^u32,
lpOverlapped: ^OVERLAPPED,
) -> b32
// NOTE: GetAcceptExSockaddrs should be loaded at runtime per MS-Docs
//[MS-Docs](https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-getacceptexsockaddrs)
GetAcceptExSockaddrs :: proc(
lpOutputBuffer: rawptr,
dwReceiveDataLength: u32,
dwLocalAddressLength: u32,
dwRemoteAddressLength: u32,
LocalSockaddr: ^^sockaddr,
LocalSockaddrLength: ^i32,
RemoteSockaddr: ^^sockaddr,
RemoteSockaddrLength: ^i32,
)
foreign import ws2_32 "system:Ws2_32.lib"
@(default_calling_convention="stdcall")