From d5a09773bf7146c6a9727eaad3a0709c0d9aac50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 8 Dec 2010 23:42:47 +0000 Subject: [PATCH] * 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. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39778 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/net/NetworkAddress.h | 8 ++++---- src/kits/network/libnetapi/NetworkAddress.cpp | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/headers/os/net/NetworkAddress.h b/headers/os/net/NetworkAddress.h index 177fd85c8d..abcdf8d549 100644 --- a/headers/os/net/NetworkAddress.h +++ b/headers/os/net/NetworkAddress.h @@ -77,8 +77,8 @@ public: 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 @@ public: 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; diff --git a/src/kits/network/libnetapi/NetworkAddress.cpp b/src/kits/network/libnetapi/NetworkAddress.cpp index 685ba15414..9b474a6178 100644 --- a/src/kits/network/libnetapi/NetworkAddress.cpp +++ b/src/kits/network/libnetapi/NetworkAddress.cpp @@ -493,7 +493,7 @@ BNetworkAddress::SetLinkLevelIndex(uint32 index) void -BNetworkAddress::SetLinkLevelType(uint32 type) +BNetworkAddress::SetLinkLevelType(uint8 type) { sockaddr_dl& link = (sockaddr_dl&)fAddress; link.sdl_type = type; @@ -501,10 +501,10 @@ BNetworkAddress::SetLinkLevelType(uint32 type) 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 @@ BNetworkAddress::LinkLevelInterface() const } -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); }