Skip to content

Commit 81ede79

Browse files
committed
Updated transport_address
1 parent 3b398ba commit 81ede79

File tree

4 files changed

+38
-52
lines changed

4 files changed

+38
-52
lines changed

game/source/networking/network_globals.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -828,19 +828,19 @@ void network_test_ipv6(const char* host, const char* port, const char* url)
828828
if (ptr->ai_family == AF_INET)
829829
{
830830
sockaddr_in* ipv4 = (sockaddr_in*)ptr->ai_addr;
831-
out_address->address_length = sizeof(out_address->ina);
831+
out_address->address_length = sizeof(out_address->ipv4_address);
832832
out_address->port = bswap_uns16(ipv4->sin_port);
833833
out_address->ipv4_address = bswap_uns32(ipv4->sin_addr.s_addr);
834834
break;
835835
}
836836
else if (ptr->ai_family == AF_INET6)
837837
{
838838
sockaddr_in6* ipv6 = (sockaddr_in6*)ptr->ai_addr;
839-
out_address->address_length = sizeof(out_address->ina6);
839+
out_address->address_length = sizeof(out_address->ipv6_address);
840840
out_address->port = bswap_uns16(ipv6->sin6_port);
841-
for (int32 i = 0; i < NUMBEROF(out_address->ina6.words); ++i)
841+
for (int32 i = 0; i < NUMBEROF(out_address->ipv6_address); ++i)
842842
{
843-
out_address->ina6.words[i] = bswap_uns16(ipv6->sin6_addr.u.Word[i]);
843+
out_address->ipv6_address[i] = bswap_uns16(ipv6->sin6_addr.u.Word[i]);
844844
}
845845
break;
846846
}

game/source/networking/transport/transport_address.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ void __cdecl transport_address_ipv6_build(transport_address* address, const uns1
8181
{
8282
ASSERT(address);
8383

84-
csmemcpy(&address->ina6, ipv6_address, IPV6_ADDRESS_LENGTH);
84+
csmemcpy(address->ipv6_address, ipv6_address, IPV6_ADDRESS_LENGTH);
8585
address->address_length = IPV6_ADDRESS_LENGTH;
8686
address->port = port;
8787
}
@@ -108,7 +108,7 @@ bool __cdecl transport_address_is_loopback(const transport_address* address)
108108
loopback = address->ipv4_address == IPV4_LOOPBACK_ADDRESS;
109109
break;
110110
case IPV6_ADDRESS_LENGTH:
111-
loopback = csmemcmp(&address->ina6, IPV6_LOOPBACK_ADDRESS, IPV6_ADDRESS_LENGTH) == 0;
111+
loopback = csmemcmp(&address->ipv6_address, IPV6_LOOPBACK_ADDRESS, IPV6_ADDRESS_LENGTH) == 0;
112112
break;
113113
}
114114
return loopback;
@@ -132,10 +132,10 @@ char* __cdecl transport_address_to_string(const transport_address* address, cons
132132
case IPV4_ADDRESS_LENGTH:
133133
{
134134
csnzprintf(string, maximum_string_length, "%hd.%hd.%hd.%hd",
135-
address->ina.bytes[3],
136-
address->ina.bytes[2],
137-
address->ina.bytes[1],
138-
address->ina.bytes[0]);
135+
address->ipv4_bytes[3],
136+
address->ipv4_bytes[2],
137+
address->ipv4_bytes[1],
138+
address->ipv4_bytes[0]);
139139

140140
if (include_port)
141141
{
@@ -246,7 +246,7 @@ void __cdecl transport_get_broadcast_address(transport_address* address, uns16 p
246246
ASSERT(address);
247247

248248
#ifdef USE_IPV6
249-
csmemcpy(&address->ina6, IPV6_BROADCAST_ADDRESS, IPV6_ADDRESS_LENGTH);
249+
csmemcpy(&address->ipv6_address, IPV6_BROADCAST_ADDRESS, IPV6_ADDRESS_LENGTH);
250250
address->address_length = IPV6_ADDRESS_LENGTH;
251251
address->port = port;
252252
#else
@@ -263,7 +263,7 @@ void __cdecl transport_get_listen_address(transport_address* address, uns16 port
263263
ASSERT(address);
264264

265265
#ifdef USE_IPV6
266-
csmemcpy(&address->ina6, IPV6_UNKNOWN_ADDRESS, IPV6_ADDRESS_LENGTH);
266+
csmemcpy(&address->ipv6_address, IPV6_UNKNOWN_ADDRESS, IPV6_ADDRESS_LENGTH);
267267
address->address_length = IPV6_ADDRESS_LENGTH;
268268
address->port = port;
269269
#else
@@ -280,7 +280,7 @@ void __cdecl transport_get_loopback_address(transport_address* address, uns16 po
280280
ASSERT(address);
281281

282282
#ifdef USE_IPV6
283-
csmemcpy(&address->ina6, IPV6_LOOPBACK_ADDRESS, IPV6_ADDRESS_LENGTH);
283+
csmemcpy(&address->ipv6_address, IPV6_LOOPBACK_ADDRESS, IPV6_ADDRESS_LENGTH);
284284
address->address_length = IPV6_ADDRESS_LENGTH;
285285
address->port = port;
286286
#else
@@ -295,10 +295,10 @@ void transport_address_from_string(const wchar_t* str, transport_address& addres
295295
uns8 ip_addr[4]{};
296296
if (swscanf_s(str, L"%hhd.%hhd.%hhd.%hhd:%hd", &ip_addr[3], &ip_addr[2], &ip_addr[1], &ip_addr[0], &address.port))
297297
{
298-
address.ina.bytes[0] = ip_addr[0];
299-
address.ina.bytes[1] = ip_addr[1];
300-
address.ina.bytes[2] = ip_addr[2];
301-
address.ina.bytes[3] = ip_addr[3];
298+
address.ipv4_bytes[0] = ip_addr[0];
299+
address.ipv4_bytes[1] = ip_addr[1];
300+
address.ipv4_bytes[2] = ip_addr[2];
301+
address.ipv4_bytes[3] = ip_addr[3];
302302

303303
address.address_length = IPV4_ADDRESS_LENGTH;
304304
}
@@ -309,10 +309,10 @@ void transport_address_from_string(const char* str, transport_address& address)
309309
uns8 ip_addr[4]{};
310310
if (sscanf_s(str, "%hhd.%hhd.%hhd.%hhd:%hd", &ip_addr[3], &ip_addr[2], &ip_addr[1], &ip_addr[0], &address.port))
311311
{
312-
address.ina.bytes[0] = ip_addr[0];
313-
address.ina.bytes[1] = ip_addr[1];
314-
address.ina.bytes[2] = ip_addr[2];
315-
address.ina.bytes[3] = ip_addr[3];
312+
address.ipv4_bytes[0] = ip_addr[0];
313+
address.ipv4_bytes[1] = ip_addr[1];
314+
address.ipv4_bytes[2] = ip_addr[2];
315+
address.ipv4_bytes[3] = ip_addr[3];
316316

317317
address.address_length = IPV4_ADDRESS_LENGTH;
318318
}

game/source/networking/transport/transport_address.hpp

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,7 @@ struct transport_address
3232
uns32 ipv4_address;
3333
uns16 ipv6_address[8];
3434

35-
// in_addr
36-
// address_length == 0x4
37-
union
38-
{
39-
uns8 bytes[4];
40-
uns16 words[2];
41-
} ina;
42-
43-
// in6_addr
44-
// address_length == 0x10
45-
union
46-
{
47-
uns8 bytes[16];
48-
uns16 words[8];
49-
} ina6;
35+
uns8 ipv4_bytes[sizeof(ipv4_address)];
5036

5137
// address_length == 0xFFFF
5238
const char* file_socket_name;

game/source/networking/transport/transport_endpoint_winsock.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -503,14 +503,14 @@ bool __cdecl transport_endpoint_get_socket_address(const transport_address* addr
503503
ipv6_address->sin6_family = AF_INET6;
504504
ipv6_address->sin6_port = bswap_uns16(address->port);
505505
ipv6_address->sin6_flowinfo = 0;
506-
ipv6_address->sin6_addr.s6_words[0] = bswap_uns16(address->ina6.words[0]);
507-
ipv6_address->sin6_addr.s6_words[1] = bswap_uns16(address->ina6.words[1]);
508-
ipv6_address->sin6_addr.s6_words[2] = bswap_uns16(address->ina6.words[2]);
509-
ipv6_address->sin6_addr.s6_words[3] = bswap_uns16(address->ina6.words[3]);
510-
ipv6_address->sin6_addr.s6_words[4] = bswap_uns16(address->ina6.words[4]);
511-
ipv6_address->sin6_addr.s6_words[5] = bswap_uns16(address->ina6.words[5]);
512-
ipv6_address->sin6_addr.s6_words[6] = bswap_uns16(address->ina6.words[6]);
513-
ipv6_address->sin6_addr.s6_words[7] = bswap_uns16(address->ina6.words[7]);
506+
ipv6_address->sin6_addr.s6_words[0] = bswap_uns16(address->ipv6_address[0]);
507+
ipv6_address->sin6_addr.s6_words[1] = bswap_uns16(address->ipv6_address[1]);
508+
ipv6_address->sin6_addr.s6_words[2] = bswap_uns16(address->ipv6_address[2]);
509+
ipv6_address->sin6_addr.s6_words[3] = bswap_uns16(address->ipv6_address[3]);
510+
ipv6_address->sin6_addr.s6_words[4] = bswap_uns16(address->ipv6_address[4]);
511+
ipv6_address->sin6_addr.s6_words[5] = bswap_uns16(address->ipv6_address[5]);
512+
ipv6_address->sin6_addr.s6_words[6] = bswap_uns16(address->ipv6_address[6]);
513+
ipv6_address->sin6_addr.s6_words[7] = bswap_uns16(address->ipv6_address[7]);
514514
ipv6_address->sin6_scope_id = 0;
515515

516516
*socket_address_size = sizeof(sockaddr_in6);
@@ -554,14 +554,14 @@ bool __cdecl transport_endpoint_get_transport_address(int32 socket_address_lengt
554554
const sockaddr_in6* ipv6_address = (const sockaddr_in6*)socket_address;
555555
ASSERT(ipv6_address->sin6_family == AF_INET6);
556556

557-
address->ina6.words[0] = bswap_uns16(ipv6_address->sin6_addr.s6_words[0]);
558-
address->ina6.words[1] = bswap_uns16(ipv6_address->sin6_addr.s6_words[1]);
559-
address->ina6.words[2] = bswap_uns16(ipv6_address->sin6_addr.s6_words[2]);
560-
address->ina6.words[3] = bswap_uns16(ipv6_address->sin6_addr.s6_words[3]);
561-
address->ina6.words[4] = bswap_uns16(ipv6_address->sin6_addr.s6_words[4]);
562-
address->ina6.words[5] = bswap_uns16(ipv6_address->sin6_addr.s6_words[5]);
563-
address->ina6.words[6] = bswap_uns16(ipv6_address->sin6_addr.s6_words[6]);
564-
address->ina6.words[7] = bswap_uns16(ipv6_address->sin6_addr.s6_words[7]);
557+
address->ipv6_address[0] = bswap_uns16(ipv6_address->sin6_addr.s6_words[0]);
558+
address->ipv6_address[1] = bswap_uns16(ipv6_address->sin6_addr.s6_words[1]);
559+
address->ipv6_address[2] = bswap_uns16(ipv6_address->sin6_addr.s6_words[2]);
560+
address->ipv6_address[3] = bswap_uns16(ipv6_address->sin6_addr.s6_words[3]);
561+
address->ipv6_address[4] = bswap_uns16(ipv6_address->sin6_addr.s6_words[4]);
562+
address->ipv6_address[5] = bswap_uns16(ipv6_address->sin6_addr.s6_words[5]);
563+
address->ipv6_address[6] = bswap_uns16(ipv6_address->sin6_addr.s6_words[6]);
564+
address->ipv6_address[7] = bswap_uns16(ipv6_address->sin6_addr.s6_words[7]);
565565
address->port = bswap_uns16(ipv6_address->sin6_port);
566566
address->address_length = IPV6_ADDRESS_LENGTH;
567567

0 commit comments

Comments
 (0)