many fixes in icmp and rtl8139 driver code
[quarnos.git] / resources / net / ipv4_addr.cpp
blob3bcf46327b6b6f4c2976474f3c289d6867c8df96
1 #include "ipv4_addr.h"
3 using namespace net;
5 ipv4_addr::ipv4_addr() : addr(0) { }
7 ipv4_addr::ipv4_addr(const ipv4_addr &x) : addr(x.addr) { }
9 ipv4_addr &ipv4_addr::operator=(const ipv4_addr &x) {
10 addr = x.addr;
11 return *this;
14 ipv4_addr ipv4_addr::from_be(u32 x) {
15 ipv4_addr ar;
16 ar.addr = from_be32(x);
17 return ar;
20 ipv4_addr ipv4_addr::from_le(u32 x) {
21 ipv4_addr ar;
22 ar.addr = from_le32(x);
23 return ar;
26 u32 ipv4_addr::to_be() const {
27 return to_be32(addr);
30 u32 ipv4_addr::to_le() const {
31 return to_le32(addr);
34 ipv4_addr ipv4_addr::network(const ipv4_addr &mask) const {
35 ipv4_addr network;
36 network.addr = addr & mask.addr;
37 return network;
40 bool ipv4_addr::operator==(const ipv4_addr &x) const {
41 return addr == x.addr;