|
|
@@ -1021,7 +1021,13 @@ int sal_ioctlsocket(int socket, long cmd, void *arg)
|
|
|
{
|
|
|
case SIOCGIFADDR:
|
|
|
addr_in = (struct sockaddr_in *)&(ifr->ifr_ifru.ifru_addr);
|
|
|
+#if NETDEV_IPV4 && NETDEV_IPV6
|
|
|
addr_in->sin_addr.s_addr = sock->netdev->ip_addr.u_addr.ip4.addr;
|
|
|
+#elif NETDEV_IPV4
|
|
|
+ addr_in->sin_addr.s_addr = sock->netdev->ip_addr.addr;
|
|
|
+#elif NETDEV_IPV6
|
|
|
+#error "not only support IPV6"
|
|
|
+#endif /* NETDEV_IPV4 && NETDEV_IPV6*/
|
|
|
return 0;
|
|
|
|
|
|
case SIOCSIFADDR:
|
|
|
@@ -1032,7 +1038,13 @@ int sal_ioctlsocket(int socket, long cmd, void *arg)
|
|
|
|
|
|
case SIOCGIFNETMASK:
|
|
|
addr_in = (struct sockaddr_in *)&(ifr->ifr_ifru.ifru_netmask);
|
|
|
+#if NETDEV_IPV4 && NETDEV_IPV6
|
|
|
addr_in->sin_addr.s_addr = sock->netdev->netmask.u_addr.ip4.addr;
|
|
|
+#elif NETDEV_IPV4
|
|
|
+ addr_in->sin_addr.s_addr = sock->netdev->netmask.addr;
|
|
|
+#elif NETDEV_IPV6
|
|
|
+#error "not only support IPV6"
|
|
|
+#endif /* NETDEV_IPV4 && NETDEV_IPV6*/
|
|
|
return 0;
|
|
|
|
|
|
case SIOCSIFNETMASK:
|