inet6_rthdr_getaddr()

Get a pointer to an IPv6 address in the routing header

Synopsis:

#include <netinet/in.h>

struct in6_addr * inet6_rthdr_getaddr(
                     struct cmsghdr *cmsg, 
                     int index);

Arguments:

cmsg
A pointer to the Ancillary data containing the routing header.
index
A value between 0 and the number returned by inet6_rthdr_segments().

Library:

libsocket

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

Description:

This function returns a pointer to the IPv6 address specified by index in the routing header described by cmsg. The index must have a value between 1 and the number returned by inet6_rthdr_segments(). You should first call inet6_rthdr_segments() to obtain the number of segments in the Routing header.

Returns:

A pointer to the IPv6 address, or NULL if an error occured.

Classification:

RFC 2292

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

See also:

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

W. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC 2292, February 1998. Contains good examples.

S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, RFC 2460, December 1998.