POSIX.1 standardı, dosya sistemini sınırlarını açıklayan bir dizi parametre belirtir. Sistem için sabit, bir parametre için tektip sınır olabilirler fakat genel bir durumu yansıtmazlar. Çoğu sistemde, farklı dosya sistemlerinde (hatta bazı parametreler, hatta farklı dosyalarda) farklı azami sınırlar olabilmektedir. Örneğin,
bazı dosya sistemlerini farklı makinelere NFS üzerinden bağlıyorsanız bu durumlarla karşılaşırsınız.
Aşağıdaki makroların herbiri sadece sistem o parametre için bir sabit ve tektip sınıra sahipse
limits.h içinde tanımlıdır. Eğer sistem farklı dosya sistemleri için farklı sınırlara izin veriyorsa, makro tanımsızdır; böyle bir durumda belli bir dosyaya uygulanan sınırı öğrenmek için
pathconf ya da
fpathconf kullanın. Bkz.
pathconf Kullanımı.
Bu parametrelerin her biri için ismi
_POSIX ile başlayan başka makrolar da vardır. Bunlar herhangi bir POSIX sisteminde izin verilen sınırın en düşük değerini verirler. Bkz.
Dosyalarla İlgili Asgari Değerler.
Bir dosyaya verilebilecek isim sayısı için (varsa) tektip sistem sınırı. Bkz.
Sabit Bağlar.
Bir girdiye baştan sona yazılan karakterlerin toplam sayısı için (varsa) tektip sistem sınırı. Bkz.
G/Ç Kuyrukları.
Bir dosya ismi bileşeninin uzunluğu için (varsa) tektip sistem sınırı.
Bir tam dosya ismi uzunluğu için (varsa) tektip sistem sınırı. (open çağrısındaki gibi bir sistem çağrısında belirtilen bir argüman gibi tam dosya ismi).
Bir boruya atomik olarak yazılabilen baytların sayısı için (varsa) tektip sistem sınırı. Eğer aynı boruya aynı anda çok sayıda süreç yazıyorsa, farklı süreçlerdeki çıktı bu boyutun parçaları halinde saçılmış olabilir. Bkz.
Borular ve FIFOlar.
Bunlar aynı bilgi için isimleri farklı diğer makrolardır:
NAME_MAX makrosunun BSD karşılığıdır. dirent.h dosyasında tanımlıdır.
Bu makronun değeri bir dosya ismi dizgesinin azami uzunlığunu ifade eden bir tamsayı sabittir ve stdio.h dosyasıda tanımlıdır.
PATH_MAX'ın tersine, bu makro aslında bir sınır bulunmasa bile tanımlanır. Böyle bir durumda genellikle oldukça büyük bir sayıdır. GNU sisteminde de bu daima böyledir.
| Kullanım Bilgisi |
---|
Bir dosya ismini saklayacak bir dizinin boyutu olarak FILENAME_MAX kullanmayın! Bu kadar büyük bir dizi yapmanız mümkün değildir! Bunu yapmaktansa özdevimli ayırma yapın. |