1/* 2 * Copyright (c) 2013 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 79 unchanged lines hidden (view full) --- 88 const EthAddr &operator=(const std::string &addr); 89 90 int size() const { return sizeof(eth_addr); } 91 92 const uint8_t *bytes() const { return &data[0]; } 93 uint8_t *bytes() { return &data[0]; } 94 95 const uint8_t *addr() const { return &data[0]; } |
96 bool unicast() const { return !(data[0] & 0x01); } 97 bool multicast() const { return !unicast() && !broadcast(); } 98 bool broadcast() const 99 { 100 bool isBroadcast = true; 101 for (int i = 0; i < ETH_ADDR_LEN; ++i) { 102 isBroadcast = isBroadcast && data[i] == 0xff; 103 } 104 105 return isBroadcast; 106 } 107 |
108 std::string string() const; 109 110 operator uint64_t() const 111 { 112 uint64_t reg = 0; 113 reg |= ((uint64_t)data[0]) << 40; 114 reg |= ((uint64_t)data[1]) << 32; 115 reg |= ((uint64_t)data[2]) << 24; --- 572 unchanged lines hidden --- |