getsockname işlevi soket soketinin adres ve uzunluk-gstr argümanlarıyla belirlenen adresi ile ilgili bilgiyi döndürür. uzunluk-gstr argümanının bir gösterici olması nedeniyle adres boyutu kadar yer ayrılacak şekilde ilklendirilmelidir, böylece değer döndürüldüğünde adres verisinin gerçek boyutunu içerecektir.
Adres verisinin biçimi soket isim alanına bağlıdır. Belirtilen bir isim alanının bilgi uzunluğu genelde sabittir, böylece normalde ne kadar alan gerektiğini tam olarak bilirsiniz. Genel uygulama soketin isim alanı için uygun bir veri türü kullanarak değer için yer ayırmak, ardından adresi getsockname'e aktarmak için struct sockaddr * türüne dönüştürmektir.
Hata olduğunda -1 olmadığında 0 değeri döndürür. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
- EBADF
soket argümanı geçerli bir dosya tanımlayıcı değil.
- ENOTSOCK
socket tanımlayıcı bir soket değil.
- ENOBUFS
Bu işlem için yeterli dahili tampon yok.
Dosya isim alanındaki bir soketin adresini okuyamazsınız. Bu sistemin geri kalanı için de geçerlidir, bir dosya tanımlayıcıdan dosyanın ismini bulmak mümkün değildir.