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 occurred.
Classification:
RFC 2292
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |