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

  • From: axeld@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 9 Dec 2010 00:42:47 +0100 (CET)

Author: axeld
Date: 2010-12-09 00:42:47 +0100 (Thu, 09 Dec 2010)
New Revision: 39778
Changeset: http://dev.haiku-os.org/changeset/39778

Modified:
   haiku/trunk/headers/os/net/NetworkAddress.h
   haiku/trunk/src/kits/network/libnetapi/NetworkAddress.cpp
Log:
* Fixed size of sdl_type/sdl_e_type, the former is only a uint8, and the latter
  a uint16.
* sdl_e_type is stored in network order now.


Modified: haiku/trunk/headers/os/net/NetworkAddress.h
===================================================================
--- haiku/trunk/headers/os/net/NetworkAddress.h 2010-12-08 23:42:34 UTC (rev 
39777)
+++ haiku/trunk/headers/os/net/NetworkAddress.h 2010-12-08 23:42:47 UTC (rev 
39778)
@@ -77,8 +77,8 @@
                        void                            SetToLinkLevel(const 
char* name);
                        void                            SetToLinkLevel(uint32 
index);
                        void                            
SetLinkLevelIndex(uint32 index);
-                       void                            SetLinkLevelType(uint32 
type);
-                       void                            
SetLinkLevelFrameType(uint32 frameType);
+                       void                            SetLinkLevelType(uint8 
type);
+                       void                            
SetLinkLevelFrameType(uint16 frameType);
 
                        int                                     Family() const;
                        uint16                          Port() const;
@@ -103,8 +103,8 @@
 
                        uint32                          LinkLevelIndex() const;
                        BString                         LinkLevelInterface() 
const;
-                       uint32                          LinkLevelType() const;
-                       uint32                          LinkLevelFrameType() 
const;
+                       uint8                           LinkLevelType() const;
+                       uint16                          LinkLevelFrameType() 
const;
                        uint8*                          LinkLevelAddress() 
const;
                        size_t                          
LinkLevelAddressLength() const;
 

Modified: haiku/trunk/src/kits/network/libnetapi/NetworkAddress.cpp
===================================================================
--- haiku/trunk/src/kits/network/libnetapi/NetworkAddress.cpp   2010-12-08 
23:42:34 UTC (rev 39777)
+++ haiku/trunk/src/kits/network/libnetapi/NetworkAddress.cpp   2010-12-08 
23:42:47 UTC (rev 39778)
@@ -493,7 +493,7 @@
 
 
 void
-BNetworkAddress::SetLinkLevelType(uint32 type)
+BNetworkAddress::SetLinkLevelType(uint8 type)
 {
        sockaddr_dl& link = (sockaddr_dl&)fAddress;
        link.sdl_type = type;
@@ -501,10 +501,10 @@
 
 
 void
-BNetworkAddress::SetLinkLevelFrameType(uint32 frameType)
+BNetworkAddress::SetLinkLevelFrameType(uint16 frameType)
 {
        sockaddr_dl& link = (sockaddr_dl&)fAddress;
-       link.sdl_e_type = frameType;
+       link.sdl_e_type = htons(frameType);
 }
 
 
@@ -791,17 +791,17 @@
 }
 
 
-uint32
+uint8
 BNetworkAddress::LinkLevelType() const
 {
        return ((sockaddr_dl&)fAddress).sdl_type;
 }
 
 
-uint32
+uint16
 BNetworkAddress::LinkLevelFrameType() const
 {
-       return ((sockaddr_dl&)fAddress).sdl_e_type;
+       return ntohs(((sockaddr_dl&)fAddress).sdl_e_type);
 }
 
 


Other related posts:

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