inet6_option_init()

Initialize an ancillary data object that contains IPv6 hop-by-hop and destination options

Synopsis:

#include <netinet/in.h>

int inet6_option_init(void *bp, 
                      struct cmsghdr **cmsgp, 
                      int type);

Arguments:

bp
A pointer to previously allocated space that contains the ancillary data object. It must be large enough to contain all the individual options to be added by later calls to inet6_option_append() and inet6_option_alloc().
cmsgp
A pointer to a cmsghdr structure. The *cmsgp variable is initialized by this function to point to the cmsghdr structure that this function constructs in the buffer pointed to by bp.
type
The type of option which must be either IPV6_HOPOPTS or IPV6_DSTOPTS. This type is stored in the cmsg_type member of the cmsghdr structure pointed to by *cmsgp.

Library:

libsocket

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

Description:

Call inet6_option_init() function once per ancillary data object that contains either hop-by-hop or destination options.

Based on:

  • W. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC 2292, February 1998. Contains examples.
  • S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, RFC 2460, December 1998.

Returns:

0
Success.
-1
An error has occurred.

Classification:

RFC 2292

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

Last modified: 2013-12-23

comments powered by Disqus