Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
inet_cidr.h
Go to the documentation of this file.
1
16#ifndef __IPV4_H__
17#define __IPV4_H__
18
19#include <wireshark.h>
20#include <wsutil/inet_addr.h>
21
22typedef struct {
23 uint32_t addr; /* stored in host order */
24 uint32_t nmask; /* stored in host order */
26
27typedef struct {
28 ws_in6_addr addr;
29 uint32_t prefix;
31
32/*
33 ********** IPv4 *********
34 */
35
45WS_DLL_PUBLIC
46uint32_t ws_ipv4_get_subnet_mask(const uint32_t mask_length);
47
57WS_DLL_PUBLIC
58void ws_ipv4_addr_and_mask_init(ipv4_addr_and_mask *dst, ws_in4_addr src_addr, unsigned src_bits);
59
69WS_DLL_PUBLIC
71
72/*
73 ********** IPv6 *********
74 */
75
87WS_DLL_PUBLIC
88bool
90
91#endif
uint32_t ws_in4_addr
Represents a 32-bit IPv4 address in network byte order.
Definition inet_addr.h:22
WS_DLL_PUBLIC void ws_ipv4_addr_and_mask_init(ipv4_addr_and_mask *dst, ws_in4_addr src_addr, unsigned src_bits)
Initializes an IPv4 address-and-mask structure.
Definition inet_cidr.c:49
WS_DLL_PUBLIC bool ws_ipv4_addr_and_mask_contains(const ipv4_addr_and_mask *ipv4, const ws_in4_addr *addr)
Checks whether an IPv4 address is contained within a subnet.
Definition inet_cidr.c:56
WS_DLL_PUBLIC bool ws_ipv6_addr_and_prefix_contains(const ipv6_addr_and_prefix *ipv6, const ws_in6_addr *addr)
Checks whether an IPv6 address is contained within a subnet.
Definition inet_cidr.c:103
WS_DLL_PUBLIC uint32_t ws_ipv4_get_subnet_mask(const uint32_t mask_length)
Returns the IPv4 subnet mask of the specified length.
Definition inet_cidr.c:14
Represents a 128-bit IPv6 address.
Definition inet_addr.h:27
Definition inet_cidr.h:22
Definition inet_cidr.h:27