bind2addrsel -Subroutine

Zweck

Bindet einen Socket entsprechend den Adressauswahlvorgaben an eine Adresse.

Bibliothek

Bibliothek (libc.a)

Syntax

#include <netinet/in.h>
int bind2addrsel(int socket,const struct sockaddr *dstaddr, socklen_t dstaddrlen)

Beschreibung

Beim Herstellen einer Kommunikation mit einer fernen Adresse verwendet AIX® einen Adressauswahlalgorithmus, um zu definieren, welche lokale Adresse für die Kommunikation mit einer fernen Adresse verwendet wird. Dieser Algorithmus verwendet eine Gruppe geordneter Regeln (RFC 3484), um diese lokale Adresse auszuwählen. Einige dieser Regeln verwenden den Adresstyp für diese Auswahl. Standardmäßig werden öffentliche Adressen gegenüber temporären Adressen bevorzugt; CGA-Adressen werden gegenüber Nicht-CGA-Adressen bevorzugt; Privatadressen werden gegenüber Pflege-Adressen bevorzugt. Eine Anwendung kann die Verwendung anderer Vorgabenoptionen (z. B. Verwendung einer temporären Adresse anstelle einer öffentlichen Adresse) für die Regeln bevorzugen, die den Adresstyp verwenden. Wenn diese Regeln angewendet werden, werden diese Vorgaben verwendet. Die Anwendung kann diese Vorgaben mit einem Setsockopt -Aufruf mit der Option IPV6_ADDR_PREFERENCES und einer Kombination der folgenden Flags ausdrücken:

  • IPV6_PREFER_SRC_HOME: bevorzugen Adressen, die über eine Ausgangsquellenadresse erreichbar sind
  • IPV6_PREFER_SRC_COA: bevorzugen Adressen, die über eine Care-of-Source-Adresse erreichbar sind
  • IPV6_PREFER_SRC_TMP: bevorzugen Adressen, die über eine temporäre Adresse erreichbar sind
  • IPV6_PREFER_SRC_PUBLIC: die bevorzugten Adressen, die über eine öffentliche Quellenadresse erreichbar sind
  • IPV6_PREFER_SRC_CGA: Die bevorzugten Adressen, die über eine CGA-Quellenadresse (CGA = Cryptografisch generierte Adresse) erreichbar sind
  • IPV6_PREFER_SRC_NONCGA: die bevorzugten Adressen, die von einer Nicht-CGA-Quellenadresse erreichbar sind

Die Anwendung ruft dann bind2addrsel. auf bind2addrsel bindet ein Socket an eine lokale Adresse, die für die Kommunikation mit der angegebenen Zieladresse gemäß den Adressauswahlvorgaben ausgewählt wurde.

Parameter

Element Beschreibung
socket Gibt den eindeutigen Socketnamen an.
Zieladresse Verweist auf eine Sockadr-Struktur, die die Zieladresse enthält. Das Feld sin6_family dieser sockaddr-Struktur muss auf AF_INET6gesetzt sein.
DSTADRLEN Gibt die Größe der sockaddr-Struktur an, auf die dstaddr verweist.

Rückgabewerte

Nach erfolgreichem Abschluss gibt die Subroutine 0 zurück.

Ist dies nicht der Fall, gibt das Unterprogramm -1 zurück und errno wird entsprechend gesetzt: