Network sockets for TCP, UDP and Unix-domain use: Berkeley sockets on Unix, Winsock on Windows.
The native calls (socket, bind, listen, connect, send, recv, select, ...) keep their
system signatures. Around them are portable helpers: socket_init, set_blocking, set_keepalive,
close_and_reset, bind and accept overloads that take a text address, FD_SET and friends,
and to_string for addresses. For HTTP, TLS or an event loop use Extensions/Http,
Extensions/Tls and Extensions/Io.
A call fails the way the system's does: it returns -1 (or INVALID_SOCKET) and
get_last_socket_error() has the code. Close every socket you create or accept with
close_and_reset. Sockets start blocking; after set_blocking(s, false), calls return at once with
SOCKET_WOULDBLOCK and reads and writes may move fewer bytes than asked. Call socket_init first on
Windows. Ports in sockaddr_in are in network order (htons); the bind helpers take host order.
to_string allocates with context.allocator.
Example Copy Run ▸
assert (socket_init ());
listener := socket (AF_INET, .SOCK_STREAM, .TCP);
defer close_and_reset (*listener);
// Port 0 lets the OS choose; getsockname tells which one it was.
assert (bind (listener, "127.0.0.1" , 0 ) == 0 );
assert (listen (listener, 4 ) == 0 );
address: sockaddr_in;
length: socklen_t = size_of(sockaddr_in);
assert (getsockname (listener, cast (*sockaddr) *address, *length) == 0 );
client := socket (AF_INET, .SOCK_STREAM, .TCP);
defer close_and_reset (*client);
assert (connect (client, cast (*sockaddr) *address, length) == 0 );
server, peer := accept (listener);
defer close_and_reset (*server);
assert (send (client, "ping" .data, 4 , cast (MSG) 0 ) == 4 );
buffer: [16 ] u8 ;
got := recv (server, buffer.data, buffer.count, cast (MSG) 0 );
assert (got == 4 && string .{got, buffer.data} == "ping" );Doesn't run in the browser (skipped on wasm).
Socket fields macOS#
Reads the header length of a TCP header, in 32-bit words (4 bits) from fields.
Sets the header length of a TCP header, in 32-bit words (4 bits) in fields, keeping the other bits.
Reads the 4 reserved bits of a TCP header, which are zero in valid segments from fields.
Sets the 4 reserved bits of a TCP header, which are zero in valid segments in fields, keeping the other bits.
Reads the TCP Fast Open cookie_invalid flag of a connection's info from fields.
Sets the TCP Fast Open cookie_invalid flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open cookie_rcv flag of a connection's info from fields.
Sets the TCP Fast Open cookie_rcv flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open cookie_req flag of a connection's info from fields.
Sets the TCP Fast Open cookie_req flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open cookie_req_rcv flag of a connection's info from fields.
Sets the TCP Fast Open cookie_req_rcv flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open cookie_sent flag of a connection's info from fields.
Sets the TCP Fast Open cookie_sent flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open cookie_wrong flag of a connection's info from fields.
Sets the TCP Fast Open cookie_wrong flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open heuristics_disable flag of a connection's info from fields.
Sets the TCP Fast Open heuristics_disable flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open no_cookie_rcv flag of a connection's info from fields.
Sets the TCP Fast Open no_cookie_rcv flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open onebyte_proxy flag of a connection's info from fields.
Sets the TCP Fast Open onebyte_proxy flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open recv_blackhole flag of a connection's info from fields.
Sets the TCP Fast Open recv_blackhole flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open send_blackhole flag of a connection's info from fields.
Sets the TCP Fast Open send_blackhole flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open syn_data_acked flag of a connection's info from fields.
Sets the TCP Fast Open syn_data_acked flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open syn_data_rcv flag of a connection's info from fields.
Sets the TCP Fast Open syn_data_rcv flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open syn_data_sent flag of a connection's info from fields.
Sets the TCP Fast Open syn_data_sent flag of a connection's info in fields, keeping the other bits.
Reads the TCP Fast Open syn_loss flag of a connection's info from fields.
Sets the TCP Fast Open syn_loss flag of a connection's info in fields, keeping the other bits.
Reads the padding bits at the end of the connection info, which carry no information from fields.
Sets the padding bits at the end of the connection info, which carry no information in fields, keeping the other bits.
Socket fields TCP Unix#
Reads the ACK flag of a TCP header from fields.
(fields: *
tcphdr , value:
bool )
Sets the ACK flag of a TCP header in fields, keeping the other bits.
Reads the header length of a TCP header, in 32-bit words (4 bits) from fields.
Sets the header length of a TCP header, in 32-bit words (4 bits) in fields, keeping the other bits.
Reads the FIN flag of a TCP header from fields.
(fields: *
tcphdr , value:
bool )
Sets the FIN flag of a TCP header in fields, keeping the other bits.
Reads the PSH flag of a TCP header from fields.
(fields: *
tcphdr , value:
bool )
Sets the PSH flag of a TCP header in fields, keeping the other bits.
Reads the first group of reserved bits of a TCP header, which are zero in valid segments from fields.
Sets the first group of reserved bits of a TCP header, which are zero in valid segments in fields, keeping the other bits.
Reads the second group of reserved bits of a TCP header, which are zero in valid segments from fields.
Sets the second group of reserved bits of a TCP header, which are zero in valid segments in fields, keeping the other bits.
Reads the RST flag of a TCP header from fields.
(fields: *
tcphdr , value:
bool )
Sets the RST flag of a TCP header in fields, keeping the other bits.
Reads the SYN flag of a TCP header from fields.
(fields: *
tcphdr , value:
bool )
Sets the SYN flag of a TCP header in fields, keeping the other bits.
Reads the URG flag of a TCP header from fields.
(fields: *
tcphdr , value:
bool )
Sets the URG flag of a TCP header in fields, keeping the other bits.
Reads the header length of a TCP header, in 32-bit words (4 bits) from fields.
Sets the header length of a TCP header, in 32-bit words (4 bits) in fields, keeping the other bits.
Reads the 4 reserved bits of a TCP header, which are zero in valid segments from fields.
Sets the 4 reserved bits of a TCP header, which are zero in valid segments in fields, keeping the other bits.
Reads the window scale shift the connection uses for what it receives (4 bits) from fields.
Sets the window scale shift the connection uses for what it receives in fields, keeping the other bits.
Reads the window scale shift the connection uses for what it sends (4 bits) from fields.
Sets the window scale shift the connection uses for what it sends in fields, keeping the other bits.
Socket ABI Windows#
(unknown0: *
u8 , unknown1: *
u8 , unknown2: *
addrinfo , unknown3: **
addrinfo ) ->
s32
(addr: *
u8 , len:
s32 , type:
s32 ) -> *
hostent
(__addr: *
void , __len:
u32 , __type:
s32 ) -> *
hostent
(name: *u8 , namelen: s32 ) -> s32
(name: *s16 , namelen: s32 ) -> s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
u8 , NodeBufferSize:
u32 , pServiceBuffer: *
u8 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(__sa: *
sockaddr , __sa_length:
socklen_t , __host: *
u8 , __host_length:
u64 , __service: *
u8 , __service_length:
u64 , __flags:
s32 ) ->
s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
s16 , NodeBufferSize:
u32 , pServiceBuffer: *
s16 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(name: *
u8 , proto: *
u8 ) -> *
servent
(unknown0: *
u8 , unknown1: *
u8 ) -> *
servent
(__name: *
u8 , __proto: *
u8 ) -> *
servent
(__name: *
u8 , __proto: *
u8 ) -> *
servent
(port:
s32 , proto: *
u8 ) -> *
servent
(unknown0:
s32 , unknown1: *
u8 ) -> *
servent
(__port:
s32 , __proto: *
u8 ) -> *
servent
(__port_in_network_order:
s32 , __proto: *
u8 ) -> *
servent
(s:
SOCKET , level:
s32 , optname:
s32 , optval: *
u8 , optlen: *
s32 ) ->
s32
(fd:
s32 , level:
s32 , name:
s32 , value: *
void , length: *
socklen_t ) ->
s32
(unknown0:
s32 , unknown1:
s32 , unknown2:
s32 , unknown3: *
void , unknown4: *
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __optname:
s32 , __optval: *
void , __optlen: *
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __option:
s32 , __value: *
void , __value_length: *
socklen_t ) ->
s32
(hostlong: u32 ) -> u32
(value: u32 ) -> u32
(hostlong: u32 ) -> u32
(__hostlong: u32 ) -> u32
(hostlong: u32 ) -> u32
(hostshort: u16 ) -> u16
(value: u16 ) -> u16
(hostshort: u16 ) -> u16
(__hostshort: u16 ) -> u16
(hostshort: u16 ) -> u16
(cp: *u8 ) -> u32
(Family: s32 , pAddr: *void , pStringBuf: *u8 , StringBufSize: u64 ) -> *u8
(unknown0:
s32 , unknown1: *
void , unknown2: *
u8 , unknown3:
socklen_t ) -> *
u8
(__af:
s32 , __cp: *
void , __buf: *
u8 , __len:
socklen_t ) -> *
u8
(__af:
s32 , __src: *
void , __dst: *
u8 , __size:
socklen_t ) -> *
u8
(Family: s32 , pszAddrString: *u8 , pAddrBuf: *void ) -> s32
(family: s32 , source: *u8 , destination: *void ) -> s32
(unknown0: s32 , unknown1: *u8 , unknown2: *void ) -> s32
(__af: s32 , __cp: *u8 , __buf: *void ) -> s32
(__af: s32 , __src: *u8 , __dst: *void ) -> s32
(Family: s32 , pAddr: *void , pStringBuf: *s16 , StringBufSize: u64 ) -> *s16
(Family: s32 , pszAddrString: *s16 , pAddrBuf: *void ) -> s32
(s:
SOCKET , cmd:
s32 , argp: *
u32 ) ->
s32
(s:
SOCKET , backlog:
s32 ) ->
s32
(fd: s32 , backlog: s32 ) -> s32
(unknown0: s32 , unknown1: s32 ) -> s32
(__fd: s32 , __n: s32 ) -> s32
(__fd: s32 , __backlog: s32 ) -> s32
(netlong: u32 ) -> u32
(value: u32 ) -> u32
(netlong: u32 ) -> u32
(__netlong: u32 ) -> u32
(netlong: u32 ) -> u32
(netshort: u16 ) -> u16
(value: u16 ) -> u16
(netshort: u16 ) -> u16
(__netshort: u16 ) -> u16
(netshort: u16 ) -> u16
(s:
SOCKET , buf: *
u8 , len:
s32 , flags:
MSG ) ->
s32
(fd:
s32 , buffer: *
void , count:
u64 , flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG , unknown4: *
sockaddr , unknown5: *
socklen_t ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG , __src_addr: *
sockaddr , __src_addr_length: *
socklen_t ) ->
s64
(s:
SOCKET , buf: *
u8 , len:
s32 , flags:
MSG ) ->
s32
(fd:
s32 , buffer: *
void , count:
u64 , flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG , unknown4: *
sockaddr , unknown5:
socklen_t ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG , __dst_addr: *
sockaddr , __dst_addr_length:
socklen_t ) ->
s64
(pName: *
u8 , pServiceName: *
u8 , pAddresses: *
SOCKET_ADDRESS , dwAddressCount:
u32 , lpBlob: *
BLOB , dwFlags:
u32 , dwNameSpace:
u32 , lpNspId: *
GUID , timeout: *
TIMEVAL , lpOverlapped: *
OVERLAPPED , lpCompletionRoutine:
LPLOOKUPSERVICE_COMPLETION_ROUTINE , lpNameHandle: *
HANDLE ) ->
s32
(pName: *
s16 , pServiceName: *
s16 , pAddresses: *
SOCKET_ADDRESS , dwAddressCount:
u32 , lpBlob: *
BLOB , dwFlags:
u32 , dwNameSpace:
u32 , lpNspId: *
GUID , timeout: *
TIMEVAL , lpOverlapped: *
OVERLAPPED , lpCompletionRoutine:
LPLOOKUPSERVICE_COMPLETION_ROUTINE , lpNameHandle: *
HANDLE ) ->
s32
(s:
SOCKET , level:
s32 , optname:
s32 , optval: *
u8 , optlen:
s32 ) ->
s32
(fd:
s32 , level:
s32 , name:
s32 , value: *
void , length:
socklen_t ) ->
s32
(unknown0:
s32 , unknown1:
s32 , unknown2:
s32 , unknown3: *
void , unknown4:
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __optname:
s32 , __optval: *
void , __optlen:
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __option:
s32 , __value: *
void , __value_length:
socklen_t ) ->
s32
(fd:
s32 , how:
SHUT ) ->
s32
(unknown0:
s32 , unknown1:
SHUT ) ->
s32
(__fd:
s32 , __how:
SHUT ) ->
s32
(__fd:
s32 , __how:
SHUT ) ->
s32
(unknown0:
s32 , unknown1:
SOCK , unknown2:
IPPROTO ) ->
s32
(__domain:
s32 , __type:
SOCK , __protocol:
IPPROTO ) ->
s32
(lpsaAddress: *
sockaddr , dwAddressLength:
u32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpszAddressString: *
u8 , lpdwAddressStringLength: *
u32 ) ->
s32
(lpsaAddress: *
sockaddr , dwAddressLength:
u32 , lpProtocolInfo: *
WSAPROTOCOL_INFOW , lpszAddressString: *
s16 , lpdwAddressStringLength: *
u32 ) ->
s32
(hWnd:
HWND , wMsg:
u32 , addr: *
u8 , len:
s32 , type:
s32 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , name: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , name: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , number:
s32 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , name: *
u8 , proto: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , port:
s32 , proto: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(s:
SOCKET , hWnd:
HWND , wMsg:
u32 , lEvent:
s32 ) ->
s32
(hAsyncTaskHandle:
HANDLE ) ->
s32
() -> s32
() -> s32
(lpiProtocols: *
s32 , lpProtocolBuffer: *
WSAPROTOCOL_INFO , lpdwBufferLength: *
u32 ) ->
s32
(lpiProtocols: *
s32 , lpProtocolBuffer: *
WSAPROTOCOL_INFOW , lpdwBufferLength: *
u32 ) ->
s32
(s:
SOCKET , hEventObject:
HANDLE , lNetworkEvents:
s32 ) ->
s32
(lpServiceClassId: *
GUID , lpszServiceClassName: *
u8 , lpdwBufferLength: *
u32 ) ->
s32
(lpServiceClassId: *
GUID , lpszServiceClassName: *
s16 , lpdwBufferLength: *
u32 ) ->
s32
(s:
SOCKET , hostlong:
u32 , lpnetlong: *
u32 ) ->
s32
(s:
SOCKET , hostshort:
u16 , lpnetshort: *
u16 ) ->
s32
(hLookup:
HANDLE , dwControlCode:
u32 , lpvInBuffer: *
void , cbInBuffer:
u32 , lpvOutBuffer: *
void , cbOutBuffer:
u32 , lpcbBytesReturned: *
u32 , lpCompletion: *
WSACOMPLETION ) ->
s32
(s:
SOCKET , netlong:
u32 , lphostlong: *
u32 ) ->
s32
(s:
SOCKET , netshort:
u16 , lphostshort: *
u16 ) ->
s32
(fdArray: *
WSAPOLLFD , fds:
u32 , timeout:
s32 ) ->
s32
(lpServiceClassId: *
GUID ) ->
s32
(lpBlockFunc: #type () -> s64 #c_call) -> () -> s64 #c_call
(iError: s32 ) -> void
(wVersionRequested:
u16 , lpWSAData: *
WSADATA ) ->
s32
(AddressString: *
u8 , AddressFamily:
s32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpAddress: *
sockaddr , lpAddressLength: *
s32 ) ->
s32
(AddressString: *
s16 , AddressFamily:
s32 , lpProtocolInfo: *
WSAPROTOCOL_INFOW , lpAddress: *
sockaddr , lpAddressLength: *
s32 ) ->
s32
() -> s32
(cEvents:
u32 , lphEvents: *
HANDLE , fWaitAll:
BOOL , dwTimeout:
u32 , fAlertable:
BOOL ) ->
u32
(fd:
s32 , set: *
fd_set ) ->
s32
(fd:
s32 , set: *
fd_set ) ->
s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
u8 , NodeBufferSize:
u32 , pServiceBuffer: *
u8 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
u8 , NodeBufferSize:
u32 , pServiceBuffer: *
u8 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(Family: s32 , pAddr: *void , pStringBuf: *u8 , StringBufSize: u64 ) -> *u8
(Family: s32 , pAddr: *void , pStringBuf: *u8 , StringBufSize: u64 ) -> *u8
(Family: s32 , pszAddrString: *u8 , pAddrBuf: *void ) -> s32
(Family: s32 , pszAddrString: *u8 , pAddrBuf: *void ) -> s32
(pName: *
u8 , pServiceName: *
u8 , pAddresses: *
SOCKET_ADDRESS , dwAddressCount:
u32 , lpBlob: *
BLOB , dwFlags:
u32 , dwNameSpace:
u32 , lpNspId: *
GUID , timeout: *
TIMEVAL , lpOverlapped: *
OVERLAPPED , lpCompletionRoutine:
LPLOOKUPSERVICE_COMPLETION_ROUTINE , lpNameHandle: *
HANDLE ) ->
s32
(lpsaAddress: *
sockaddr , dwAddressLength:
u32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpszAddressString: *
u8 , lpdwAddressStringLength: *
u32 ) ->
s32
(lpiProtocols: *
s32 , lpProtocolBuffer: *
WSAPROTOCOL_INFO , lpdwBufferLength: *
u32 ) ->
s32
(lpServiceClassId: *
GUID , lpszServiceClassName: *
u8 , lpdwBufferLength: *
u32 ) ->
s32
(AddressString: *
u8 , AddressFamily:
s32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpAddress: *
sockaddr , lpAddressLength: *
s32 ) ->
s32
Socket ABI macOS#
(unknown0: s32 , unknown1: *void , unknown2: s32 , unknown3: *u8 ) -> *u8
(unknown0: s32 , unknown1: *u8 , unknown2: *void ) -> s32
(unknown0:
s32 , unknown1: *
sockaddr ) ->
s32
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
(unknown0: s32 ) -> *u8
(__ecode: s32 ) -> *u8
(__error: s32 ) -> *u8
(unknown0: *
u8 , unknown1:
s32 ) -> *
hostent
(__name: *
u8 , __af:
s32 ) -> *
hostent
(__name: *
u8 , __af:
s32 ) -> *
hostent
(unknown0: *
void , unknown1:
u64 , unknown2:
s32 , unknown3: *
s32 ) -> *
hostent
(unknown0: *
u8 , unknown1:
s32 , unknown2:
s32 , unknown3: *
s32 ) -> *
hostent
(unknown0:
u32 , unknown1:
s32 ) -> *
netent
(__net:
u32 , __type:
s32 ) -> *
netent
(__net:
u32 , __type:
s32 ) -> *
netent
(unknown0: **u8 , unknown1: **u8 , unknown2: **u8 ) -> s32
(__hostp: **u8 , __userp: **u8 , __domainp: **u8 ) -> s32
(unknown0: *u8 ) -> void
(__str: *u8 ) -> void
(__s: *u8 ) -> void
(unknown0: s32 ) -> *u8
(__err_num: s32 ) -> *u8
(__error: s32 ) -> *u8
(unknown0: u32 , unknown1: *u8 ) -> *u8
(__ifindex: u32 , __ifname: *u8 ) -> *u8
(__index: u32 , __buf: *u8 ) -> *u8
(unknown0: *u8 ) -> u32
(__ifname: *u8 ) -> u32
(__name: *u8 ) -> u32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3:
u8 , unknown4:
socklen_t , unknown5:
u8 , unknown6: **
void ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 , __type:
u8 , __len:
socklen_t , __align:
u8 , __databufp: **
void ) ->
s32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3:
u8 , unknown4: *
socklen_t , unknown5: **
void ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 , __type:
u8 , __lenp: *
socklen_t , __databufp: **
void ) ->
s32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 ) ->
s32
(unknown0: *
void , unknown1:
s32 , unknown2: *
void , unknown3:
socklen_t ) ->
s32
(__databuf: *
void , __offset:
s32 , __val: *
void , __vallen:
socklen_t ) ->
s32
(unknown0: *
void , unknown1:
socklen_t ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t ) ->
s32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3: *
u8 , unknown4: *
socklen_t , unknown5: **
void ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 , __typep: *
u8 , __lenp: *
socklen_t , __databufp: **
void ) ->
s32
(unknown0: *
void , unknown1:
s32 , unknown2: *
void , unknown3:
socklen_t ) ->
s32
(__databuf: *
void , __offset:
s32 , __val: *
void , __vallen:
socklen_t ) ->
s32
(unknown0: *
cmsghdr , unknown1:
s32 , unknown2:
s32 , unknown3:
s32 ) -> *
u8
(__cmsg: *
cmsghdr , __datalen:
s32 , __multx:
s32 , __plusy:
s32 ) -> *
u8
(unknown0: *
cmsghdr , unknown1: *
u8 , unknown2:
s32 , unknown3:
s32 ) ->
s32
(__cmsg: *
cmsghdr , __typep: *
u8 , __multx:
s32 , __plusy:
s32 ) ->
s32
(unknown0: *
cmsghdr , unknown1: **
u8 , unknown2:
s32 ) ->
s32
(__cmsg: *
cmsghdr , __tptrp: **
u8 , __type:
s32 ) ->
s32
(unknown0: *
void , unknown1: **
cmsghdr , unknown2:
s32 ) ->
s32
(__bp: *
void , __cmsgp: **
cmsghdr , __type:
s32 ) ->
s32
(unknown0: *
cmsghdr , unknown1: **
u8 ) ->
s32
(__cmsg: *
cmsghdr , __tptrp: **
u8 ) ->
s32
(unknown0: s32 ) -> s32
(__nbytes: s32 ) -> s32
(unknown0: *
void , unknown1: *
in6_addr ) ->
s32
(unknown0: *
void , unknown1:
s32 ) -> *
in6_addr
(__bp: *
void , __index:
s32 ) -> *
in6_addr
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3:
s32 ) -> *
void
(__bp: *
void , __bp_len:
socklen_t , __type:
s32 , __segments:
s32 ) -> *
void
(unknown0: *void , unknown1: *void ) -> s32
(__in: *void , __out: *void ) -> s32
(unknown0: *void ) -> s32
(__bp: *void ) -> s32
(unknown0: *
cmsghdr , unknown1:
s32 ) ->
s32
(unknown0: *
void , unknown1:
s32 ) -> *
cmsghdr
(unknown0: *
cmsghdr , unknown1:
u32 ) ->
s32
(unknown0: s32 , unknown1: s32 ) -> u64
(unknown0: *
u8 , unknown1: *
in_addr ) ->
s32
(__cp: *
u8 , __inp: *
in_addr ) ->
s32
(__s: *
u8 , __addr: *
in_addr ) ->
s32
(unknown0: s32 , unknown1: *void , unknown2: s32 , unknown3: *u8 , unknown4: u64 ) -> *u8
(unknown0: s32 , unknown1: *u8 , unknown2: *void , unknown3: u64 ) -> s32
(unknown0:
in_addr_t , unknown1: *
u8 , unknown2:
u64 ) -> *
u8
(unknown0: *u8 , unknown1: *u8 , unknown2: s32 ) -> u32
(__cp: *u8 , __buf: *u8 , __len: s32 ) -> u32
(__ascii: *u8 , __binary: *u8 , __n: s32 ) -> u32
(unknown0: s32 , unknown1: *u8 , unknown2: *u8 ) -> *u8
(__len: s32 , __cp: *u8 , __buf: *u8 ) -> *u8
(__binary_length: s32 , __binary: *u8 , __ascii: *u8 ) -> *u8
(unknown0: *u8 , unknown1: *u8 , unknown2: *u8 , unknown3: *u8 ) -> s32
(__netgroup: *u8 , __host: *u8 , __user: *u8 , __domain: *u8 ) -> s32
(unknown0:
s32 , unknown1: *
msghdr , unknown2:
MSG ) ->
s64
(__fd:
s32 , __message: *
msghdr , __flags:
MSG ) ->
s64
(__fd:
s32 , __msg: *
msghdr , __flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1:
s32 , unknown2:
s64 , unknown3: *
s64 , unknown4: *
sf_hdtr , unknown5:
s32 ) ->
s32
(unknown0:
s32 , unknown1: *
msghdr , unknown2:
MSG ) ->
s64
(__fd:
s32 , __message: *
msghdr , __flags:
MSG ) ->
s64
(__fd:
s32 , __msg: *
msghdr , __flags:
MSG ) ->
s64
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(unknown0: *u8 ) -> void
(__netgroup: *u8 ) -> s32
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(stayopen: s32 ) -> void
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(unknown0: s32 ) -> s32
(__fd: s32 ) -> s32
(unknown0:
s32 , unknown1:
SOCK , unknown2:
IPPROTO , unknown3: *[2]
s32 ) ->
s32
(__domain:
s32 , __type:
SOCK , __protocol:
IPPROTO , __fds: *[2]
s32 ) ->
s32
(__af:
s32 , __type:
SOCK , __protocol:
IPPROTO , __fds: *[2]
s32 ) ->
s32
Foreign#
(unknown0: *
u8 , unknown1: *
u8 , unknown2: *
addrinfo , unknown3: **
addrinfo ) ->
s32
(addr: *
u8 , len:
s32 , type:
s32 ) -> *
hostent
(__addr: *
void , __len:
u32 , __type:
s32 ) -> *
hostent
(name: *u8 , namelen: s32 ) -> s32
(name: *s16 , namelen: s32 ) -> s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
u8 , NodeBufferSize:
u32 , pServiceBuffer: *
u8 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(__sa: *
sockaddr , __sa_length:
socklen_t , __host: *
u8 , __host_length:
u64 , __service: *
u8 , __service_length:
u64 , __flags:
s32 ) ->
s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
s16 , NodeBufferSize:
u32 , pServiceBuffer: *
s16 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(name: *
u8 , proto: *
u8 ) -> *
servent
(unknown0: *
u8 , unknown1: *
u8 ) -> *
servent
(__name: *
u8 , __proto: *
u8 ) -> *
servent
(__name: *
u8 , __proto: *
u8 ) -> *
servent
(port:
s32 , proto: *
u8 ) -> *
servent
(unknown0:
s32 , unknown1: *
u8 ) -> *
servent
(__port:
s32 , __proto: *
u8 ) -> *
servent
(__port_in_network_order:
s32 , __proto: *
u8 ) -> *
servent
(s:
SOCKET , level:
s32 , optname:
s32 , optval: *
u8 , optlen: *
s32 ) ->
s32
(fd:
s32 , level:
s32 , name:
s32 , value: *
void , length: *
socklen_t ) ->
s32
(unknown0:
s32 , unknown1:
s32 , unknown2:
s32 , unknown3: *
void , unknown4: *
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __optname:
s32 , __optval: *
void , __optlen: *
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __option:
s32 , __value: *
void , __value_length: *
socklen_t ) ->
s32
(hostlong: u32 ) -> u32
(value: u32 ) -> u32
(hostlong: u32 ) -> u32
(__hostlong: u32 ) -> u32
(hostlong: u32 ) -> u32
(hostshort: u16 ) -> u16
(value: u16 ) -> u16
(hostshort: u16 ) -> u16
(__hostshort: u16 ) -> u16
(hostshort: u16 ) -> u16
(cp: *u8 ) -> u32
(Family: s32 , pAddr: *void , pStringBuf: *u8 , StringBufSize: u64 ) -> *u8
(unknown0:
s32 , unknown1: *
void , unknown2: *
u8 , unknown3:
socklen_t ) -> *
u8
(__af:
s32 , __cp: *
void , __buf: *
u8 , __len:
socklen_t ) -> *
u8
(__af:
s32 , __src: *
void , __dst: *
u8 , __size:
socklen_t ) -> *
u8
(Family: s32 , pszAddrString: *u8 , pAddrBuf: *void ) -> s32
(family: s32 , source: *u8 , destination: *void ) -> s32
(unknown0: s32 , unknown1: *u8 , unknown2: *void ) -> s32
(__af: s32 , __cp: *u8 , __buf: *void ) -> s32
(__af: s32 , __src: *u8 , __dst: *void ) -> s32
(Family: s32 , pAddr: *void , pStringBuf: *s16 , StringBufSize: u64 ) -> *s16
(Family: s32 , pszAddrString: *s16 , pAddrBuf: *void ) -> s32
(s:
SOCKET , cmd:
s32 , argp: *
u32 ) ->
s32
(s:
SOCKET , backlog:
s32 ) ->
s32
(fd: s32 , backlog: s32 ) -> s32
(unknown0: s32 , unknown1: s32 ) -> s32
(__fd: s32 , __n: s32 ) -> s32
(__fd: s32 , __backlog: s32 ) -> s32
(netlong: u32 ) -> u32
(value: u32 ) -> u32
(netlong: u32 ) -> u32
(__netlong: u32 ) -> u32
(netlong: u32 ) -> u32
(netshort: u16 ) -> u16
(value: u16 ) -> u16
(netshort: u16 ) -> u16
(__netshort: u16 ) -> u16
(netshort: u16 ) -> u16
(s:
SOCKET , buf: *
u8 , len:
s32 , flags:
MSG ) ->
s32
(fd:
s32 , buffer: *
void , count:
u64 , flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG , unknown4: *
sockaddr , unknown5: *
socklen_t ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG , __src_addr: *
sockaddr , __src_addr_length: *
socklen_t ) ->
s64
(s:
SOCKET , buf: *
u8 , len:
s32 , flags:
MSG ) ->
s32
(fd:
s32 , buffer: *
void , count:
u64 , flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1: *
void , unknown2:
u64 , unknown3:
MSG , unknown4: *
sockaddr , unknown5:
socklen_t ) ->
s64
(__fd:
s32 , __buf: *
void , __n:
u64 , __flags:
MSG , __dst_addr: *
sockaddr , __dst_addr_length:
socklen_t ) ->
s64
(pName: *
u8 , pServiceName: *
u8 , pAddresses: *
SOCKET_ADDRESS , dwAddressCount:
u32 , lpBlob: *
BLOB , dwFlags:
u32 , dwNameSpace:
u32 , lpNspId: *
GUID , timeout: *
TIMEVAL , lpOverlapped: *
OVERLAPPED , lpCompletionRoutine:
LPLOOKUPSERVICE_COMPLETION_ROUTINE , lpNameHandle: *
HANDLE ) ->
s32
(pName: *
s16 , pServiceName: *
s16 , pAddresses: *
SOCKET_ADDRESS , dwAddressCount:
u32 , lpBlob: *
BLOB , dwFlags:
u32 , dwNameSpace:
u32 , lpNspId: *
GUID , timeout: *
TIMEVAL , lpOverlapped: *
OVERLAPPED , lpCompletionRoutine:
LPLOOKUPSERVICE_COMPLETION_ROUTINE , lpNameHandle: *
HANDLE ) ->
s32
(s:
SOCKET , level:
s32 , optname:
s32 , optval: *
u8 , optlen:
s32 ) ->
s32
(fd:
s32 , level:
s32 , name:
s32 , value: *
void , length:
socklen_t ) ->
s32
(unknown0:
s32 , unknown1:
s32 , unknown2:
s32 , unknown3: *
void , unknown4:
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __optname:
s32 , __optval: *
void , __optlen:
socklen_t ) ->
s32
(__fd:
s32 , __level:
s32 , __option:
s32 , __value: *
void , __value_length:
socklen_t ) ->
s32
(fd:
s32 , how:
SHUT ) ->
s32
(unknown0:
s32 , unknown1:
SHUT ) ->
s32
(__fd:
s32 , __how:
SHUT ) ->
s32
(__fd:
s32 , __how:
SHUT ) ->
s32
(unknown0:
s32 , unknown1:
SOCK , unknown2:
IPPROTO ) ->
s32
(__domain:
s32 , __type:
SOCK , __protocol:
IPPROTO ) ->
s32
(lpsaAddress: *
sockaddr , dwAddressLength:
u32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpszAddressString: *
u8 , lpdwAddressStringLength: *
u32 ) ->
s32
(lpsaAddress: *
sockaddr , dwAddressLength:
u32 , lpProtocolInfo: *
WSAPROTOCOL_INFOW , lpszAddressString: *
s16 , lpdwAddressStringLength: *
u32 ) ->
s32
(hWnd:
HWND , wMsg:
u32 , addr: *
u8 , len:
s32 , type:
s32 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , name: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , name: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , number:
s32 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , name: *
u8 , proto: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(hWnd:
HWND , wMsg:
u32 , port:
s32 , proto: *
u8 , buf: *
u8 , buflen:
s32 ) ->
HANDLE
(s:
SOCKET , hWnd:
HWND , wMsg:
u32 , lEvent:
s32 ) ->
s32
(hAsyncTaskHandle:
HANDLE ) ->
s32
() -> s32
() -> s32
(lpiProtocols: *
s32 , lpProtocolBuffer: *
WSAPROTOCOL_INFO , lpdwBufferLength: *
u32 ) ->
s32
(lpiProtocols: *
s32 , lpProtocolBuffer: *
WSAPROTOCOL_INFOW , lpdwBufferLength: *
u32 ) ->
s32
(s:
SOCKET , hEventObject:
HANDLE , lNetworkEvents:
s32 ) ->
s32
(lpServiceClassId: *
GUID , lpszServiceClassName: *
u8 , lpdwBufferLength: *
u32 ) ->
s32
(lpServiceClassId: *
GUID , lpszServiceClassName: *
s16 , lpdwBufferLength: *
u32 ) ->
s32
(s:
SOCKET , hostlong:
u32 , lpnetlong: *
u32 ) ->
s32
(s:
SOCKET , hostshort:
u16 , lpnetshort: *
u16 ) ->
s32
(hLookup:
HANDLE , dwControlCode:
u32 , lpvInBuffer: *
void , cbInBuffer:
u32 , lpvOutBuffer: *
void , cbOutBuffer:
u32 , lpcbBytesReturned: *
u32 , lpCompletion: *
WSACOMPLETION ) ->
s32
(s:
SOCKET , netlong:
u32 , lphostlong: *
u32 ) ->
s32
(s:
SOCKET , netshort:
u16 , lphostshort: *
u16 ) ->
s32
(fdArray: *
WSAPOLLFD , fds:
u32 , timeout:
s32 ) ->
s32
(lpServiceClassId: *
GUID ) ->
s32
(lpBlockFunc: #type () -> s64 #c_call) -> () -> s64 #c_call
(iError: s32 ) -> void
(wVersionRequested:
u16 , lpWSAData: *
WSADATA ) ->
s32
(AddressString: *
u8 , AddressFamily:
s32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpAddress: *
sockaddr , lpAddressLength: *
s32 ) ->
s32
(AddressString: *
s16 , AddressFamily:
s32 , lpProtocolInfo: *
WSAPROTOCOL_INFOW , lpAddress: *
sockaddr , lpAddressLength: *
s32 ) ->
s32
() -> s32
(cEvents:
u32 , lphEvents: *
HANDLE , fWaitAll:
BOOL , dwTimeout:
u32 , fAlertable:
BOOL ) ->
u32
(fd:
s32 , set: *
fd_set ) ->
s32
(fd:
s32 , set: *
fd_set ) ->
s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
u8 , NodeBufferSize:
u32 , pServiceBuffer: *
u8 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(pSockaddr: *
SOCKADDR , SockaddrLength:
socklen_t , pNodeBuffer: *
u8 , NodeBufferSize:
u32 , pServiceBuffer: *
u8 , ServiceBufferSize:
u32 , Flags:
s32 ) ->
s32
(Family: s32 , pAddr: *void , pStringBuf: *u8 , StringBufSize: u64 ) -> *u8
(Family: s32 , pAddr: *void , pStringBuf: *u8 , StringBufSize: u64 ) -> *u8
(Family: s32 , pszAddrString: *u8 , pAddrBuf: *void ) -> s32
(Family: s32 , pszAddrString: *u8 , pAddrBuf: *void ) -> s32
(pName: *
u8 , pServiceName: *
u8 , pAddresses: *
SOCKET_ADDRESS , dwAddressCount:
u32 , lpBlob: *
BLOB , dwFlags:
u32 , dwNameSpace:
u32 , lpNspId: *
GUID , timeout: *
TIMEVAL , lpOverlapped: *
OVERLAPPED , lpCompletionRoutine:
LPLOOKUPSERVICE_COMPLETION_ROUTINE , lpNameHandle: *
HANDLE ) ->
s32
(lpsaAddress: *
sockaddr , dwAddressLength:
u32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpszAddressString: *
u8 , lpdwAddressStringLength: *
u32 ) ->
s32
(lpiProtocols: *
s32 , lpProtocolBuffer: *
WSAPROTOCOL_INFO , lpdwBufferLength: *
u32 ) ->
s32
(lpServiceClassId: *
GUID , lpszServiceClassName: *
u8 , lpdwBufferLength: *
u32 ) ->
s32
(AddressString: *
u8 , AddressFamily:
s32 , lpProtocolInfo: *
WSAPROTOCOL_INFO , lpAddress: *
sockaddr , lpAddressLength: *
s32 ) ->
s32
(unknown0: s32 , unknown1: *void , unknown2: s32 , unknown3: *u8 ) -> *u8
(unknown0: s32 , unknown1: *u8 , unknown2: *void ) -> s32
(unknown0:
s32 , unknown1: *
sockaddr ) ->
s32
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
() -> void
(unknown0: s32 ) -> *u8
(__ecode: s32 ) -> *u8
(__error: s32 ) -> *u8
(unknown0: *
u8 , unknown1:
s32 ) -> *
hostent
(__name: *
u8 , __af:
s32 ) -> *
hostent
(__name: *
u8 , __af:
s32 ) -> *
hostent
(unknown0: *
void , unknown1:
u64 , unknown2:
s32 , unknown3: *
s32 ) -> *
hostent
(unknown0: *
u8 , unknown1:
s32 , unknown2:
s32 , unknown3: *
s32 ) -> *
hostent
(unknown0:
u32 , unknown1:
s32 ) -> *
netent
(__net:
u32 , __type:
s32 ) -> *
netent
(__net:
u32 , __type:
s32 ) -> *
netent
(unknown0: **u8 , unknown1: **u8 , unknown2: **u8 ) -> s32
(__hostp: **u8 , __userp: **u8 , __domainp: **u8 ) -> s32
(unknown0: *u8 ) -> void
(__str: *u8 ) -> void
(__s: *u8 ) -> void
(unknown0: s32 ) -> *u8
(__err_num: s32 ) -> *u8
(__error: s32 ) -> *u8
(unknown0: u32 , unknown1: *u8 ) -> *u8
(__ifindex: u32 , __ifname: *u8 ) -> *u8
(__index: u32 , __buf: *u8 ) -> *u8
(unknown0: *u8 ) -> u32
(__ifname: *u8 ) -> u32
(__name: *u8 ) -> u32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3:
u8 , unknown4:
socklen_t , unknown5:
u8 , unknown6: **
void ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 , __type:
u8 , __len:
socklen_t , __align:
u8 , __databufp: **
void ) ->
s32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3:
u8 , unknown4: *
socklen_t , unknown5: **
void ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 , __type:
u8 , __lenp: *
socklen_t , __databufp: **
void ) ->
s32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 ) ->
s32
(unknown0: *
void , unknown1:
s32 , unknown2: *
void , unknown3:
socklen_t ) ->
s32
(__databuf: *
void , __offset:
s32 , __val: *
void , __vallen:
socklen_t ) ->
s32
(unknown0: *
void , unknown1:
socklen_t ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t ) ->
s32
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3: *
u8 , unknown4: *
socklen_t , unknown5: **
void ) ->
s32
(__extbuf: *
void , __extlen:
socklen_t , __offset:
s32 , __typep: *
u8 , __lenp: *
socklen_t , __databufp: **
void ) ->
s32
(unknown0: *
void , unknown1:
s32 , unknown2: *
void , unknown3:
socklen_t ) ->
s32
(__databuf: *
void , __offset:
s32 , __val: *
void , __vallen:
socklen_t ) ->
s32
(unknown0: *
cmsghdr , unknown1:
s32 , unknown2:
s32 , unknown3:
s32 ) -> *
u8
(__cmsg: *
cmsghdr , __datalen:
s32 , __multx:
s32 , __plusy:
s32 ) -> *
u8
(unknown0: *
cmsghdr , unknown1: *
u8 , unknown2:
s32 , unknown3:
s32 ) ->
s32
(__cmsg: *
cmsghdr , __typep: *
u8 , __multx:
s32 , __plusy:
s32 ) ->
s32
(unknown0: *
cmsghdr , unknown1: **
u8 , unknown2:
s32 ) ->
s32
(__cmsg: *
cmsghdr , __tptrp: **
u8 , __type:
s32 ) ->
s32
(unknown0: *
void , unknown1: **
cmsghdr , unknown2:
s32 ) ->
s32
(__bp: *
void , __cmsgp: **
cmsghdr , __type:
s32 ) ->
s32
(unknown0: *
cmsghdr , unknown1: **
u8 ) ->
s32
(__cmsg: *
cmsghdr , __tptrp: **
u8 ) ->
s32
(unknown0: s32 ) -> s32
(__nbytes: s32 ) -> s32
(unknown0: *
void , unknown1: *
in6_addr ) ->
s32
(unknown0: *
void , unknown1:
s32 ) -> *
in6_addr
(__bp: *
void , __index:
s32 ) -> *
in6_addr
(unknown0: *
void , unknown1:
socklen_t , unknown2:
s32 , unknown3:
s32 ) -> *
void
(__bp: *
void , __bp_len:
socklen_t , __type:
s32 , __segments:
s32 ) -> *
void
(unknown0: *void , unknown1: *void ) -> s32
(__in: *void , __out: *void ) -> s32
(unknown0: *void ) -> s32
(__bp: *void ) -> s32
(unknown0: *
cmsghdr , unknown1:
s32 ) ->
s32
(unknown0: *
void , unknown1:
s32 ) -> *
cmsghdr
(unknown0: *
cmsghdr , unknown1:
u32 ) ->
s32
(unknown0: s32 , unknown1: s32 ) -> u64
(unknown0: *
u8 , unknown1: *
in_addr ) ->
s32
(__cp: *
u8 , __inp: *
in_addr ) ->
s32
(__s: *
u8 , __addr: *
in_addr ) ->
s32
(unknown0: s32 , unknown1: *void , unknown2: s32 , unknown3: *u8 , unknown4: u64 ) -> *u8
(unknown0: s32 , unknown1: *u8 , unknown2: *void , unknown3: u64 ) -> s32
(unknown0:
in_addr_t , unknown1: *
u8 , unknown2:
u64 ) -> *
u8
(unknown0: *u8 , unknown1: *u8 , unknown2: s32 ) -> u32
(__cp: *u8 , __buf: *u8 , __len: s32 ) -> u32
(__ascii: *u8 , __binary: *u8 , __n: s32 ) -> u32
(unknown0: s32 , unknown1: *u8 , unknown2: *u8 ) -> *u8
(__len: s32 , __cp: *u8 , __buf: *u8 ) -> *u8
(__binary_length: s32 , __binary: *u8 , __ascii: *u8 ) -> *u8
(unknown0: *u8 , unknown1: *u8 , unknown2: *u8 , unknown3: *u8 ) -> s32
(__netgroup: *u8 , __host: *u8 , __user: *u8 , __domain: *u8 ) -> s32
(unknown0:
s32 , unknown1: *
msghdr , unknown2:
MSG ) ->
s64
(__fd:
s32 , __message: *
msghdr , __flags:
MSG ) ->
s64
(__fd:
s32 , __msg: *
msghdr , __flags:
MSG ) ->
s64
(unknown0:
s32 , unknown1:
s32 , unknown2:
s64 , unknown3: *
s64 , unknown4: *
sf_hdtr , unknown5:
s32 ) ->
s32
(unknown0:
s32 , unknown1: *
msghdr , unknown2:
MSG ) ->
s64
(__fd:
s32 , __message: *
msghdr , __flags:
MSG ) ->
s64
(__fd:
s32 , __msg: *
msghdr , __flags:
MSG ) ->
s64
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(unknown0: *u8 ) -> void
(__netgroup: *u8 ) -> s32
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(stayopen: s32 ) -> void
(unknown0: s32 ) -> void
(__stay_open: s32 ) -> void
(__stay_open: s32 ) -> void
(unknown0: s32 ) -> s32
(__fd: s32 ) -> s32
(unknown0:
s32 , unknown1:
SOCK , unknown2:
IPPROTO , unknown3: *[2]
s32 ) ->
s32
(__domain:
s32 , __type:
SOCK , __protocol:
IPPROTO , __fds: *[2]
s32 ) ->
s32
(__af:
s32 , __type:
SOCK , __protocol:
IPPROTO , __fds: *[2]
s32 ) ->
s32
() -> *s32
(__addr: *
void , __len:
u32 , __type:
s32 , __result_buf: *
hostent , __buf: *
u8 , __buflen:
u64 , __result: **
hostent , __h_errnop: *
s32 ) ->
s32
(__addr: *
void , __length:
socklen_t , __type:
s32 , __ret: *
hostent , __buf: *
u8 , __buf_size:
u64 , __result: **
hostent , __h_errno_ptr: *
s32 ) ->
s32
(__name: *
u8 , __af:
s32 , __result_buf: *
hostent , __buf: *
u8 , __buflen:
u64 , __result: **
hostent , __h_errnop: *
s32 ) ->
s32
(__name: *
u8 , __af:
s32 , __ret: *
hostent , __buf: *
u8 , __buf_size:
u64 , __result: **
hostent , __h_errno_ptr: *
s32 ) ->
s32
(__name: *
u8 , __result_buf: *
hostent , __buf: *
u8 , __buflen:
u64 , __result: **
hostent , __h_errnop: *
s32 ) ->
s32
(__name: *
u8 , __ret: *
hostent , __buf: *
u8 , __buf_size:
u64 , __result: **
hostent , __h_errno_ptr: *
s32 ) ->
s32
(__result_buf: *
hostent , __buf: *
u8 , __buflen:
u64 , __result: **
hostent , __h_errnop: *
s32 ) ->
s32
(__s:
s32 , __interface_addr:
in_addr , __group:
in_addr , __fmode: *
u32 , __numsrc: *
u32 , __slist: *
in_addr ) ->
s32
(__net:
u32 , __type:
s32 , __result_buf: *
netent , __buf: *
u8 , __buflen:
u64 , __result: **
netent , __h_errnop: *
s32 ) ->
s32
(__name: *
u8 , __result_buf: *
netent , __buf: *
u8 , __buflen:
u64 , __result: **
netent , __h_errnop: *
s32 ) ->
s32
(__result_buf: *
netent , __buf: *
u8 , __buflen:
u64 , __result: **
netent , __h_errnop: *
s32 ) ->
s32
(__hostp: **u8 , __userp: **u8 , __domainp: **u8 , __buffer: *u8 , __buflen: u64 ) -> s32
(__name: *
u8 , __result_buf: *
protoent , __buf: *
u8 , __buflen:
u64 , __result: **
protoent ) ->
s32
(__proto:
s32 , __result_buf: *
protoent , __buf: *
u8 , __buflen:
u64 , __result: **
protoent ) ->
s32
(__result_buf: *
protoent , __buf: *
u8 , __buflen:
u64 , __result: **
protoent ) ->
s32
(__name: *
u8 , __proto: *
u8 , __result_buf: *
servent , __buf: *
u8 , __buflen:
u64 , __result: **
servent ) ->
s32
(__port:
s32 , __proto: *
u8 , __result_buf: *
servent , __buf: *
u8 , __buflen:
u64 , __result: **
servent ) ->
s32
(__result_buf: *
servent , __buf: *
u8 , __buflen:
u64 , __result: **
servent ) ->
s32
(__raddr: u32 , __suser: s32 , __remuser: *u8 , __locuser: *u8 ) -> s32
(__raddr: *
void , __suser:
s32 , __remuser: *
u8 , __locuser: *
u8 , __af:
sa_family_t ) ->
s32
(__fd: s32 , __fdtype: s32 ) -> s32
(__ahost: **u8 , __rport: u16 , __locuser: *u8 , __remuser: *u8 , __cmd: *u8 , __fd2p: *s32 ) -> s32
(__ahost: **
u8 , __rport:
u16 , __locuser: *
u8 , __remuser: *
u8 , __cmd: *
u8 , __fd2p: *
s32 , __af:
sa_family_t ) ->
s32
(__fd:
s32 , __msgs: *
mmsghdr , __msg_count:
u32 , __flags:
MSG , __timeout: *
timespec ) ->
s32
(__ahost: **u8 , __rport: s32 , __name: *u8 , __pass: *u8 , __cmd: *u8 , __fd2p: *s32 ) -> s32
(__ahost: **
u8 , __rport:
s32 , __name: *
u8 , __pass: *
u8 , __cmd: *
u8 , __fd2p: *
s32 , __af:
sa_family_t ) ->
s32
(__alport: *s32 ) -> s32
(__rhost: *u8 , __suser: s32 , __remuser: *u8 , __locuser: *u8 ) -> s32
(__rhost: *
u8 , __suser:
s32 , __remuser: *
u8 , __locuser: *
u8 , __af:
sa_family_t ) ->
s32
(__fd:
s32 , __vmessages: *
mmsghdr , __vlen:
u32 , __flags:
MSG ) ->
s32
(__fd:
s32 , __msgs: *
mmsghdr , __msg_count:
u32 , __flags:
MSG ) ->
s32
(__s:
s32 , __interface_addr:
in_addr , __group:
in_addr , __fmode:
u32 , __numsrc:
u32 , __slist: *
in_addr ) ->
s32
(unknown0:
s32 , unknown1: *
fd_set , unknown2:
u64 ) ->
void
(unknown0:
s32 , unknown1: *
fd_set , unknown2:
u64 ) ->
s32
(unknown0:
s32 , unknown1: *
fd_set , unknown2:
u64 ) ->
void
() -> *s32