This function, when called with extbuf as a NULL pointer and extlen as 0, returns the updated number of bytes in an extension header. If you specify extbuf as a valid pointer and valid extlen and align arguments, the function returns the same information as in the previous case, but also inserts the pad option, initializes the type and len fields, and returns a pointer to the location for the option content. After you call inet6_opt_append(), you can then use the data buffer directly or call inet6_opt_set_val() to specify the option contents.