diff -r 000000000000 -r af10295192d8 networkprotocols/tcpipv4v6prt/inc/addr46.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkprotocols/tcpipv4v6prt/inc/addr46.h Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,48 @@ +// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// addr46.h - an extention to TIp6Addr +// + + + +/** + @internalComponent +*/ +#ifndef __addr46_H__ +#define __addr46_H__ + +#include + +// +// TIp46Addr +// ********* +// Provides some additional methods for handling +// both real IPv6 addresses and mangled IPv4 addresses +// in somewhat uniform way. +// +class TIp46Addr : public TIp6Addr + { +public: + inline TIp46Addr() {} // inline to make declaring variable short in code + TIp46Addr(const TUint32 aAddr); + TIp46Addr(const TInetAddr &aAddr); + inline static const TIp46Addr &Cast(const TIp6Addr &aAddr) { return *((TIp46Addr *)&aAddr); } + inline static const TIp46Addr &Cast(const TIp6Addr *aAddr) { return *((TIp46Addr *)aAddr); } + + TBool IsMulticast() const; // Return TRUE if address is IPv4 or IPv6 multicast + TBool IsLinkLocal() const; // Return TRUE if address is IPv4 or IPv6 linklocal + TBool IsUnspecified() const;// Return TRUE if address is :: or ::ffff:0.0.0.0 + }; + +#endif