inet6_rthdr_add()

Add an address to an IPv6 routing header

Synopsis:

#include <netinet/in.h>

int inet6_rthdr_add(struct cmsghdr *cmsg, 
                    const struct in6_addr *addr, 
                    unsigned int flags);

Arguments:

addr
A pointer to the IPv6 address structure to add to the routing header.
flags
Routing header flags. For an IPv6 Type 0 routing header, it's either IPV6_RTHDR_LOOSE or IPV6_RTHDR_STRICT.
cmsg
A pointer to Ancillary data containing the routing header.

Library:

libsocket

Use the -l socket option to qcc to link against this library.

Description:

This function adds the address pointed to by addr to the end of the Routing header being constructed and sets the type of this hop to the value of flags.

If successful, the cmsg_len member of the cmsghdr structure is updated to account for the new address in the routing header.

Returns:

0
Success.
-1
An error has occurred.

Classification:

RFC 2292

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

inet6_rthdr_getaddr(), inet6_rthdr_getflags(), inet6_rthdr_init(), inet6_rthdr_lasthop(), inet6_rthdr_reverse(), inet6_rthdr_segments(), inet6_rthdr_space()

Based on: