inet6_opt_set_val() — Insert data items into the data portion of the option

Standards

Standards / Extensions C or C++ Dependencies

RFC3542

both z/OS® V1R7

Format

#define _OPEN_SYS_SOCK_IPV6
#include <netinet/in.h>

int inet6_opt_set_val(void *databuf, int offset,
                      void *val, socklen_t vallen);

General description

inet6_opt_set_val() inserts items of various sizes in the data portion of the option.

Returned value

If successful, inet6_opt_set_val() returns the offset for the next field (offset + vallen) that can be used when composing option content with multiple fields.

Upon failure, returns -1 and errno is set to one of the following:

EINVAL If one of the following is true:

  • databuf is NULL;
  • val is NULL;
  • offset is less than 0;
  • offset + vallen is greater than the option length.

Usage notes

  1. databuf should be a pointer returned by inet6_opt_append().
  2. val should point to the data to be inserted.
  3. offset specifies where in the data portion of the option the value should be inserted; the first byte after the option type and length is accessed by specifying an offset of 0.

Related information