Dosya Sistemi Kapasite Sınırları
Önceki XXXI. Oylum - Sistem Yapılandırma Parametreleri Sonraki
Dosya Sistemi Kapasite Sınırları
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.
int LINK_MAX
makro
Bir dosyaya verilebilecek isim sayısı için (varsa) tektip sistem sınırı. Bkz. Sabit Bağlar.
int MAX_CANON
makro
Girdi düzenlemesi etkin olduğunda bir girdi satırındaki metnin uzunluğu için (varsa) tektip sistem sınırı. Bkz. İki Girdi Tarzı: Kurallı veya Kuralsız.
int MAX_INPUT
makro
Bir girdiye baştan sona yazılan karakterlerin toplam sayısı için (varsa) tektip sistem sınırı. Bkz. G/Ç Kuyrukları.
int NAME_MAX
makro
Bir dosya ismi bileşeninin uzunluğu için (varsa) tektip sistem sınırı.
int PATH_MAX
makro
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).
int PIPE_BUF
makro
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:
int MAXNAMLEN
makro
NAME_MAX makrosunun BSD karşılığıdır. dirent.h dosyasında tanımlıdır.
int FILENAME_MAX
makro
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.
Önceki Üst Ana Başlık Sonraki
Asgari Değerler Başlangıç Dosya Desteği Seçenekleri
Bir Linux Kitaplığı Sayfası