- RemoteAddress = RemoteHostAddress.sin_addr.s_addr;\r
- Print ( L"Connecting to remote system %d.%d.%d.%d:%d\r\n",\r
- RemoteAddress & 0xff,\r
- ( RemoteAddress >> 8 ) & 0xff,\r
- ( RemoteAddress >> 16 ) & 0xff,\r
- ( RemoteAddress >> 24 ) & 0xff,\r
- htons ( RemoteHostAddress.sin_port ));\r
+ pRemoteAddress4 = (struct sockaddr_in *)&RemoteHostAddress;\r
+ pRemoteAddress6 = &RemoteHostAddress;\r
+ if ( AF_INET == pRemoteAddress6->sin6_family ) {\r
+ Print ( L"Connecting to remote system %d.%d.%d.%d:%d\r\n",\r
+ pRemoteAddress4->sin_addr.s_addr & 0xff,\r
+ ( pRemoteAddress4->sin_addr.s_addr >> 8 ) & 0xff,\r
+ ( pRemoteAddress4->sin_addr.s_addr >> 16 ) & 0xff,\r
+ ( pRemoteAddress4->sin_addr.s_addr >> 24 ) & 0xff,\r
+ htons ( pRemoteAddress4->sin_port ));\r
+ }\r
+ else {\r
+ Print ( L"Connecting to remote system [%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x]:%d\r\n",\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 0 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 1 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 2 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 3 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 4 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 5 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 6 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 7 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 8 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 9 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 10 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 11 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 12 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 13 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 14 ],\r
+ pRemoteAddress6->sin6_addr.__u6_addr.__u6_addr8[ 15 ],\r
+ htons ( pRemoteAddress6->sin6_port ));\r
+ }\r