Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Übersicht über die Funktionen

&pagelevel(3)&pagelevel

Die folgende Übersicht über die Funktionen der SOCKETS(BS2000)-Schnittstelle fasst jeweils mehrere Funktionen unter aufgabenorientierten Gesichtspunkten zusammen.

In den drei rechten Spalten „INET“, „INET6“ und „ISO“ wird angezeigt, in welcher Adressfamilie (AF_INET, AF_INET6, AF_ISO) die betreffende Funktion unterstützt wird.

Verbindungen über Sockets aufbauen und beenden

Funktion

Beschreibung

siehe

INET

INET6

ISO

socket()

Socket erzeugen

"socket() - Socket erzeugen"

x

x

x

bind()

einem Socket einen Namen zuordnen

"bind() - Einem Socket einen Namen zuordnen"

x

x

x

connect()

Kommunikation über einen Socket initiieren (z.B. durch einen Client)

"connect() - Verbindung über einen Socket initiieren"

x

x

x

listen()

Socket auf anstehende Verbindungen überprüfen (z.B. durch einen Server)

"listen() - Socket auf anstehende Verbindungen überprüfen"

x

x

x

accept()

Verbindung über einen Socket annehmen
(z.B. durch einen Server)

"accept() - Eine Verbindung über einen Socket annehmen"

x

x

x

shutdown()

Verbindung in Lese- und/oder Schreibrichtung schließen

"shutdown() - Voll-Duplex-Verbindung abbauen"

x

x


soc_close()

Socket schließen

"soc_close() (close) - Socket schließen"

x

x

x

Daten zwischen zwei Sockets übertragen

Funktion

Beschreibung

siehe

INET

INET6

ISO

soc_read(),
soc_readv()

Nachricht von einem Socket über eine aufgebaute Verbindung empfangen

"soc_read(), soc_readv() (read, readv) - Nachricht von einem Socket empfangen"

x

x

x

recv()

Nachricht von einem Socket über eine aufgebaute Verbindung empfangen

"recv(), recvfrom() - Nachricht von einem Socket empfangen"

x

x

x

recvfrom()

Nachricht von einem Socket empfangen

"recv(), recvfrom() - Nachricht von einem Socket empfangen"

x

x

x

recvmsg()

Nachricht von einem Socket empfangen.
AF_ISO: Nachricht (Nutzdaten oder Verbindungsdaten) über eine aufgebaute Verbindung empfangen.

"recvmsg() - Nachricht von einem Socket empfangen"

x

x

x

send()

Nachricht von Socket zu Socket über eine aufgebaute Verbindung senden

"send(), sendto() - Nachricht von Socket zu Socket senden"

x

x

x

sendto()

Nachricht von Socket zu Socket senden

"send(), sendto() - Nachricht von Socket zu Socket senden"

x

x

x

sendmsg()

Nachricht von Socket zu Socket senden.
AF_ISO: Nachricht (Nutzdaten oder Verbindungsdaten) über eine aufgebaute Verbindung senden.

"sendmsg() - Nachricht von Socket zu Socket senden"

x

x

x

soc_write(),
soc_writev()

Nachricht von Socket zu Socket über eine aufgebaute Verbindung senden

"soc_write(), soc_writev() (write, writev) - Nachricht von Socket zu Socket senden"

x

x

x

select()

Ein-/Ausgabe multiplexen

"select() - Ein-/Ausgabe multiplexen"

x

x

x

soc_poll()

Ein-/Ausgabe multiplexen

"soc_poll() - Ein-/Ausgabe multiplexen"

x

x

x

Daten vom/zum Socket-Puffer übertragen

Funktion

Beschreibung

siehe

INET

INET6

ISO

soc_getc()

Zeichen aus dem Socket-Puffer lesen

"soc_getc() (getc) - Zeichen aus dem Eingabepuffer lesen"

x

x


soc_gets()

Character-String aus dem Socket-Puffer lesen

"soc_gets() (gets) - Character-String aus dem Eingabepuffer lesen"

x

x


soc_putc()

Zeichen in den Socket-Puffer schreiben

"soc_putc() (putc) - Zeichen in den Ausgabepuffer schreiben"

x

x


soc_puts()

Character-String in den Socket-Puffer schreiben

"soc_puts() (puts) - Character-String in den Ausgabepuffer schreiben"

x

x


soc_flush()

Socket-Puffer leeren

"soc_flush() (flush) - Daten aus Ausgebepuffer übertragen"

x

x


Informationen über Sockets erhalten

Funktion

Beschreibung

siehe

INET

INET6

ISO

getdtablesize()

Größe der Deskriptorentabelle abfragen

"getdtablesize() - Größe der Deskriptortabelle abfragen"

x

x

x

getsockopt()

Socket-Optionen abfragen

"getsockopt(), setsockopt() - Socket-Optionen abfragen und ändern"

x

x

x

setsockopt()

Socket-Optionen setzen

"getsockopt(), setsockopt() - Socket-Optionen abfragen und ändern"

x

x

x

getpeername()

Namen des Kommunikationspartners abfragen

"getpeername() - Remote-Adresse der Sockets-Verbindung abfragen"

x

x

x

getsockname()

Namen des Sockets abfragen

"getsockname() - Local-Adresse der Sockets-Verbindung abfragen"

x

x

x

Konfigurationswerte überprüfen

Funktion

Beschreibung

siehe

INET

INET6

ISO

getaddrinfo()

die zu einem Rechner- und/oder Service-Namen korrespondierenden IP-Adressen und Portnummern abfragen

"getaddrinfo() - Informationen über Rechnernamen, Rechneradressen und Services protokollunabhängig abfragen"

x

x


gai_strerror()

Beschreibung eines getaddrinfo()-Error-Codes abfragen

"gai_strerror() - Textausgabe für den Error-Code von getaddrinfo()"

x

x


getbcamhost()

BCAM-Hostnamen abfragen

"getbcamhost() - BCAM-Hostnamen abfragen"



x

gethostname()

Socket-Hostnamen des aktuellen Rechners abfragen

"gethostname() - Namen des Host abfragen"

x

x

x

gethostbyaddr()

den zu einer IPv4-Adresse gehörenden Rechnernamen abfragen

"gethostbyaddr(), gethostbyname() - Informationen über Rechnernamen und -adressen abfragen"

x



gethostbyname()

die zu einem Rechnernamen gehörende IPv4-Adresse abfragen

"gethostbyaddr(), gethostbyname() - Informationen über Rechnernamen und -adressen abfragen"

x



getipnodebyaddr()

den zu einer IPv4- oder IPv6-Adresse gehörenden Rechnernamen abfragen

"getipnodebyaddr(), getipnodebyname() - Informationen über Rechnernamen und Rechneradressen abfragen"

x

x


getipnodebyname()

die zu einem Rechnernamen gehörende IPv4- oder IPv6-Adresse abfragen

"getipnodebyaddr(), getipnodebyname() - Informationen über Rechnernamen und Rechneradressen abfragen"

x

x


getnameinfo()

die zu IP-Adresse und Portnummer korrespondierenden Rechner- und Service-Namen abfragen

"getnameinfo() - Namen des Kommunikationspartners abfragen"

x

x


getservbyport()

Namen eines Service abfragen

"getservbyname(), getservbyport() - Informationen über Services abfragen"

x

x


getservbyname()

Portnummer eines Service abfragen

"getservbyname(), getservbyport() - Informationen über Services abfragen"

x

x


getprotobyname()

Nummer eines Protokolls abfragen

"getprotobyname() - Nummer des Protokolls abfragen"

x

x


if_nameindex()

Liste mit Interface-Namen und -Index des lokalen Rechners

"if_nameindex() - Liste von Interface-Namen mit dem dazugehörigen Interface-Index erzeugen"

x

x


Internet-Adresse manipulieren

Funktion

Beschreibung

siehe

INET

INET6

ISO

inet_addr()

Zeichenkette von Punktschreibweise in ganzzahligen Wert konvertieren (Internetadresse)

"inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network(), inet_ntoa() - IPv4-Internet-Adresse manipulieren"

x



inet_network()

Zeichenkette von Punktschreibweise in ganzzahligen Wert konvertieren (Subnetz-Anteil)

"inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network(), inet_ntoa() - IPv4-Internet-Adresse manipulieren"

x



inet_makeaddr()

Internet-Adresse erstellen aus Subnetz-Anteil und subnetz-lokalem Adressteil

"inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network(), inet_ntoa() - IPv4-Internet-Adresse manipulieren"

x



inet_lnaof()

aus der Internet-Rechneradresse die lokale Netzadresse in der Byte-Reihenfolge des Rechners extrahieren

"inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network(), inet_ntoa() - IPv4-Internet-Adresse manipulieren"

x



inet_netof()

aus der Internet-Rechneradresse die Netznummer in der Byte-Reihenfolge des Rechners extrahieren

"inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network(), inet_ntoa() - IPv4-Internet-Adresse manipulieren"

x



inet_ntoa()

Internet-Rechneradresse in eine Zeichenkette gemäß der üblichen Internet-Punktschreibweise konvertieren

"inet_addr(), inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network(), inet_ntoa() - IPv4-Internet-Adresse manipulieren"

x



inet_pton()

Konvertiert

  • eine IPv4-Adresse in dezimaler Punkt-Notation oder

  • eine IPv6-Adresse in sedezimaler Doppelpunkt-Notation

in die entsprechende binäre Adresse.

"inet_ntop(), inet_pton() - Internet-Adressen manipulieren"

x

x


inet_ntop()

Konvertiert eine binäre IPv4-oder IPv6-Adresse in die entsprechende

  • IPv4-Adresse in dezimaler Punktform bzw.

  • IPv6-Adresse in sedezimaler Doppelpunkt-Notation.

"inet_ntop(), inet_pton() - Internet-Adressen manipulieren"

x

x


Hilfsfunktionen

Funktion

Beschreibung

siehe

INET

INET6

ISO

freeaddrinfo()

Speicherbereich für addrinfo-Struktur freigeben, der von der Funktion getaddrinfo() angefordert wurde.

"freeaddrinfo() - Speicher für addrinfo-Struktur freigeben"

x

x


freehostent()

Speicherbereich für hostent-Struktur freigeben, der von den Funktionen getipnodebyaddr() und getipnodebyname() angefordert wurde.

"freehostent() - Speicher für hostent-Struktur freigeben"

x

x


if_freenameindex()

Speicherbereich für Array mit if_nameindex() Struktur(en) freigeben, der von der Funktion if_nameindex() angefordert wurde.

"if_freenameindex() - Den durch if_nameindex() belegten dynamischen Speicher freigeben"

x

x


htonl()

32 bit große Felder
von Rechner- in Netz-Byte-Reihenfolge umsetzen

"Byteorder-Makros - Byte-Reihenfolgen umsetzen"

x



htons()

16 bit große Felder
von Rechner- in Netz-Byte-Reihenfolge umsetzen

"Byteorder-Makros - Byte-Reihenfolgen umsetzen"

x

x


if_indextoname()

Zum Index den korrespondierenden Namen ermitteln

"if_indextoname() - Interface-Index auf Interface-Namen umsetzen"

x

x


if_nametoindex()

Zum Namen den korrespondierenden Index ermitteln

"if_nametoindex() - Interface-Name auf Interface-Index umsetzen"

x

x


ntohl()

32 bit große Felder
von Netz- in Rechner-Byte-Reihenfolge umsetzen

"Byteorder-Makros - Byte-Reihenfolgen umsetzen"

x



ntohs()

16 bit große Felder
von Netz- in Rechner-Byte-Reihenfolge umsetzen

"Byteorder-Makros - Byte-Reihenfolgen umsetzen"

x

x


Steuerfunktionen

Funktion

Beschreibung

siehe

INET

INET6

ISO

soc_ioctl()

Sockets steuern

"soc_ioctl() (ioctl) - Sockets steuern"

x

x

x

soc_wake()

eine mit select() oder soc_poll() wartende Task wecken

"soc_wake() - Eine mit select() oder soc-poll() wartende Task wecken"

x

x

x

Testmakros für AF_INET6

Die folgenden Testmakros sind in <netinet.in.h> definiert:

Makro

Test

IN6_IS_ADDR_UNSPECIFIED

Adresse = 0 ?

IN6_IS_ADDR_LOOPBACK

Adresse = Loopback ?

IN6_IS_ADDR_LINKLOCAL

Adresse = IPv6 - LINKLOCAL ?

IN6_IS_ADDR_SITELOCAL

Adresse = IPv6 - SITELOCAL ?

IN6_ADDR_V4COMPAT

Adresse = IPv4-kompatibel ?

IN6_ADDR_V4MAPPED

Adresse = IPv4-mapped

IN6_ARE_ADDR_EQUAL

Adresse1 = Adresse2 ?