Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp	(revision 15371)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp	(revision 15372)
@@ -49,4 +49,14 @@
         case HostNetworkInterfaceType_PPP: return "PPP";
         case HostNetworkInterfaceType_SLIP: return "SLIP";
+    }
+    return "Unknown";
+}
+
+static const char *getHostIfStatusText(HostNetworkInterfaceStatus_T enmStatus)
+{
+    switch (enmStatus)
+    {
+        case HostNetworkInterfaceStatus_Up: return "Up";
+        case HostNetworkInterfaceStatus_Down: return "Down";
     }
     return "Unknown";
@@ -204,4 +214,5 @@
                 ComPtr<IHostNetworkInterface> networkInterface;
                 CHECK_RC_BREAK(enumerator->GetNext(networkInterface.asOutParam()));
+#ifndef VBOX_WITH_HOSTNETIF_API
                 Bstr interfaceName;
                 networkInterface->COMGETTER(Name)(interfaceName.asOutParam());
@@ -210,31 +221,40 @@
                 networkInterface->COMGETTER(Id)(interfaceGuid.asOutParam());
                 RTPrintf("GUID:        %lS\n\n", Bstr(interfaceGuid.toString()).raw());
-#ifdef VBOX_WITH_HOSTNETIF_API
-            ULONG IPAddress;
-            networkInterface->COMGETTER(IPAddress)(&IPAddress);
-            RTPrintf("IPAddress:       %d.%d.%d.%d\n",
-                     ((uint8_t*)&IPAddress)[0],
-                     ((uint8_t*)&IPAddress)[1],
-                     ((uint8_t*)&IPAddress)[2],
-                     ((uint8_t*)&IPAddress)[3]);
-            ULONG NetworkMask;
-            networkInterface->COMGETTER(NetworkMask)(&NetworkMask);
-            RTPrintf("NetworkMask:     %d.%d.%d.%d\n",
-                     ((uint8_t*)&NetworkMask)[0],
-                     ((uint8_t*)&NetworkMask)[1],
-                     ((uint8_t*)&NetworkMask)[2],
-                     ((uint8_t*)&NetworkMask)[3]);
-            Bstr IPV6Address;
-            networkInterface->COMGETTER(IPV6Address)(IPV6Address.asOutParam());
-            RTPrintf("IPV6Address:     %lS\n", IPV6Address.raw());
-            Bstr HardwareAddress;
-            networkInterface->COMGETTER(HardwareAddress)(HardwareAddress.asOutParam());
-            RTPrintf("HardwareAddress: %lS\n", HardwareAddress.raw());
-            HostNetworkInterfaceType_T Type;
-            networkInterface->COMGETTER(Type)(&Type);
-            RTPrintf("Type:            %s\n", getHostIfTypeText(Type));
-            HostNetworkInterfaceStatus_T Status;
-            networkInterface->COMGETTER(Status)(&Status);
-            RTPrintf("Status:          %s\n\n", Status ? "Down":"Up");
+#else /* VBOX_WITH_HOSTNETIF_API */
+                Bstr interfaceName;
+                networkInterface->COMGETTER(Name)(interfaceName.asOutParam());
+                RTPrintf("Name:            %lS\n", interfaceName.raw());
+                Guid interfaceGuid;
+                networkInterface->COMGETTER(Id)(interfaceGuid.asOutParam());
+                RTPrintf("GUID:            %lS\n", Bstr(interfaceGuid.toString()).raw());
+                ULONG IPAddress;
+                networkInterface->COMGETTER(IPAddress)(&IPAddress);
+                RTPrintf("IPAddress:       %d.%d.%d.%d\n",
+                         ((uint8_t*)&IPAddress)[0],
+                         ((uint8_t*)&IPAddress)[1],
+                         ((uint8_t*)&IPAddress)[2],
+                         ((uint8_t*)&IPAddress)[3]);
+                ULONG NetworkMask;
+                networkInterface->COMGETTER(NetworkMask)(&NetworkMask);
+                RTPrintf("NetworkMask:     %d.%d.%d.%d\n",
+                         ((uint8_t*)&NetworkMask)[0],
+                         ((uint8_t*)&NetworkMask)[1],
+                         ((uint8_t*)&NetworkMask)[2],
+                         ((uint8_t*)&NetworkMask)[3]);
+                Bstr IPV6Address;
+                networkInterface->COMGETTER(IPV6Address)(IPV6Address.asOutParam());
+                RTPrintf("IPV6Address:     %lS\n", IPV6Address.raw());
+                Bstr IPV6NetworkMask;
+                networkInterface->COMGETTER(IPV6NetworkMask)(IPV6NetworkMask.asOutParam());
+                RTPrintf("IPV6NetworkMask: %lS\n", IPV6NetworkMask.raw());
+                Bstr HardwareAddress;
+                networkInterface->COMGETTER(HardwareAddress)(HardwareAddress.asOutParam());
+                RTPrintf("HardwareAddress: %lS\n", HardwareAddress.raw());
+                HostNetworkInterfaceType_T Type;
+                networkInterface->COMGETTER(Type)(&Type);
+                RTPrintf("Type:            %s\n", getHostIfTypeText(Type));
+                HostNetworkInterfaceStatus_T Status;
+                networkInterface->COMGETTER(Status)(&Status);
+                RTPrintf("Status:          %s\n\n", getHostIfStatusText(Status));
 #endif
             }
Index: /trunk/src/VBox/Main/HostImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/HostImpl.cpp	(revision 15371)
+++ /trunk/src/VBox/Main/HostImpl.cpp	(revision 15372)
@@ -117,5 +117,5 @@
 #endif
 #ifdef VBOX_WITH_HOSTNETIF_API
-#include <iprt/netif.h>
+#include "netif.h"
 #endif
 
@@ -762,5 +762,5 @@
 
 #ifdef VBOX_WITH_HOSTNETIF_API
-    PRTNETIFINFO pIfs = RTNetIfList();
+    PNETIFINFO pIfs = NetIfList();
     while (pIfs)
     {
Index: /trunk/src/VBox/Main/HostNetworkInterfaceImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/HostNetworkInterfaceImpl.cpp	(revision 15371)
+++ /trunk/src/VBox/Main/HostNetworkInterfaceImpl.cpp	(revision 15372)
@@ -72,4 +72,34 @@
 
 #ifdef VBOX_WITH_HOSTNETIF_API
+static Bstr composeIPv6Address(PRTNETADDRIPV6 aAddrPtr)
+{
+    char szTmp[8*5];
+
+    RTStrPrintf(szTmp, sizeof(szTmp),
+                "%02x%02x:%02x%02x:%02x%02x:%02x%02x:"
+                "%02x%02x:%02x%02x:%02x%02x:%02x%02x",
+                aAddrPtr->au8[0], aAddrPtr->au8[1],
+                aAddrPtr->au8[2], aAddrPtr->au8[3],
+                aAddrPtr->au8[4], aAddrPtr->au8[5],
+                aAddrPtr->au8[6], aAddrPtr->au8[7],
+                aAddrPtr->au8[8], aAddrPtr->au8[9],
+                aAddrPtr->au8[10], aAddrPtr->au8[11],
+                aAddrPtr->au8[12], aAddrPtr->au8[13],
+                aAddrPtr->au8[14], aAddrPtr->au8[15]);
+    return Bstr(szTmp);
+}
+
+static Bstr composeHardwareAddress(PRTMAC aMacPtr)
+{
+    char szTmp[6*3];
+
+    RTStrPrintf(szTmp, sizeof(szTmp),
+                "%02x:%02x:%02x:%02x:%02x:%02x",
+                aMacPtr->au8[0], aMacPtr->au8[1],
+                aMacPtr->au8[2], aMacPtr->au8[3],
+                aMacPtr->au8[4], aMacPtr->au8[5]);
+    return Bstr(szTmp);
+}
+
 /**
  * Initializes the host object.
@@ -79,5 +109,5 @@
  * @param   aGuid GUID of the host network interface
  */
-HRESULT HostNetworkInterface::init (PRTNETIFINFO pIf)
+HRESULT HostNetworkInterface::init (PNETIFINFO pIf)
 {
 //    LogFlowThisFunc (("aInterfaceName={%ls}, aGuid={%s}\n",
@@ -86,5 +116,5 @@
 //    ComAssertRet (aInterfaceName, E_INVALIDARG);
 //    ComAssertRet (!aGuid.isEmpty(), E_INVALIDARG);
-    ComAssertRet (!pIf, E_INVALIDARG);
+    ComAssertRet (pIf, E_INVALIDARG);
 
     /* Enclose the state transition NotReady->InInit->Ready */
@@ -94,7 +124,11 @@
     unconst (mInterfaceName) = Bstr(pIf->szName);
     unconst (mGuid) = pIf->Uuid;
-//    m.IPAddress = pIf->IPAddress;
-//    m.networkMask = pIf->IPNetMask;
-//    m.IPv6Address = composeIPv6Address(pIf->IPv6Address, pIf->IPv6NetMask);
+    m.IPAddress = pIf->IPAddress.u;
+    m.networkMask = pIf->IPNetMask.u;
+    m.IPV6Address = composeIPv6Address(&pIf->IPv6Address);
+    m.IPV6NetworkMask = composeIPv6Address(&pIf->IPv6NetMask);
+    m.hardwareAddress = composeHardwareAddress(&pIf->MACAddress);
+    m.type = pIf->enmType;
+    m.status = pIf->enmStatus;
 
     /* Confirm a successful initialization */
@@ -200,4 +234,22 @@
 
 /**
+ * Returns the IP V6 network mask of the host network interface.
+ *
+ * @returns COM status code
+ * @param   aIPV6Mask address of result pointer
+ */
+STDMETHODIMP HostNetworkInterface::COMGETTER(IPV6NetworkMask) (BSTR *aIPV6Mask)
+{
+    CheckComArgOutPointerValid(aIPV6Mask);
+
+    AutoCaller autoCaller (this);
+    CheckComRCReturnRC (autoCaller.rc());
+
+    m.IPV6NetworkMask.cloneTo (aIPV6Mask);
+
+    return S_OK;
+}
+
+/**
  * Returns the hardware address of the host network interface.
  *
Index: /trunk/src/VBox/Main/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Main/Makefile.kmk	(revision 15371)
+++ /trunk/src/VBox/Main/Makefile.kmk	(revision 15372)
@@ -341,4 +341,13 @@
 endif
 
+ifdef VBOX_WITH_HOSTNETIF_API
+ VBoxSVC_SOURCES.win     +=     win/NetIfList-win.cpp
+ VBoxSVC_SOURCES.linux   +=   linux/NetIfList-linux.cpp
+ VBoxSVC_SOURCES.os2     +=     os2/NetIfList-os2.cpp
+ VBoxSVC_SOURCES.darwin  +=  darwin/NetIfList-darwin.cpp
+ VBoxSVC_SOURCES.solaris += solaris/NetIfList-solaris.cpp
+ VBoxSVC_DEFS            += VBOX_WITH_HOSTNETIF_API
+endif
+
 win/VBoxSVC.rc_INCS  = $(PATH_VBoxSVC)
 win/VBoxSVC.rc_DEPS  = $(PATH_VBoxSVC)/VBoxSVC.rgs $(PATH_VBoxSVC)/VBoxSVC-icon.rc
Index: /trunk/src/VBox/Main/darwin/NetIfList-darwin.cpp
===================================================================
--- /trunk/src/VBox/Main/darwin/NetIfList-darwin.cpp	(revision 15372)
+++ /trunk/src/VBox/Main/darwin/NetIfList-darwin.cpp	(revision 15372)
@@ -0,0 +1,150 @@
+/* $Id$ */
+/** @file
+ * Main - NetIfList, Darwin implementation.
+ */
+
+/*
+ * Copyright (C) 2008 Sun Microsystems, Inc.
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+ * Clara, CA 95054 USA or visit http://www.sun.com if you need
+ * additional information or have any questions.
+ */
+
+
+
+/*******************************************************************************
+*   Header Files                                                               *
+*******************************************************************************/
+#define LOG_GROUP LOG_GROUP_MAIN
+
+#include <iprt/err.h>
+#include <iprt/alloc.h>
+
+#include <string.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <netinet/in.h>
+#include <net/if.h>
+#include <ifaddrs.h>
+#include <errno.h>
+#include <unistd.h>
+
+#include "netif.h"
+#include "iokit.h"
+#include "Logging.h"
+
+PNETIFINFO NetIfList()
+{
+    int sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
+    if (sock < 0)
+    {
+        Log(("NetIfList: socket() -> %d\n", errno));
+        return NULL;
+    }
+    struct ifaddrs *IfAddrs, *pAddr;
+    int rc = getifaddrs(&IfAddrs);
+    if (rc)
+    {
+        close(sock);
+        Log(("NetIfList: getifaddrs() -> %d\n", rc));
+        return NULL;
+    }
+
+    PNETIFINFO pIfs = NULL;
+    PNETIFINFO pPrev = NULL;
+    PDARWINETHERNIC pEtherNICs = DarwinGetEthernetControllers();
+    while (pEtherNICs)
+    {
+        size_t cbNameLen = strlen(pEtherNICs->szName) + 1;
+        PNETIFINFO pNew = (PNETIFINFO)RTMemAllocZ(RT_OFFSETOF(NETIFINFO, szName[cbNameLen]));
+        pNew->MACAddress = pEtherNICs->Mac;
+        pNew->enmType = NETIF_T_ETHERNET;
+        pNew->Uuid = pEtherNICs->Uuid;
+        Assert(sizeof(pNew->szShortName) > sizeof(pEtherNICs->szBSDName));
+        memcpy(pNew->szShortName, pEtherNICs->szBSDName, sizeof(pEtherNICs->szBSDName));
+        pNew->szShortName[sizeof(pEtherNICs->szBSDName)] = '\0';
+        memcpy(pNew->szName, pEtherNICs->szName, cbNameLen);
+
+        struct ifreq IfReq;
+        strcpy(IfReq.ifr_name, pNew->szShortName);
+        if (ioctl(sock, SIOCGIFFLAGS, &IfReq) < 0)
+        {
+            Log(("NetIfList: ioctl(SIOCGIFFLAGS) -> %d\n", errno));
+            pNew->enmStatus = NETIF_S_UNKNOWN;
+        }
+        else
+            pNew->enmStatus = (IfReq.ifr_flags & IFF_UP) ? NETIF_S_UP : NETIF_S_DOWN;
+
+        for (pAddr = IfAddrs; pAddr != NULL; pAddr = pAddr->ifa_next)
+        {
+            if (strcmp(pNew->szShortName, pAddr->ifa_name))
+                continue;
+
+            struct sockaddr_in *pIPAddr, *pIPNetMask;
+            struct sockaddr_in6 *pIPv6Addr, *pIPv6NetMask;
+
+            switch (pAddr->ifa_addr->sa_family)
+            {
+                case AF_INET:
+                    if (pNew->IPAddress.u)
+                        break;
+                    pIPAddr = (struct sockaddr_in *)pAddr->ifa_addr;
+                    Assert(sizeof(pNew->IPAddress) == sizeof(pIPAddr->sin_addr));
+                    pNew->IPAddress.u = pIPAddr->sin_addr.s_addr;
+                    pIPNetMask = (struct sockaddr_in *)pAddr->ifa_netmask;
+                    Assert(pIPNetMask->sin_family == AF_INET);
+                    Assert(sizeof(pNew->IPNetMask) == sizeof(pIPNetMask->sin_addr));
+                    pNew->IPNetMask.u = pIPNetMask->sin_addr.s_addr;
+                    break;
+                case AF_INET6:
+                    if (pNew->IPv6Address.s.Lo || pNew->IPv6Address.s.Hi)
+                        break;
+                    pIPv6Addr = (struct sockaddr_in6 *)pAddr->ifa_addr;
+                    Assert(sizeof(pNew->IPv6Address) == sizeof(pIPv6Addr->sin6_addr));
+                    memcpy(pNew->IPv6Address.au8,
+                           pIPv6Addr->sin6_addr.__u6_addr.__u6_addr8,
+                           sizeof(pNew->IPv6Address));
+                    pIPv6NetMask = (struct sockaddr_in6 *)pAddr->ifa_netmask;
+                    Assert(pIPv6NetMask->sin6_family == AF_INET6);
+                    Assert(sizeof(pNew->IPv6NetMask) == sizeof(pIPv6NetMask->sin6_addr));
+                    memcpy(pNew->IPv6NetMask.au8,
+                           pIPv6NetMask->sin6_addr.__u6_addr.__u6_addr8,
+                           sizeof(pNew->IPv6NetMask));
+                    break;
+            }
+        }
+
+        if (pIfs)
+            pPrev->pNext = pNew;
+        else
+            pIfs = pNew;
+        pPrev = pNew;
+
+        /* next, free current */
+        void *pvFree = pEtherNICs;
+        pEtherNICs = pEtherNICs->pNext;
+        RTMemFree(pvFree);
+    }
+
+    freeifaddrs(IfAddrs);
+    close(sock);
+    return pIfs;
+}
Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 15371)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 15372)
@@ -5902,10 +5902,15 @@
     </desc>
 
-    <const name="Up" value="0">
+    <const name="Unknown" value="0">
+      <desc>
+        The state of interface cannot be determined.
+      </desc>
+    </const>
+    <const name="Up" value="1">
       <desc>
         The interface is fully operational.
       </desc>
     </const>
-    <const name="Down" value="1">
+    <const name="Down" value="2">
       <desc>
         The interface is not functioning.
@@ -5937,4 +5942,8 @@
     <attribute name="IPV6Address" type="wstring" readonly="yes">
       <desc>Returns the IP V6 address of the interface.</desc>
+    </attribute>
+
+    <attribute name="IPV6NetworkMask" type="wstring" readonly="yes">
+      <desc>Returns the IP V6 network mask of the interface.</desc>
     </attribute>
 
Index: /trunk/src/VBox/Main/include/HostNetworkInterfaceImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/HostNetworkInterfaceImpl.h	(revision 15371)
+++ /trunk/src/VBox/Main/include/HostNetworkInterfaceImpl.h	(revision 15372)
@@ -28,5 +28,5 @@
 #include "Collection.h"
 #ifdef VBOX_WITH_HOSTNETIF_API
-#include "iprt/netif.h"
+#include "netif.h"
 #endif
 
@@ -60,5 +60,5 @@
     HRESULT init (Bstr interfaceName, Guid guid);
 #ifdef VBOX_WITH_HOSTNETIF_API
-    HRESULT init (PRTNETIFINFO pIfs);
+    HRESULT init (PNETIFINFO pIfs);
 #endif
 
@@ -69,4 +69,5 @@
     STDMETHOD(COMGETTER(NetworkMask)) (ULONG *aNetworkMask);
     STDMETHOD(COMGETTER(IPV6Address)) (BSTR *aIPV6Address);
+    STDMETHOD(COMGETTER(IPV6NetworkMask)) (BSTR *aIPV6Mask);
     STDMETHOD(COMGETTER(HardwareAddress)) (BSTR *aHardwareAddress);
     STDMETHOD(COMGETTER(Type)) (HostNetworkInterfaceType_T *aType);
@@ -88,4 +89,5 @@
         ULONG networkMask;
         Bstr IPV6Address;
+        Bstr IPV6NetworkMask;
         Bstr hardwareAddress;
         HostNetworkInterfaceType_T type;
Index: /trunk/src/VBox/Main/include/netif.h
===================================================================
--- /trunk/src/VBox/Main/include/netif.h	(revision 15372)
+++ /trunk/src/VBox/Main/include/netif.h	(revision 15372)
@@ -0,0 +1,85 @@
+/** @file
+ * Main - Network Interfaces.
+ */
+
+/*
+ * Copyright (C) 2008 Sun Microsystems, Inc.
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+ * Clara, CA 95054 USA or visit http://www.sun.com if you need
+ * additional information or have any questions.
+ */
+
+#ifndef ___netif_h
+#define ___netif_h
+
+#include <iprt/cdefs.h>
+#include <iprt/types.h>
+#include <iprt/net.h>
+
+
+/**
+ * Encapsulation type.
+ */
+typedef enum NETIFTYPE
+{
+    NETIF_T_UNKNOWN,
+    NETIF_T_ETHERNET,
+    NETIF_T_PPP,
+    NETIF_T_SLIP
+} NETIFTYPE;
+
+/**
+ * Current state of the interface.
+ */
+typedef enum NETIFSTATUS
+{
+    NETIF_S_UNKNOWN,
+    NETIF_S_UP,
+    NETIF_S_DOWN
+} NETIFSTATUS;
+
+/**
+ * Host Network Interface Information.
+ */
+typedef struct NETIFINFO
+{
+    NETIFINFO     *pNext;
+    RTNETADDRIPV4  IPAddress;
+    RTNETADDRIPV4  IPNetMask;
+    RTNETADDRIPV6  IPv6Address;
+    RTNETADDRIPV6  IPv6NetMask;
+    RTMAC          MACAddress;
+    NETIFTYPE      enmType;
+    NETIFSTATUS    enmStatus;
+    RTUUID         Uuid;
+    char           szShortName[50];
+    char           szName[1];
+} NETIFINFO;
+
+/** Pointer to a network interface info. */
+typedef NETIFINFO *PNETIFINFO;
+/** Pointer to a const network interface info. */
+typedef NETIFINFO const *PCNETIFINFO;
+
+PNETIFINFO NetIfList();
+
+#endif
+
Index: /trunk/src/VBox/Main/linux/NetIfList-linux.cpp
===================================================================
--- /trunk/src/VBox/Main/linux/NetIfList-linux.cpp	(revision 15372)
+++ /trunk/src/VBox/Main/linux/NetIfList-linux.cpp	(revision 15372)
@@ -0,0 +1,46 @@
+/* $Id$ */
+/** @file
+ * Main - NetIfList, Linux implementation.
+ */
+
+/*
+ * Copyright (C) 2008 Sun Microsystems, Inc.
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+ * Clara, CA 95054 USA or visit http://www.sun.com if you need
+ * additional information or have any questions.
+ */
+
+
+
+/*******************************************************************************
+*   Header Files                                                               *
+*******************************************************************************/
+#define LOG_GROUP LOG_GROUP_MAIN
+
+#include <iprt/err.h>
+#include "netif.h"
+
+
+PNETIFINFO NetIfList()
+{
+    return NULL;
+}
+
Index: /trunk/src/VBox/Main/os2/NetIfList-os2.cpp
===================================================================
--- /trunk/src/VBox/Main/os2/NetIfList-os2.cpp	(revision 15372)
+++ /trunk/src/VBox/Main/os2/NetIfList-os2.cpp	(revision 15372)
@@ -0,0 +1,46 @@
+/* $Id$ */
+/** @file
+ * Main - NetIfList, OS/2 implementation.
+ */
+
+/*
+ * Copyright (C) 2008 Sun Microsystems, Inc.
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+ * Clara, CA 95054 USA or visit http://www.sun.com if you need
+ * additional information or have any questions.
+ */
+
+
+
+/*******************************************************************************
+*   Header Files                                                               *
+*******************************************************************************/
+#define LOG_GROUP LOG_GROUP_MAIN
+
+#include <iprt/err.h>
+#include "netif.h"
+
+
+PNETIFINFO NetIfList()
+{
+    return NULL;
+}
+
Index: /trunk/src/VBox/Main/solaris/NetIfList-solaris.cpp
===================================================================
--- /trunk/src/VBox/Main/solaris/NetIfList-solaris.cpp	(revision 15372)
+++ /trunk/src/VBox/Main/solaris/NetIfList-solaris.cpp	(revision 15372)
@@ -0,0 +1,47 @@
+/* $Id$ */
+/** @file
+ * Main - NetIfList, Solaris implementation.
+ */
+
+/*
+ * Copyright (C) 2008 Sun Microsystems, Inc.
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+ * Clara, CA 95054 USA or visit http://www.sun.com if you need
+ * additional information or have any questions.
+ */
+
+
+
+/*******************************************************************************
+*   Header Files                                                               *
+*******************************************************************************/
+#define LOG_GROUP LOG_GROUP_MAIN
+
+#include <iprt/err.h>
+
+#include "netif.h"
+
+
+PNETIFINFO NetIfList()
+{
+    return NULL;
+}
+
Index: /trunk/src/VBox/Main/win/NetIfList-win.cpp
===================================================================
--- /trunk/src/VBox/Main/win/NetIfList-win.cpp	(revision 15372)
+++ /trunk/src/VBox/Main/win/NetIfList-win.cpp	(revision 15372)
@@ -0,0 +1,46 @@
+/* $Id$ */
+/** @file
+ * Main - NetIfList, Windows implementation.
+ */
+
+/*
+ * Copyright (C) 2008 Sun Microsystems, Inc.
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ *
+ * The contents of this file may alternatively be used under the terms
+ * of the Common Development and Distribution License Version 1.0
+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
+ * VirtualBox OSE distribution, in which case the provisions of the
+ * CDDL are applicable instead of those of the GPL.
+ *
+ * You may elect to license modified versions of this file under the
+ * terms and conditions of either the GPL or the CDDL or both.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+ * Clara, CA 95054 USA or visit http://www.sun.com if you need
+ * additional information or have any questions.
+ */
+
+
+
+/*******************************************************************************
+*   Header Files                                                               *
+*******************************************************************************/
+#define LOG_GROUP LOG_GROUP_MAIN
+
+#include <iprt/err.h>
+#include "netif.h"
+
+
+PNETIFINFO NetIfList()
+{
+    return NULL;
+}
+
Index: /trunk/src/VBox/Runtime/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Runtime/Makefile.kmk	(revision 15371)
+++ /trunk/src/VBox/Runtime/Makefile.kmk	(revision 15372)
@@ -287,10 +287,4 @@
 	r3/tcp.cpp
 
-ifdef VBOX_WITH_HOSTNETIF_API
- RuntimeR3_SOURCES     += \
-	generic/RTNetIfList-generic.cpp
- RuntimeR3_DEFS        += VBOX_WITH_HOSTNETIF_API
-endif
-
 #if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
 # RuntimeR3_SOURCES += common/time/timesupA.asm
