Die folgende Übersicht über die Funktionen der SOCKETS-Schnittstelle fasst jeweils mehrere Funktionen unter aufgabenorientierten Gesichtspunkten zusammen. Die Spalten IPv4 und IPv6 zeigen an, in welchen Adressfamilien (AF_INET bzw. AF_INET6) die betreffenden Funktionen unterstützt sind.
Funktion | Beschreibung | IPv4 | IPv6 |
---|---|---|---|
Verbindungen über Sockets aufbauen und beenden | |||
Socket erzeugen | x | x | |
Einem Socket einen Namen zuordnen | x | x | |
Verbindung über einen Socket initiieren | x | x | |
Socket auf anstehende Verbindungen überprüfen | x | x | |
Eine Verbindung über einen Socket annehmen | x | x | |
Socket schließen | x | x | |
Voll-Duplex-Verbindung beenden | x | x | |
Ein Paar von verbundenen Sockets erzeugen | x | ||
Daten zwischen zwei Sockets übertragen | |||
Nachricht von einem verbundenen Socket empfangen | x | x | |
Nachricht von einem verbundenen Socket empfangen | x | x | |
Nachricht von einem Socket empfangen | x | x | |
Nachricht von einem Socket empfangen | x | x | |
Nachricht von Socket zu Socket über eine Verbindung senden | x | x | |
Nachricht von Socket zu Socket senden | x | x | |
Nachricht von Socket zu Socket senden | x | x | |
Nachricht von Socket zu Socket über eine Verbindung senden | x | x | |
Ein-/Ausgabe multiplexen | x | x | |
Ein-/Ausgabe multiplexen | x | x | |
Informationen über Sockets erhalten | |||
Socket-Optionen abfragen | x | x | |
Socket-Optionen setzen | x | x | |
Namen des Kommunikationspartners abfragen | x | x | |
Namen des Sockets abfragen | x | x | |
Konfigurationswerte überprüfen | |||
Beschreibung des Error-Codes von getaddrinfo() ermitteln | x | x | |
Informationen über Rechnernamen, Rechneradressen und Services abfragen | x | x | |
Namen von erreichbaren Rechnern abfragen | x | ||
Adressen von erreichbaren Rechnern abfragen | x | ||
Namen des aktuellen Rechners abfragen | x | x | |
Den zu einer IPv4- oder IPv6-Adresse gehörenden Rechnernamen erfragen | x | x | |
Die zu einem Rechnernamen gehörende IPv4- oder IPv6-Adresse erfragen | x | x | |
die zu IP-Adresse und Portnummer gehörenden Rechner- und Servicenamen erfragen | x | x | |
Namen eines Netzes abfragen | x | x | |
Netzadresse abfragen | x | x | |
Nummer eines Protokolls abfragen | x | x | |
Namen eines Protokolls abfragen | x | x | |
Portnummer eines Service abfragen | x | x | |
Namen eines Service abfragen | x | x | |
Rechner-Datenbasis öffnen | x | x | |
Eintrag aus der Rechner-Datenbasis lesen | x | x | |
Rechner-Datenbasis schließen | x | x | |
Netz-Datenbasis öffnen | x | x | |
Eintrag aus der Netz-Datenbasis lesen | x | x | |
Netz-Datenbasis schließen | x | x | |
Protokoll-Datenbasis öffnen | x | x | |
Eintrag aus der Protokoll-Datenbasis lesen | x | x | |
Protokoll-Datenbasis schließen | x | x | |
Services-Datenbasis öffnen | x | x | |
Eintrag aus der Services-Datenbasis lesen | x | x | |
Services-Datenbasis schließen | x | x | |
Internet-Adresse manipulieren | |||
Zeichenkette von Punktschreibweise in ganzzahligen Wert konvertieren (Internetadresse) | x | ||
Zeichenkette von Punktschreibweise in ganzzahligen Wert konvertieren (Subnetz-Anteil) | x | ||
Internet-Adresse erstellen aus Subnetz-Anteil und subnetz-lokalem Adressteil | x | ||
aus der Internet-Rechneradresse die lokale Netzadresse in der Byte-Reihenfolge des Rechners extrahieren | x | ||
aus der Internet-Rechneradresse die Netznummer in der Byte-Reihenfolge des Rechners extrahieren | x | ||
Internet-Rechneradresse in eine Zeichenkette gemäß der üblichen Internet-Punktschreibweise konvertieren | x | ||
eine IP-Adresse aus der Punkt- bzw. Doppelpunkt-Notation in die binäre Adresse umwandeln | x | x | |
eine binäre IP-Adresse in die Punkt- oder Doppelpunkt-Notation umwandeln | x | x | |
Hilfsfunktionen | |||
Speicher einer addrinfo-Struktur freigeben | x | x | |
Speicher einer hostent-Struktur freigeben | x | x | |
32-bit-Felder von Rechner- in Netz-Byte-Reihenfolge umsetzen | x | ||
16-bit-Felder von Rechner- in Netz-Byte-Reihenfolge umsetzen | x | x | |
32-bit-Felder von Netz- in Rechner-Byte-Reihenfolge umsetzen | x | ||
16-bit-Felder von Netz- in Rechner-Byte-Reihenfolge umsetzen | x | x | |
Steuerfunktionen | |||
Sockets steuern | x | x | |
Sockets steuern | x | x |
Testmakros für AF_INET6
Folgende Testmakros für die Adressfamilie AF_INET6 sind in <netinet/in.h> definiert.
Die Parameter p, p1 und p2 sind in6_addr-Strukturen.
Funktion | Beschreibung |
IN6_IS_ADDR_UNSPECIFIED (p) | IPv6-Adresse = unspezifisch (0) ? |
IN6_IS_ADDR_LOOPBACK (p) | IPv6-Adresse = Loopback ? |
IN6_IS_ADDR_LINKLOCAL (p) | IPv6-Adresse = Link-lokal ? |
IN6_IS_ADDR_SITELOCAL (p) | IPv6-Adresse = Site-lokal ? |
IN6_IS_ADDR_V4MAPPED (p) | IPv6-Adresse = IPv4-mapped ? |
IN6_IS_ADDR_V4COMPAT (p) | IPv6-Adresse = IPv4-kompatibel ? |
IN6_ARE_ADDR_EQUAL (p1, p2) | IPv6-Adresse1 = IPv6-Adresse2 ? |