Apre un socket.
La funzione restituisce un intero positivo in caso di successo, e -1 in caso di fallimento, nel qual caso la variabile errno assumerà i valori:
La funzione ha tre argomenti, domain specifica il dominio del socket (definisce cioè, come vedremo in sez. 14.2.2, la famiglia di protocolli usata), type specifica il tipo di socket (definisce cioè, come vedremo in sez. 14.2.3, lo stile di comunicazione) e protocol il protocollo; in genere quest'ultimo è indicato implicitamente dal tipo di socket, per cui di norma questo valore viene messo a zero (con l'eccezione dei raw socket).
Si noti che la creazione del socket si limita ad allocare le opportune strutture nel kernel (sostanzialmente una voce nella file table) e non comporta nulla riguardo all'indicazione degli indirizzi remoti o locali attraverso i quali si vuole effettuare la comunicazione.