Determine how much space an IPv6 hop-by-hop or destination option requires
#include <netinet/in.h> int inet6_option_space(int nbytes);
libsocket
Use the -l socket option to qcc to link against this library.
This inet6_option_space() function returns the number of bytes required to hold an option when it's stored as ancillary data, including the cmsghdr structure at the beginning, and any padding at the end (to make its size a multiple of 8 bytes).
When multiple options are stored in a single ancillary data object, this function overestimates the amount of space required by the size of N-1 cmsghdr structures, where N is the number of options to be stored in the object. This is of little consequence, since it's assumed that most hop-by-hop option and destination option headers carry only one option (see Appendix B of RFC 2460). |
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
inet6_option_alloc(), inet6_option_append() inet6_option_find(), inet6_option_init(), inet6_option_next()
Based on: