RTRlib
Loading...
Searching...
No Matches
Utility functions

Checks if two lrtr_ip_addr structs are equal. More...

Data Structures

struct  lrtr_ip_addr
 The lrtr_ip_addr struct stores a IPv4 or IPv6 address in host byte order. More...
 

Enumerations

enum  lrtr_ip_version { LRTR_IPV4 , LRTR_IPV6 }
 Version of the IP protocol. More...
 

Functions

int lrtr_ip_addr_to_str (const struct lrtr_ip_addr *ip, char *str, const unsigned int len)
 Converts the passed lrtr_ip_addr struct to string representation.
 
int lrtr_ip_str_to_addr (const char *str, struct lrtr_ip_addr *ip)
 Converts the passed IP address in string representation to an lrtr_ip_addr.
 
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.
 
bool lrtr_ip_str_cmp (const struct lrtr_ip_addr *addr1, const char *addr2)
 Compares addr1 in the lrtr_ip_addr struct with addr2 in string representation.
 
void lrtr_ipv4_addr_convert_byte_order (const uint32_t src, uint32_t *dest, const enum target_byte_order tbo)
 [{
 
void lrtr_ipv6_addr_convert_byte_order (const uint32_t *src, uint32_t *dest, const enum target_byte_order tbo)
 Converts the passed IPv6 address to given byte order.
 

Detailed Description

Checks if two lrtr_ip_addr structs are equal.

Parameters
[in]alrtr_ip_addr
[in]blrtr_ip_addr
Returns
true If a == b.
false If a != b.

Enumeration Type Documentation

◆ lrtr_ip_version

#include <rtrlib/lib/ip.h>

Version of the IP protocol.

Enumerator
LRTR_IPV4 

IPV4.

LRTR_IPV6 

LRTR_IPV6.

Function Documentation

◆ lrtr_ip_addr_equal()

bool lrtr_ip_addr_equal ( const struct lrtr_ip_addr  a,
const struct lrtr_ip_addr  b 
)

#include <rtrlib/lib/ip.h>

Checks if two lrtr_ip_addr structs are equal.

Parameters
[in]alrtr_ip_addr
[in]blrtr_ip_addr
Returns
true If a == b.
false If a != b.

◆ lrtr_ip_addr_to_str()

int lrtr_ip_addr_to_str ( const struct lrtr_ip_addr ip,
char *  str,
const unsigned int  len 
)

#include <rtrlib/lib/ip.h>

Converts the passed lrtr_ip_addr struct to string representation.

Parameters
[in]iplrtr_ip_addr
[out]strPointer to a char array. The array must be at least INET_ADDRSTRLEN bytes long if the passed lrtr_ip_addr stores an IPv4 address. If lrtr_ip_addr stores an IPv6 address, str must be at least INET6_ADDRSTRLEN bytes long.
[in]lenLength of the str array.
Returns
0 On success.
-1 On error.

◆ lrtr_ip_str_cmp()

bool lrtr_ip_str_cmp ( const struct lrtr_ip_addr addr1,
const char *  addr2 
)

#include <rtrlib/lib/ip.h>

Compares addr1 in the lrtr_ip_addr struct with addr2 in string representation.

Parameters
[in]addr1lrtr_ip_addr
[in]addr2IP-address as string
Returns
true If a == b
false If a != b

◆ lrtr_ip_str_to_addr()

int lrtr_ip_str_to_addr ( const char *  str,
struct lrtr_ip_addr ip 
)

#include <rtrlib/lib/ip.h>

Converts the passed IP address in string representation to an lrtr_ip_addr.

Parameters
[in]strPointer to a Null terminated char array.
[out]ipPointer to a lrtr_ip_addr struct.
Returns
0 On success.
-1 On error.

◆ lrtr_ipv4_addr_convert_byte_order()

void lrtr_ipv4_addr_convert_byte_order ( const uint32_t  src,
uint32_t *  dest,
const enum target_byte_order  tbo 
)

#include <rtrlib/lib/ipv4_private.h>

[{

Converts the passed IPv4 address to given byte order.

Parameters
[in]srcIPv4 address in source byte order.
[out]destIPv4 address in target byte order.
[in]tboTarget byte order for address conversion. }

◆ lrtr_ipv6_addr_convert_byte_order()

void lrtr_ipv6_addr_convert_byte_order ( const uint32_t *  src,
uint32_t *  dest,
const enum target_byte_order  tbo 
)

#include <rtrlib/lib/ipv6_private.h>

Converts the passed IPv6 address to given byte order.

Parameters
[in]srcIPv6 address (uint32_t array) in source byte order.
[out]destIPv6 address (uint32_t array) in target byte order.
[in]tboTarget byte order for address conversion.