utils.h revision 441a581ee2c2af42bb00b13506a4524cabc71905
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync/* $Id$ */
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync/** @file
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * NetLib/cpp/utils.h
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync */
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync/*
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * Copyright (C) 2013 Oracle Corporation
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync *
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * available from http://www.virtualbox.org. This file is free software;
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * you can redistribute it and/or modify it under the terms of the GNU
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * General Public License (GPL) as published by the Free Software
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync */
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync#ifndef _NETLIB_CPP_UTILS_H_
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync# define _NETLIB_CPP_UTILS_H_
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync/* less operator for IPv4 addresess */
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsyncstatic bool operator <(const RTNETADDRIPV4& a, const RTNETADDRIPV4& b)
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync{
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync return (RT_N2H_U32(a.u) < RT_N2H_U32(b.u));
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync}
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync/* Compares MAC addresses */
441a581ee2c2af42bb00b13506a4524cabc71905vboxsyncstatic bool operator== (const RTMAC& lhs, const RTMAC& rhs)
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync{
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync return ( lhs.au16[0] == rhs.au16[0]
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync && lhs.au16[1] == rhs.au16[1]
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync && lhs.au16[2] == rhs.au16[2]);
441a581ee2c2af42bb00b13506a4524cabc71905vboxsync}
cb763e65c5909856d500f48e4e58ec3015bbc683vboxsync#endif