Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Inet :: InterfaceAddressIterator

#include <src/inet/InetInterface.h>

Trình lặp lại cho danh sách địa chỉ IP giao diện mạng hệ thống.

Tóm lược

Sử dụng các đối tượng của lớp này để lặp lại danh sách các địa chỉ IP của giao diện giao diện mạng hệ thống.

Các phương thức trên một cá thể của lớp này không an toàn theo luồng; tuy nhiên các trường hợp riêng biệt có thể được sử dụng đồng thời bởi nhiều luồng.

Trên các hệ thống LwIP đa luồng, các cá thể là luồng an toàn so với các luồng khác truy cập trạng thái LwIP chung với điều kiện: 1) các luồng khác giữ khóa lõi LwIP trong khi thay đổi danh sách các netif; và 2) bản thân đối tượng netif không bao giờ bị phá hủy.

Trên các hệ thống dựa trên ổ cắm, sự lặp lại luôn ổn định khi đối mặt với những thay đổi đối với các giao diện và / hoặc địa chỉ của hệ thống cơ bản.

Trên các hệ thống LwIP, quá trình lặp là ổn định ngoại trừ trường hợp giao diện liên kết với địa chỉ hiện tại bị xóa, trong trường hợp này, quá trình lặp có thể kết thúc sớm.

Người xây dựng và Người phá hủy

InterfaceAddressIterator (void)
Xây dựng một đối tượng InterfaceAddressIterator .
~InterfaceAddressIterator (void)
Hủy đối tượng InterfaceAddressIterator .

Chức năng công cộng

GetAddress (void)
Lấy địa chỉ giao diện hiện tại.
GetAddressWithPrefix ( IPPrefix & addrWithPrefix)
void
Trả về một IPPrefix chứa địa chỉ và độ dài tiền tố cho địa chỉ hiện tại.
GetIPv6PrefixLength (void)
uint8_t
Bí danh không dùng nữa cho GetPrefixLength(void)
GetInterface (void)
InterfaceId
Bí danh không được chấp nhận cho GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
Trả về id giao diện mạng được liên kết với địa chỉ giao diện hiện tại.
GetInterfaceName (char *nameBuf, size_t nameBufSize)
Lấy tên của giao diện mạng được liên kết với địa chỉ giao diện hiện tại.
GetPrefixLength (void)
uint8_t
Nhận tiền tố mạng được liên kết với địa chỉ giao diện hiện tại.
HasBroadcastAddress (void)
bool
Trả về giao diện mạng được liên kết với địa chỉ giao diện hiện tại có địa chỉ phát IPv4 hay không.
HasCurrent (void)
bool
IsUp (void)
bool
Trả về giao diện mạng được liên kết với địa chỉ giao diện hiện tại có được bật hay không.
Next (void)
bool
Chuyển trình lặp tới địa chỉ giao diện tiếp theo.
SupportsMulticast (void)
bool
Trả về giao diện mạng được liên kết với địa chỉ giao diện hiện tại có hỗ trợ phát đa hướng hay không.

Chức năng công cộng

GetAddress

IPAddress GetAddress(
  void
)

Lấy địa chỉ giao diện hiện tại.

Chi tiết
Lợi nhuận
địa chỉ giao diện hiện tại hoặc IPAddress::Any nếu trình lặp được đặt ở vị trí bên ngoài cuối danh sách địa chỉ.

GetAddressWithPrefix

void GetAddressWithPrefix(
  IPPrefix & addrWithPrefix
)

Trả về một IPPrefix chứa địa chỉ và độ dài tiền tố cho địa chỉ hiện tại.

GetIPv6PrefixLength

uint8_t GetIPv6PrefixLength(
  void
)

Bí danh không dùng nữa cho GetPrefixLength(void)

GetInterface

InterfaceId GetInterface(
  void
)

Bí danh không được dùng nữa cho GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Trả về id giao diện mạng được liên kết với địa chỉ giao diện hiện tại.

Chi tiết
Lợi nhuận
id giao diện hoặc INET_NULL_INTERFACEID nếu trình vòng lặp được đặt ở phía ngoài cuối danh sách địa chỉ.

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Lấy tên của giao diện mạng được liên kết với địa chỉ giao diện hiện tại.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

Chi tiết
Thông số
[in] nameBuf
vùng bộ nhớ để viết tên giao diện
[in] nameBufSize
kích thước của khu vực được biểu thị bằng nameBuf
Giá trị trả lại
INET_NO_ERROR
kết quả thành công, tên giao diện được viết
INET_ERROR_NO_MEMORY
tên quá lớn để được viết trong bộ đệm
INET_ERROR_INCORRECT_STATE
trình lặp hiện không được định vị trên địa chỉ giao diện
other
lỗi hệ thống hoặc nền tảng khác

GetPrefixLength

uint8_t GetPrefixLength(
  void
)

Nhận tiền tố mạng được liên kết với địa chỉ giao diện hiện tại.

On LwIP, this method simply returns the hard-coded constant 64.

Note Well: the standard subnet prefix on all links other than PPP
links is 64 bits. On PPP links and some non-broadcast multipoint access
links, the convention is either 127 bits or 128 bits, but it might be
something else. On most platforms, the system's interface address
structure can represent arbitrary prefix lengths between 0 and 128.

Chi tiết
Lợi nhuận
tiền tố mạng (tính bằng bit) hoặc 0 nếu trình vòng lặp được định vị ngoài phần cuối của danh sách địa chỉ.

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

Trả về liệu giao diện mạng được liên kết với địa chỉ giao diện hiện tại có địa chỉ phát IPv4 hay không.

Chi tiết
Lợi nhuận
true nếu giao diện có địa chỉ quảng bá, false nếu không, hoặc nếu trình lặp không được định vị trên địa chỉ giao diện.

HasCurrent

bool HasCurrent(
  void
)

InterfaceAddressIterator

 InterfaceAddressIterator(
  void
)

Xây dựng một đối tượng InterfaceAddressIterator .

Khởi động trình lặp tại địa chỉ mạng đầu tiên. Trên một số nền tảng, hàm tạo này có thể phân bổ tài nguyên được tái chế bởi trình hủy.

Lên

bool IsUp(
  void
)

Trả về giao diện mạng được liên kết với địa chỉ giao diện hiện tại có được bật hay không.

Chi tiết
Lợi nhuận
true nếu giao diện mạng hiện tại được thiết lập, false nếu không, hoặc nếu trình lặp không được định vị trên địa chỉ giao diện.

Kế tiếp

bool Next(
  void
)

Chuyển trình lặp tới địa chỉ giao diện tiếp theo.

Advances the iterator to the next interface address or to a position
beyond the end of the address list.

On LwIP, this method is thread-safe provided that: 1) other threads hold
the LwIP core lock while mutating the netif list; and 2) netif objects
themselves are never destroyed.  Additionally, iteration on LwIP systems
will terminate early if the current interface is removed from the list.

Chi tiết
Lợi nhuận
false nếu nâng cao hơn cuối, ngược lại true .

Hỗ trợ

bool SupportsMulticast(
  void
)

Trả về giao diện mạng được liên kết với địa chỉ giao diện hiện tại có hỗ trợ phát đa hướng hay không.

Chi tiết
Lợi nhuận
true nếu hỗ trợ multicast, false nếu không, hoặc nếu trình lặp không được định vị trên địa chỉ giao diện.

~ InterfaceAddressIterator

 ~InterfaceAddressIterator(
  void
)

Hủy đối tượng InterfaceAddressIterator .

Tái chế bất kỳ tài nguyên nào được phân bổ bởi phương thức khởi tạo.