MCPcopy Create free account
hub / github.com/ddnet/ddnet / net_tcp_create

Function net_tcp_create

src/base/net.cpp:1214–1250  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1212}
1213
1214NETSOCKET net_tcp_create(NETADDR bindaddr)
1215{
1216 NETSOCKET sock = (NETSOCKET_INTERNAL *)malloc(sizeof(*sock));
1217 *sock = invalid_socket;
1218
1219 if(bindaddr.type & NETTYPE_IPV4)
1220 {
1221 NETADDR bindaddr_ipv4 = bindaddr;
1222 bindaddr_ipv4.type = NETTYPE_IPV4;
1223 const int socket4 = priv_net_create_socket(AF_INET, SOCK_STREAM, &bindaddr_ipv4);
1224 if(socket4 >= 0)
1225 {
1226 sock->type |= NETTYPE_IPV4;
1227 sock->ipv4sock = socket4;
1228 }
1229 }
1230
1231 if(bindaddr.type & NETTYPE_IPV6)
1232 {
1233 NETADDR bindaddr_ipv6 = bindaddr;
1234 bindaddr_ipv6.type = NETTYPE_IPV6;
1235 const int socket6 = priv_net_create_socket(AF_INET6, SOCK_STREAM, &bindaddr_ipv6);
1236 if(socket6 >= 0)
1237 {
1238 sock->type |= NETTYPE_IPV6;
1239 sock->ipv6sock = socket6;
1240 }
1241 }
1242
1243 if(sock->type == NETTYPE_INVALID)
1244 {
1245 free(sock);
1246 sock = nullptr;
1247 }
1248
1249 return sock;
1250}
1251
1252int net_tcp_listen(NETSOCKET sock, int backlog)
1253{

Callers 1

OpenMethod · 0.85

Calls 1

priv_net_create_socketFunction · 0.85

Tested by

no test coverage detected