MCPcopy Create free account
hub / github.com/cppla/ServerStatus / net_tcp_create

Function net_tcp_create

server/src/system.c:1072–1111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1070}
1071
1072NETSOCKET net_tcp_create(NETADDR bindaddr)
1073{
1074 NETSOCKET sock = invalid_socket;
1075 NETADDR tmpbindaddr = bindaddr;
1076
1077 if(bindaddr.type&NETTYPE_IPV4)
1078 {
1079 struct sockaddr_in addr;
1080 int socket = -1;
1081
1082 /* bind, we should check for error */
1083 tmpbindaddr.type = NETTYPE_IPV4;
1084 netaddr_to_sockaddr_in(&tmpbindaddr, &addr);
1085 socket = priv_net_create_socket(AF_INET, SOCK_STREAM, (struct sockaddr *)&addr, sizeof(addr));
1086 if(socket >= 0)
1087 {
1088 sock.type |= NETTYPE_IPV4;
1089 sock.ipv4sock = socket;
1090 }
1091 }
1092
1093 if(bindaddr.type&NETTYPE_IPV6)
1094 {
1095 struct sockaddr_in6 addr;
1096 int socket = -1;
1097
1098 /* bind, we should check for error */
1099 tmpbindaddr.type = NETTYPE_IPV6;
1100 netaddr_to_sockaddr_in6(&tmpbindaddr, &addr);
1101 socket = priv_net_create_socket(AF_INET6, SOCK_STREAM, (struct sockaddr *)&addr, sizeof(addr));
1102 if(socket >= 0)
1103 {
1104 sock.type |= NETTYPE_IPV6;
1105 sock.ipv6sock = socket;
1106 }
1107 }
1108
1109 /* return */
1110 return sock;
1111}
1112
1113int net_set_non_blocking(NETSOCKET sock)
1114{

Callers 1

OpenMethod · 0.85

Calls 3

netaddr_to_sockaddr_inFunction · 0.85
priv_net_create_socketFunction · 0.85
netaddr_to_sockaddr_in6Function · 0.85

Tested by

no test coverage detected