Beim Aufruf der Funktionen bind(), connect(), getpeername(), getsockname(), recvfrom() und sendto() wird als aktueller Parameter ein Zeiger auf einen Namen (Adresse) übergeben. Zuvor muss das Programm den Namen gemäß der Adress-Struktur der verwendeten Adressfamilie bereitstellen. Diese Adress-Struktur ist je nach verwendeter Adressfamilie unterschiedlich aufgebaut.
Wenn zunächst aus der Adress-Struktur die Adressfamilie ermittelt werden muss, um danach adressfamilien-spezifisch weiterarbeiten zu können, wird die allgemeine sockaddr-Struktur verwendet.
Die sockaddr-Struktur ist wie folgt in der Include-Datei <sys.socket.h> definiert.
struct sockaddr { u_short sa_family; /* Adressfamilie */ char sa_data[50]; /* 50 byte für die längste Adresse (sockaddr_iso) /* };
In den beiden folgenden Abschnitten werden die Adress-Strukturen für die Adressfamilien AF_INET und AF_INET6 sowie für die Adressfamilie AF_ISO beschrieben.