RTRlib
Toggle main menu visibility
Loading...
Searching...
No Matches
rtrlib
lib
ip.h
1
/*
2
* This file is part of RTRlib.
3
*
4
* This file is subject to the terms and conditions of the MIT license.
5
* See the file LICENSE in the top level directory for more details.
6
*
7
* Website: http://rtrlib.realmv6.org/
8
*/
9
10
#ifndef LRTR_IP_PUBLIC_H
11
#define LRTR_IP_PUBLIC_H
12
13
#include "rtrlib/lib/ipv4.h"
14
#include "rtrlib/lib/ipv6.h"
15
16
#include <stdbool.h>
21
25
enum
lrtr_ip_version
{
27
LRTR_IPV4
,
28
30
LRTR_IPV6
31
};
32
38
struct
lrtr_ip_addr
{
39
enum
lrtr_ip_version
ver;
40
union
{
41
struct
lrtr_ipv4_addr
addr4;
42
struct
lrtr_ipv6_addr
addr6;
43
} u;
44
};
45
56
int
lrtr_ip_addr_to_str
(
const
struct
lrtr_ip_addr
*ip,
char
*str,
const
unsigned
int
len);
57
65
int
lrtr_ip_str_to_addr
(
const
char
*str,
struct
lrtr_ip_addr
*ip);
66
75
bool
lrtr_ip_addr_equal
(
const
struct
lrtr_ip_addr
a,
const
struct
lrtr_ip_addr
b);
76
84
bool
lrtr_ip_str_cmp
(
const
struct
lrtr_ip_addr
*addr1,
const
char
*addr2);
85
86
#endif
lrtr_ip_addr_to_str
int lrtr_ip_addr_to_str(const struct lrtr_ip_addr *ip, char *str, const unsigned int len)
lrtr_ip_addr_equal
bool lrtr_ip_addr_equal(const struct lrtr_ip_addr a, const struct lrtr_ip_addr b)
Checks if two lrtr_ip_addr structs are equal.
lrtr_ip_str_cmp
bool lrtr_ip_str_cmp(const struct lrtr_ip_addr *addr1, const char *addr2)
lrtr_ip_version
lrtr_ip_version
Version of the IP protocol.
Definition
ip.h:25
lrtr_ip_str_to_addr
int lrtr_ip_str_to_addr(const char *str, struct lrtr_ip_addr *ip)
LRTR_IPV6
@ LRTR_IPV6
Definition
ip.h:30
LRTR_IPV4
@ LRTR_IPV4
Definition
ip.h:27
lrtr_ip_addr
The lrtr_ip_addr struct stores a IPv4 or IPv6 address in host byte order.
Definition
ip.h:38
lrtr_ipv4_addr
Struct storing an IPv4 address in host byte order.
Definition
ipv4.h:19
lrtr_ipv6_addr
Struct holding an IPv6 address in host byte order.
Definition
ipv6.h:18
Generated on
for RTRlib by
1.17.0