xtd 0.2.0
ip_packet_information.h
Go to the documentation of this file.
1 #pragma once
5 
6 #include "../ip_address.h"
7 
9 #undef unix
10 
13 namespace xtd {
15  namespace net {
17  namespace sockets {
19  class socket;
21 
33  class core_export_ ip_packet_information : public xtd::object {
34  public:
36 
39  ip_packet_information() = default;
41 
45  ip_packet_information& operator =(const ip_packet_information&) = default;
47 
49 
53  const xtd::net::ip_address& address() const noexcept;
54 
57  int32 interface() const noexcept;
59 
60  private:
61  friend class socket;
62  xtd::net::ip_address address_;
63  int32 address_interface_ = 0;
64  };
65  }
66  }
67 }
Implements the Berkeley sockets interface.
Definition: socket.h:69
Provides an Internet Protocol (IP) address.
Definition: ip_address.h:34
Represent an interface class.
Definition: interface.h:30
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:33
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:31
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:74