Subroutine inet6_opt_append

Zweck

Gibt die aktualisierte Gesamtlänge des Erweiterungsheaders zurück.

Syntax

int inet6_opt_append(void *extbuf, socklen_t extlen, int offset,
                           uint8_t type, socklen_t len, uint_t align,
                           void **databufp);

Beschreibung

Die Subroutine inet6_opt_append gibt die aktualisierte Gesamtlänge des Erweiterungsheaders zurück, wobei das Hinzufügen einer Option mit der Länge len und der Ausrichtung alignberücksichtigt wird. Wenn extbuf nicht NULL ist, fügt die Subroutine zusätzlich zur Rückgabe der Länge alle erforderlichen Fülloptionen ein, initialisiert die Option (Festlegen des Typs und der Längenfelder) und gibt einen Zeiger auf die Position für den Optionsinhalt in databufpzurück. Nachdem inet6_opt_append() aufgerufen wurde, kann die Anwendung die databuf direkt verwenden. oder verwenden Sie inet6_opt_set_val() , um den Inhalt der Option anzugeben.

Parameter

Element Beschreibung
extbuf Bei NULL gibt inet6_opt_append nur die aktualisierte Länge zurück. Wenn extbuf nicht NULL ist, fügt die Funktion zusätzlich zur Rückgabe der Länge alle erforderlichen Fülloptionen ein. Initialisiert die Option (Einstellung der Felder type und length ) und gibt einen Zeiger auf die Position für den Optionsinhalt in databufpzurück.
extlen Größe des Puffers, auf den extbufverweist.
Offset Die von inet6_opt_init() oder einem früheren inet6_opt_append()zurückgegebene Länge.
Typ 8-Bit-Optionstyp. Muss einen Wert von 2 bis 255 einschließlich haben. (0 und 1 sind für die Optionen Pad1 und PadN reserviert.
len Länge der Optionsdaten (mit Ausnahme der Optionsart-und Optionslängenfelder). Muss ein Wert zwischen 0 und 255 einschließlich sein und ist die Länge der Optionsdaten, die folgen.
ausrichten Ausrichtung der Optionsdaten. Muss ein Wert von 1, 2, 4 oder 8 sein. Der Wert align darf den Wert von lennicht überschreiten.
datenbank Gibt den Inhalt der Option an

Rückgabewerte

Element Beschreibung
-1 Optionsinhalt passt nicht in den Erweiterungsheaderpuffer.
Ganzzahliger Wert Gesamtlänge des Erweiterungsheaders aktualisiert.