[haiku-commits] r39591 - in haiku/trunk: headers/os/net src/kits/network/libnetapi

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 23 Nov 2010 22:01:20 +0100 (CET)

Author: axeld
Date: 2010-11-23 22:01:19 +0100 (Tue, 23 Nov 2010)
New Revision: 39591
Changeset: http://dev.haiku-os.org/changeset/39591

Modified:
   haiku/trunk/headers/os/net/NetworkRoster.h
   haiku/trunk/src/kits/network/libnetapi/NetworkRoster.cpp
Log:
* Added alternatives to AddInterface()/RemoveInterface() that take the name
  of the interface instead.


Modified: haiku/trunk/headers/os/net/NetworkRoster.h
===================================================================
--- haiku/trunk/headers/os/net/NetworkRoster.h  2010-11-23 21:00:05 UTC (rev 
39590)
+++ haiku/trunk/headers/os/net/NetworkRoster.h  2010-11-23 21:01:19 UTC (rev 
39591)
@@ -22,8 +22,10 @@
                        status_t                        
GetNextInterface(uint32* cookie,
                                                                        
BNetworkInterface& interface) const;
 
+                       status_t                        AddInterface(const 
char* name);
                        status_t                        AddInterface(
                                                                        const 
BNetworkInterface& interface);
+                       status_t                        RemoveInterface(const 
char* name);
                        status_t                        RemoveInterface(
                                                                        const 
BNetworkInterface& interface);
 

Modified: haiku/trunk/src/kits/network/libnetapi/NetworkRoster.cpp
===================================================================
--- haiku/trunk/src/kits/network/libnetapi/NetworkRoster.cpp    2010-11-23 
21:00:05 UTC (rev 39590)
+++ haiku/trunk/src/kits/network/libnetapi/NetworkRoster.cpp    2010-11-23 
21:01:19 UTC (rev 39591)
@@ -106,7 +106,7 @@
 
 
 status_t
-BNetworkRoster::AddInterface(const BNetworkInterface& interface)
+BNetworkRoster::AddInterface(const char* name)
 {
        int socket = ::socket(AF_INET, SOCK_DGRAM, 0);
        if (socket < 0)
@@ -114,7 +114,7 @@
 
        ifaliasreq request;
        memset(&request, 0, sizeof(ifaliasreq));
-       strlcpy(request.ifra_name, interface.Name(), IF_NAMESIZE);
+       strlcpy(request.ifra_name, name, IF_NAMESIZE);
 
        if (ioctl(socket, SIOCAIFADDR, &request, sizeof(request)) != 0)
                return errno;
@@ -124,14 +124,21 @@
 
 
 status_t
-BNetworkRoster::RemoveInterface(const BNetworkInterface& interface)
+BNetworkRoster::AddInterface(const BNetworkInterface& interface)
 {
+       return AddInterface(interface.Name());
+}
+
+
+status_t
+BNetworkRoster::RemoveInterface(const char* name)
+{
        int socket = ::socket(AF_INET, SOCK_DGRAM, 0);
        if (socket < 0)
                return errno;
 
        ifreq request;
-       strlcpy(request.ifr_name, interface.Name(), IF_NAMESIZE);
+       strlcpy(request.ifr_name, name, IF_NAMESIZE);
 
        request.ifr_addr.sa_family = AF_UNSPEC;
 
@@ -143,6 +150,13 @@
 
 
 status_t
+BNetworkRoster::RemoveInterface(const BNetworkInterface& interface)
+{
+       return RemoveInterface(interface.Name());
+}
+
+
+status_t
 BNetworkRoster::StartWatching(const BMessenger& target, uint32 eventMask)
 {
        return start_watching_network(eventMask, target);


Other related posts:

  • » [haiku-commits] r39591 - in haiku/trunk: headers/os/net src/kits/network/libnetapi - axeld