| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
inet_addr.h File Reference
`#include <wireshark.h>`

Go to the source code of this file.

## Classes
struct | e_in6_addr
| Represents a 128-bit IPv6 address. More...

## Macros
#define | in4_addr_is_local_network_control_block(addr) ((addr & 0xffffff00) == 0xe0000000)
#define | in4_addr_is_multicast(addr) ((addr & 0xf0000000) == 0xe0000000)
#define | in4_addr_is_private(addr)
#define | in4_addr_is_link_local(addr) ((addr & 0xffff0000) == 0xa9fe0000)
#define | WS_INET_ADDRSTRLEN 16
#define | WS_INET6_ADDRSTRLEN 46
#define | WS_INET_CIDRADDRSTRLEN 19

## Typedefs
typedef uint32_t | ws_in4_addr
| Represents a 32-bit IPv4 address in network byte order.
typedef struct e_in6_addr | ws_in6_addr
| Represents a 128-bit IPv6 address.

## Functions
WS_DLL_PUBLIC WS_RETNONNULL const char * | ws_inet_ntop4 (const void *src, char *dst, size_t dst_size)
WS_DLL_PUBLIC WS_RETNONNULL const char * | ws_inet_ntop6 (const void *src, char *dst, size_t dst_size)
WS_DLL_PUBLIC bool | ws_inet_pton4 (const char *src, ws_in4_addr *dst)
WS_DLL_PUBLIC bool | ws_inet_pton6 (const char *src, ws_in6_addr *dst)

## Detailed Description

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

## Macro Definition Documentation

## ◆ in4_addr_is_link_local

#define in4_addr_is_link_local | ( |  | addr | ) | ((addr & 0xffff0000) == 0xa9fe0000)

Link-local address Returns true if the address is in the 169.254/16 network block

## ◆ in4_addr_is_local_network_control_block

#define in4_addr_is_local_network_control_block | ( |  | addr | ) | ((addr & 0xffffff00) == 0xe0000000)

Unicast Local Returns true if the address is in the 224.0.0.0/24 local network control block

## ◆ in4_addr_is_multicast

#define in4_addr_is_multicast | ( |  | addr | ) | ((addr & 0xf0000000) == 0xe0000000)

Multicast Returns true if the address is in the 224.0.0.0/4 network block

## ◆ in4_addr_is_private

#define in4_addr_is_private | ( |  | addr | ) |

Value:
(((addr & 0xff000000) == 0x0a000000) || \
((addr & 0xfff00000) == 0xac100000) || \
((addr & 0xffff0000) == 0xc0a80000))

Private address Returns true if the address is in one of the three blocks reserved for private IPv4 addresses by section 3 of RFC 1918, namely: 10/8, 172.16/12, and 192.168/16

## Function Documentation

## ◆ ws_inet_pton4()

WS_DLL_PUBLIC bool ws_inet_pton4 | ( | const char * | src,
|  | ws_in4_addr * | dst
| ) |  |

Parses a string-form IPv4 address into binary format.

Converts a human-readable IPv4 address (e.g., "127.0.0.1") from `src` into its 32-bit network byte order representation and stores the result in `dst`.

Parameters

  src | Pointer to a string containing the IPv4 address.
  dst | Pointer to a ws_in4_addr where the parsed address will be stored.

Returns
  true on successful parsing, false if the input is not a valid IPv4 address.

## ◆ ws_inet_pton6()

WS_DLL_PUBLIC bool ws_inet_pton6 | ( | const char * | src,
|  | ws_in6_addr * | dst
| ) |  |

Parses a string-form IPv6 address into binary format.

Converts a human-readable IPv6 address (e.g., "2001:db8::1") from `src` into its 128-bit binary representation and stores the result in `dst`.

Parameters

  src | Pointer to a string containing the IPv6 address.
  dst | Pointer to a ws_in6_addr structure where the parsed address will be stored.

Returns
  true on success, false if the input is not a valid IPv6 address.