improvements and fixes in arp protocol and rtl8139 driver code
[quarnos.git] / resources / net / ipv4_addr.h
blob09d14d928e6ca536d6f3dd9b9934593aa4834eb9
1 #ifndef _IPV4_ADDR_H_
2 #define _IPV4_ADDR_H_
4 #include "address.h"
5 #include "arch/low/general.h"
7 namespace net {
8 class ipv4_addr : public address {
9 private:
10 u32 addr;
12 public:
13 ipv4_addr();
14 ipv4_addr(const ipv4_addr &x);
15 ipv4_addr &operator=(const ipv4_addr &x);
17 //static ipv4_addr from_string(const string&);
19 static ipv4_addr from_be(u32);
20 static ipv4_addr from_le(u32);
22 u32 to_be() const;
23 u32 to_le() const;
25 ipv4_addr network(const ipv4_addr &mask) const;
27 static int in_bytes() {
28 return 4;
31 virtual bool operator==(const ipv4_addr &x) const;
32 virtual bool operator!=(const ipv4_addr &x) const {
33 return !operator==(x);
38 #endif