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.
Based on:
- 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.
Returns:
- 0
- Success.
- -1
- An error occurred.
Classification:
RFC 2292
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |