xtd 0.2.0
ip_packet_information.h
Go to the documentation of this file.
1 #pragma once
5 #include "../ip_address.h"
6 
8 #undef unix
9 
12 namespace xtd {
14  namespace net {
16  namespace sockets {
18  class socket;
20 
34  class core_export_ ip_packet_information : public xtd::object {
35  public:
37 
40  ip_packet_information() = default;
42 
46  ip_packet_information& operator =(const ip_packet_information&) = default;
48 
50 
54  const xtd::net::ip_address& address() const noexcept;
55 
58  int32 interface() const noexcept;
60 
61  private:
62  friend class socket;
63  xtd::net::ip_address address_;
64  int32 address_interface_ = 0;
65  };
66  }
67  }
68 }
Implements the Berkeley sockets interface.
Definition: socket.h:71
Provides an Internet Protocol (IP) address.
Definition: ip_address.h:35
Represent an interface class.
Definition: interface.h:29
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Gets the network interface information that is associated with a call to xtd::net::sockets::socket::r...
Definition: ip_packet_information.h:34
Socket options apply to all sockets.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129