|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
🌍 IPv4/IPv6 address parsing, validation, and formatting utilities More...
Go to the source code of this file.
Functions | |
| int | is_valid_ipv4 (const char *ip) |
| int | is_valid_ipv6 (const char *ip) |
| int | parse_ipv6_address (const char *input, char *output, size_t output_size) |
| asciichat_error_t | format_ip_address (int family, const struct sockaddr *addr, char *output, size_t output_size) |
| asciichat_error_t | format_ip_with_port (const char *ip, uint16_t port, char *output, size_t output_size) |
| int | parse_ip_with_port (const char *input, char *ip_output, size_t ip_output_size, uint16_t *port_output) |
| int | parse_address_with_optional_port (const char *input, char *address_output, size_t address_output_size, uint16_t *port_output, uint16_t default_port) |
| int | get_ip_version (const char *ip) |
| int | is_valid_ip (const char *ip) |
| int | ip_equals (const char *ip1, const char *ip2) |
| int | ip_compare (const char *ip1, const char *ip2) |
| int | parse_cidr (const char *cidr, char *ip_out, size_t ip_out_size, int *prefix_out) |
| int | ip_in_cidr_parsed (const char *ip, const char *network, int prefix_len) |
| int | ip_in_cidr (const char *ip, const char *cidr) |
| asciichat_error_t | ipv4_to_ipv6_mapped (const char *ipv4, char *ipv6_out, size_t out_size) |
| int | is_ipv4_mapped_ipv6 (const char *ipv6) |
| asciichat_error_t | extract_ipv4_from_mapped_ipv6 (const char *ipv6, char *ipv4_out, size_t out_size) |
| asciichat_error_t | expand_ipv6 (const char *ipv6, char *expanded_out, size_t out_size) |
| asciichat_error_t | canonicalize_ipv6 (const char *ipv6, char *canonical_out, size_t out_size) |
| asciichat_error_t | compact_ipv6 (const char *ipv6, char *compact_out, size_t out_size) |
| int | is_anycast_ipv6 (const char *ipv6) |
| int | extract_ip_from_address (const char *addr_with_port, char *ip_out, size_t ip_out_size) |
| const char * | get_ip_type_string (const char *ip) |
| int | compare_ip_port_strings (const char *ip_port1, const char *ip_port2) |
| int | is_lan_ipv4 (const char *ip) |
| int | is_lan_ipv6 (const char *ip) |
| int | is_broadcast_ipv4 (const char *ip) |
| int | is_broadcast_ipv6 (const char *ip) |
| int | is_localhost_ipv4 (const char *ip) |
| int | is_localhost_ipv6 (const char *ip) |
| int | is_link_local_ipv4 (const char *ip) |
| int | is_link_local_ipv6 (const char *ip) |
| int | is_internet_ipv4 (const char *ip) |
| int | is_internet_ipv6 (const char *ip) |
🌍 IPv4/IPv6 address parsing, validation, and formatting utilities
Definition in file ip.c.
| asciichat_error_t canonicalize_ipv6 | ( | const char * | ipv6, |
| char * | canonical_out, | ||
| size_t | out_size | ||
| ) |
Definition at line 969 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
Referenced by compact_ipv6(), and compare_ip_port_strings().
| asciichat_error_t compact_ipv6 | ( | const char * | ipv6, |
| char * | compact_out, | ||
| size_t | out_size | ||
| ) |
Definition at line 999 of file ip.c.
References canonicalize_ipv6().
| int compare_ip_port_strings | ( | const char * | ip_port1, |
| const char * | ip_port2 | ||
| ) |
Definition at line 1133 of file ip.c.
References canonicalize_ipv6(), get_ip_version(), ip_equals(), and parse_ip_with_port().
Referenced by check_known_host(), and check_known_host_no_identity().
| asciichat_error_t expand_ipv6 | ( | const char * | ipv6, |
| char * | expanded_out, | ||
| size_t | out_size | ||
| ) |
Definition at line 932 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
| int extract_ip_from_address | ( | const char * | addr_with_port, |
| char * | ip_out, | ||
| size_t | ip_out_size | ||
| ) |
Definition at line 1053 of file ip.c.
Referenced by discovery_status_display().
| asciichat_error_t extract_ipv4_from_mapped_ipv6 | ( | const char * | ipv6, |
| char * | ipv4_out, | ||
| size_t | out_size | ||
| ) |
Definition at line 896 of file ip.c.
References is_ipv4_mapped_ipv6(), and parse_ipv6_address().
| asciichat_error_t format_ip_address | ( | int | family, |
| const struct sockaddr * | addr, | ||
| char * | output, | ||
| size_t | output_size | ||
| ) |
Definition at line 196 of file ip.c.
Referenced by server_connection_establish(), tcp_client_connect(), tcp_client_context_get_ip(), and tcp_server_run().
| asciichat_error_t format_ip_with_port | ( | const char * | ip, |
| uint16_t | port, | ||
| char * | output, | ||
| size_t | output_size | ||
| ) |
Definition at line 221 of file ip.c.
Referenced by add_known_host(), check_known_host(), check_known_host_no_identity(), display_mitm_warning(), prompt_unknown_host(), prompt_unknown_host_no_identity(), and remove_known_host().
| const char * get_ip_type_string | ( | const char * | ip | ) |
Definition at line 1091 of file ip.c.
References is_internet_ipv4(), is_internet_ipv6(), is_lan_ipv4(), is_lan_ipv6(), is_localhost_ipv4(), and is_localhost_ipv6().
Referenced by discovery_status_display().
| int get_ip_version | ( | const char * | ip | ) |
Definition at line 510 of file ip.c.
References is_valid_ipv4(), and is_valid_ipv6().
Referenced by compare_ip_port_strings(), ip_compare(), ip_equals(), ip_in_cidr_parsed(), and parse_cidr().
| int ip_compare | ( | const char * | ip1, |
| const char * | ip2 | ||
| ) |
Definition at line 601 of file ip.c.
References get_ip_version(), and parse_ipv6_address().
| int ip_equals | ( | const char * | ip1, |
| const char * | ip2 | ||
| ) |
Definition at line 557 of file ip.c.
References get_ip_version(), and parse_ipv6_address().
Referenced by compare_ip_port_strings().
| int ip_in_cidr | ( | const char * | ip, |
| const char * | cidr | ||
| ) |
Definition at line 820 of file ip.c.
References ip_in_cidr_parsed(), and parse_cidr().
| int ip_in_cidr_parsed | ( | const char * | ip, |
| const char * | network, | ||
| int | prefix_len | ||
| ) |
Definition at line 766 of file ip.c.
References get_ip_version(), and parse_ipv6_address().
Referenced by ip_in_cidr().
| asciichat_error_t ipv4_to_ipv6_mapped | ( | const char * | ipv4, |
| char * | ipv6_out, | ||
| size_t | out_size | ||
| ) |
Definition at line 840 of file ip.c.
References is_valid_ipv4().
| int is_anycast_ipv6 | ( | const char * | ipv6 | ) |
Definition at line 1004 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
| int is_broadcast_ipv4 | ( | const char * | ip | ) |
Definition at line 1247 of file ip.c.
References is_valid_ipv4().
Referenced by is_internet_ipv4().
| int is_broadcast_ipv6 | ( | const char * | ip | ) |
Definition at line 1268 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
Referenced by is_internet_ipv6().
| int is_internet_ipv4 | ( | const char * | ip | ) |
Definition at line 1408 of file ip.c.
References is_broadcast_ipv4(), is_lan_ipv4(), is_link_local_ipv4(), is_localhost_ipv4(), and is_valid_ipv4().
Referenced by get_ip_type_string().
| int is_internet_ipv6 | ( | const char * | ip | ) |
Definition at line 1490 of file ip.c.
References is_broadcast_ipv6(), is_lan_ipv6(), is_link_local_ipv6(), is_localhost_ipv6(), is_valid_ipv6(), and parse_ipv6_address().
Referenced by get_ip_type_string().
| int is_ipv4_mapped_ipv6 | ( | const char * | ipv6 | ) |
Definition at line 860 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
Referenced by extract_ipv4_from_mapped_ipv6().
| int is_lan_ipv4 | ( | const char * | ip | ) |
Definition at line 1185 of file ip.c.
References is_valid_ipv4().
Referenced by get_ip_type_string(), and is_internet_ipv4().
| int is_lan_ipv6 | ( | const char * | ip | ) |
Definition at line 1216 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
Referenced by get_ip_type_string(), and is_internet_ipv6().
| int is_link_local_ipv4 | ( | const char * | ip | ) |
Definition at line 1356 of file ip.c.
References is_valid_ipv4().
Referenced by is_internet_ipv4().
| int is_link_local_ipv6 | ( | const char * | ip | ) |
Definition at line 1377 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
Referenced by is_internet_ipv6().
| int is_localhost_ipv4 | ( | const char * | ip | ) |
Definition at line 1299 of file ip.c.
References is_valid_ipv4().
Referenced by client_main(), get_ip_type_string(), is_internet_ipv4(), parse_server_bind_address(), server_connection_establish(), server_main(), and tcp_client_connect().
| int is_localhost_ipv6 | ( | const char * | ip | ) |
Definition at line 1320 of file ip.c.
References is_valid_ipv6(), and parse_ipv6_address().
Referenced by get_ip_type_string(), is_internet_ipv6(), parse_server_bind_address(), server_connection_establish(), server_main(), and tcp_client_connect().
| int is_valid_ip | ( | const char * | ip | ) |
Definition at line 534 of file ip.c.
References is_valid_ipv4(), and is_valid_ipv6().
| int is_valid_ipv4 | ( | const char * | ip | ) |
Definition at line 58 of file ip.c.
Referenced by get_ip_version(), ipv4_to_ipv6_mapped(), is_broadcast_ipv4(), is_internet_ipv4(), is_lan_ipv4(), is_link_local_ipv4(), is_localhost_ipv4(), is_valid_ip(), parse_address_with_optional_port(), parse_client_address(), parse_server_bind_address(), and validate_opt_ip_address().
| int is_valid_ipv6 | ( | const char * | ip | ) |
Definition at line 105 of file ip.c.
References parse_ipv6_address().
Referenced by canonicalize_ipv6(), expand_ipv6(), get_ip_version(), is_anycast_ipv6(), is_broadcast_ipv6(), is_internet_ipv6(), is_ipv4_mapped_ipv6(), is_lan_ipv6(), is_link_local_ipv6(), is_localhost_ipv6(), is_valid_ip(), parse_address_with_optional_port(), parse_client_address(), parse_server_bind_address(), and validate_opt_ip_address().
| int parse_address_with_optional_port | ( | const char * | input, |
| char * | address_output, | ||
| size_t | address_output_size, | ||
| uint16_t * | port_output, | ||
| uint16_t | default_port | ||
| ) |
Definition at line 370 of file ip.c.
References is_valid_ipv4(), is_valid_ipv6(), and parse_port().
| int parse_cidr | ( | const char * | cidr, |
| char * | ip_out, | ||
| size_t | ip_out_size, | ||
| int * | prefix_out | ||
| ) |
Definition at line 665 of file ip.c.
References get_ip_version(), and parse_ipv6_address().
Referenced by ip_in_cidr().
| int parse_ip_with_port | ( | const char * | input, |
| char * | ip_output, | ||
| size_t | ip_output_size, | ||
| uint16_t * | port_output | ||
| ) |
Definition at line 296 of file ip.c.
References parse_port().
Referenced by compare_ip_port_strings().
| int parse_ipv6_address | ( | const char * | input, |
| char * | output, | ||
| size_t | output_size | ||
| ) |
Definition at line 158 of file ip.c.
Referenced by canonicalize_ipv6(), expand_ipv6(), extract_ipv4_from_mapped_ipv6(), ip_compare(), ip_equals(), ip_in_cidr_parsed(), is_anycast_ipv6(), is_broadcast_ipv6(), is_internet_ipv6(), is_ipv4_mapped_ipv6(), is_lan_ipv6(), is_link_local_ipv6(), is_localhost_ipv6(), is_valid_ipv6(), parse_cidr(), parse_server_bind_address(), and validate_opt_ip_address().