corosync  2.3.6
Macros | Functions
totemip.c File Reference
#include <config.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <net/if.h>
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include <assert.h>
#include <stdlib.h>
#include <unistd.h>
#include <ifaddrs.h>
#include <corosync/totem/totemip.h>
#include <corosync/swab.h>
Include dependency graph for totemip.c:

Go to the source code of this file.

Macros

#define LOCALHOST_IPV4   "127.0.0.1"
 
#define LOCALHOST_IPV6   "::1"
 
#define NETLINK_BUFSIZE   16384
 
#define TOTEMIP_UDP_HEADER_SIZE   8
 
#define TOTEMIP_IPV4_HEADER_SIZE   20
 
#define TOTEMIP_IPV6_HEADER_SIZE   40
 

Functions

int totemip_equal (const struct totem_ip_address *addr1, const struct totem_ip_address *addr2)
 
void totemip_copy (struct totem_ip_address *addr1, const struct totem_ip_address *addr2)
 
void totemip_copy_endian_convert (struct totem_ip_address *addr1, const struct totem_ip_address *addr2)
 
int32_t totemip_is_mcast (struct totem_ip_address *ip_addr)
 
int totemip_compare (const void *a, const void *b)
 
int totemip_localhost (int family, struct totem_ip_address *localhost)
 
int totemip_localhost_check (const struct totem_ip_address *addr)
 
const char * totemip_print (const struct totem_ip_address *addr)
 
int totemip_totemip_to_sockaddr_convert (struct totem_ip_address *ip_addr, uint16_t port, struct sockaddr_storage *saddr, int *addrlen)
 
int totemip_parse (struct totem_ip_address *totemip, const char *addr, int family)
 
int totemip_sockaddr_to_totemip_convert (const struct sockaddr_storage *saddr, struct totem_ip_address *ip_addr)
 
int totemip_getifaddrs (struct list_head *addrs)
 
void totemip_freeifaddrs (struct list_head *addrs)
 
int totemip_iface_check (struct totem_ip_address *bindnet, struct totem_ip_address *boundto, int *interface_up, int *interface_num, int mask_high_bit)
 
size_t totemip_udpip_header_size (int family)
 

Macro Definition Documentation

#define LOCALHOST_IPV4   "127.0.0.1"

Definition at line 57 of file totemip.c.

Referenced by totemip_localhost().

#define LOCALHOST_IPV6   "::1"

Definition at line 58 of file totemip.c.

Referenced by totemip_localhost().

#define NETLINK_BUFSIZE   16384

Definition at line 60 of file totemip.c.

#define TOTEMIP_IPV4_HEADER_SIZE   20

Definition at line 493 of file totemip.c.

Referenced by totemip_udpip_header_size().

#define TOTEMIP_IPV6_HEADER_SIZE   40

Definition at line 494 of file totemip.c.

Referenced by totemip_udpip_header_size().

#define TOTEMIP_UDP_HEADER_SIZE   8

Definition at line 492 of file totemip.c.

Referenced by totemip_udpip_header_size().

Function Documentation

int totemip_compare ( const void *  a,
const void *  b 
)
void totemip_copy ( struct totem_ip_address addr1,
const struct totem_ip_address addr2 
)
void totemip_copy_endian_convert ( struct totem_ip_address addr1,
const struct totem_ip_address addr2 
)
int totemip_equal ( const struct totem_ip_address addr1,
const struct totem_ip_address addr2 
)
void totemip_freeifaddrs ( struct list_head addrs)
int totemip_getifaddrs ( struct list_head addrs)
int totemip_iface_check ( struct totem_ip_address bindnet,
struct totem_ip_address boundto,
int *  interface_up,
int *  interface_num,
int  mask_high_bit 
)
int32_t totemip_is_mcast ( struct totem_ip_address ip_addr)

Definition at line 114 of file totemip.c.

References addr, totem_ip_address::addr, and totem_ip_address::family.

Referenced by totem_config_validate().

int totemip_localhost ( int  family,
struct totem_ip_address localhost 
)
int totemip_localhost_check ( const struct totem_ip_address addr)

Definition at line 205 of file totemip.c.

References totem_ip_address::family, totemip_equal(), and totemip_localhost().

int totemip_parse ( struct totem_ip_address totemip,
const char *  addr,
int  family 
)
const char* totemip_print ( const struct totem_ip_address addr)
int totemip_sockaddr_to_totemip_convert ( const struct sockaddr_storage *  saddr,
struct totem_ip_address ip_addr 
)

Definition at line 295 of file totemip.c.

References totem_ip_address::addr, totem_ip_address::family, and totem_ip_address::nodeid.

Referenced by totemip_getifaddrs().

int totemip_totemip_to_sockaddr_convert ( struct totem_ip_address ip_addr,
uint16_t  port,
struct sockaddr_storage *  saddr,
int *  addrlen 
)
size_t totemip_udpip_header_size ( int  family)