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); }