Query: inet6_rthdr_segments
OS: osx
Section: 3
Links: osx man pages all man pages
Forums: unix linux community forum categories
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
INET6_RTHDR_SPACE(3) BSD Library Functions Manual INET6_RTHDR_SPACE(3)NAMEinet6_rthdr_space, inet6_rthdr_init, inet6_rthdr_add, inet6_rthdr_lasthop, inet6_rthdr_reverse, inet6_rthdr_segments, inet6_rthdr_getaddr, inet6_rthdr_getflags -- IPv6 Routing Header Options manipulationLIBRARYStandard C Library (libc, -lc)SYNOPSIS#include <sys/types.h> #include <netinet/in.h> size_t inet6_rthdr_space(int type, int segments); struct cmsghdr * inet6_rthdr_init(void *bp, int type); int inet6_rthdr_add(struct cmsghdr *cmsg, const struct in6_addr *addr, unsigned int flags); int inet6_rthdr_lasthop(struct cmsghdr *cmsg, unsigned int flags); int inet6_rthdr_reverse(const struct cmsghdr *in, struct cmsghdr *out); int inet6_rthdr_segments(const struct cmsghdr *cmsg); struct in6_addr * inet6_rthdr_getaddr(struct cmsghdr *cmsg, int index); int inet6_rthdr_getflags(const struct cmsghdr *cmsg, int index);DESCRIPTIONRFC2292 IPv6 advanced API defines eight functions that the application calls to build and examine a Routing header. Four functions build a Routing header: inet6_rthdr_space() return #bytes required for ancillary data inet6_rthdr_init() initialize ancillary data for Routing header inet6_rthdr_add() add IPv6 address & flags to Routing header inet6_rthdr_lasthop() specify the flags for the final hop Four functions deal with a returned Routing header: inet6_rthdr_reverse() reverse a Routing header inet6_rthdr_segments() return #segments in a Routing header inet6_rthdr_getaddr() fetch one address from a Routing header inet6_rthdr_getflags() fetch one flag from a Routing header The function prototypes for these functions are all in the <netinet/in.h> header. The full description of these functions is available in RFC2292.DIAGNOSTICSinet6_rthdr_space() returns 0 on errors. inet6_rthdr_add(), inet6_rthdr_lasthop() and inet6_rthdr_reverse() return 0 on success, and returns -1 on error. inet6_rthdr_init() and inet6_rthdr_getaddr() return NULL on error. inet6_rthdr_segments() and inet6_rthdr_getflags() return -1 on error.EXAMPLESRFC2292 gives comprehensive examples in chapter 8.SEE ALSOW. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC2292, February 1998. S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, RFC2460, December 1998.HISTORYThe implementation first appeared in KAME advanced networking kit.STANDARDSThe functions are documented in ``Advanced Sockets API for IPv6'' (RFC2292).BUGSThe text was shamelessly copied from RFC2292. inet6_rthdr_reverse() is not implemented yet.BSDDecember 10, 1999 BSD