MCPcopy Create free account
hub / github.com/defold/defold / Accept

Function Accept

engine/dlib/src/dlib/socket_posix.cpp:285–310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

283 }
284
285 Result Accept(Socket socket, Address* address, Socket* accept_socket)
286 {
287 int result = 0;
288 if (IsSocketIPv4(socket))
289 {
290 struct sockaddr_in sock_addr = { 0 };
291 socklen_t addr_len = sizeof(sock_addr);
292 result = accept(socket, (struct sockaddr *) &sock_addr, &addr_len);
293 address->m_family = DOMAIN_IPV4;
294 *IPv4(address) = sock_addr.sin_addr.s_addr;
295 }
296#if !defined(DM_IPV6_UNSUPPORTED)
297 else if (IsSocketIPv6(socket))
298 {
299 struct sockaddr_in6 sock_addr = { 0 };
300 socklen_t addr_len = sizeof(sock_addr);
301 result = accept(socket, (struct sockaddr *) &sock_addr, &addr_len);
302 address->m_family = DOMAIN_IPV6;
303 memcpy(IPv6(address), &sock_addr.sin6_addr, sizeof(struct in6_addr));
304 }
305#endif // no ipv6
306 else
307 {
308 dmLogError("Failed to accept connections, unsupported address family!");
309 return RESULT_AFNOSUPPORT;
310 }
311
312 *accept_socket = result;
313 return result >= 0 ? RESULT_OK : NATIVETORESULT(DM_SOCKET_ERRNO);

Callers

nothing calls this directly

Calls 2

IPv4Function · 0.85
IsSocketIPv4Function · 0.70

Tested by

no test coverage detected