Bu işlev dosya_tanımlayıcı[0] ve dosya_tanımlayıcı[1] içine dosya tanımlayıcılarını yerleştirerek bir soket çifti oluşturur. Soket çifti aynı anda iki yönlü (full-duplex) iletişim yapılabilen bir iletişim kanalıdır, böylece hem okuma hem yazma her iki ucundan da gerçekleşebilmektedir.
isimalanı,
tarz ve
protokol argümanları
socket işlevindeki gibi kullanılmaktadır.
tarz İletişim Tarzları bölümünde listelenen iletişim tarzalarından biri olmalıdır.
isimalanı argümanı isim alanını belirler ve
AF_LOCAL olmalıdır;
protokol iletişim protokolünü belirler, fakat tek anlamlı değer sıfırdır.
Eğer tarz bağlantısız bir iletişim tarzını belirtiyorsa, elde ettiğiniz iki soket bağlı değildir, fakat her ikisi de birbirini öntanımlı hedef adres olarak bilir, böylece birbirlerine paket gönderebilirler.
socketpair işlevi başarı durumunda 0, başarısızlıkta -1 döndürür. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
- EMFILE
Süreç çok fazla açık dosya tanımlayıcısına sahip.
- EAFNOSUPPORT
Belirtilen isim alanı desteklenmiyor.
- EPROTONOSUPPORT
Belirtilen protokol desteklenmiyor.
- EOPNOTSUPP
Belirtilen protokol soket çifti oluşturmayı desteklemiyor.