Yerel İsim Alanı ile İlgili Ayrıntılar
Önceki Yerel İsim Alanı Sonraki
Yerel İsim Alanı ile İlgili Ayrıntılar
Yerel isim alanında bir soket oluşturmak için, socket veya socketpair işlevinin isimalanı argümanında PF_LOCAL sabitini kullanın. Bu sabit sys/socket.h dosyası içerisinde tanımlıdır.
int PF_LOCAL
makro
Bu içerisindeki soket adresleri yerel adlar olan yerel isim alanını ve onula ilgili protokol ailesini gösterir. PF_Local ise Posix.1g tarafından kullanılan makrodur.
int PF_UNIX
makro
PF_LOCAL ile aynıdır ve uyumluluk için konmuştur.
int PF_FILE
makro
PF_LOCAL ile aynıdır ve uyumluluk için konmuştur.
Yerel isim alanları içindeki soket isimlerini tanımlayan yapı sys/un.h başlık dosyası içinde tanımlıdır:
struct sockaddr_un
veri türü
Bu yapı yerel isim alanının soket adreslerini tanımlamak için kullanılır. Aşağıdaki üyelere sahiptir:
short int sun_family
Bu soket adresinin adres ailesini veya biçimini belirtir. Yerel isim alanını belirtmek için AF_LOCAL değerini saklamalısınız.
char sun_path[108]
Bu kullanılacak dosyanın ismidir.
Bitmedi!
108 neden sihirli bir numaradır? RMS bu sıfır uzunluğundaki dizinin oluşturulması ve aşağıdaki örnekteki gibi dosya isminin uzunluğuna göre uygun miktarda saklama alanı ayrılması için alloca işlevinin kullanılmasını önermektedir.
Yerel isim alanındaki bir soket adresi için uzunluk parametresini, dosya isminin dizge uzunluğu (dizgeye ayrılan alan değil) ve sun_family bileşeninin toplamı olarak hesaplamalısınız. Bu SUN_LEN makrosu kullanılarak yapılabilir:
int SUN_LEN
(struct sockaddr_un *gösterici)
makro
Bu makro yerel isim alanındaki soket adresinin uzunluğunu hesaplar.
Önceki Üst Ana Başlık Sonraki
Yerel İsim Alanı Kavramları Başlangıç Soketlerde Yerel İsim Alanı Örneği
Bir Linux Kitaplığı Sayfası