POSIX, dosyalarla çalışan sistem çağrıları için bazı sisteme özel seçenekler tanımlar. Bazı sistemler bu seçenekleri desteklerken bazıları da desteklemeyebilir. Bu seçenekler kütüphane ile değil, çekirdek tarafından sağlandığından bu seçenekler için GNU C kütüphanesinin kullanımı bunların desteklendiğini garanti etmez; bu tamamen kullandığınız sisteme bağlıdır. Bunlar ayrıca tek bir makine üzerindeki farklı dosya sistemleri arasında bile değişiklik gösterir.
Bu kısımda açıklanan makroları ilgili seçeneğin makinenızde desteklenip desteklenmediğini saptamak için sınayabilirsiniz. Eğer ilgili makro
unistd.h dosyasında tanımlıysa, onun değeri bu özelliğin sistemde desteklenip desteklenmediği bilgisini içerir. (
-1 değeri desteklenmediğini; bundan farklı bir değer ise desteklendiğini belirtir). Eğer makro tanımsızsa, belli dosyalar bu özelliği destekleyebilir de desteklemeyebilir de.
GNU C kütüphanesini destekleyen tüm makineler ayrıca NFS desteğine de sahip olduklarından, tüm dosya sistemlerinde _POSIX_CHOWN_RESTRICTED ve _POSIX_NO_TRUNC destekleri var mı yok mu belirleyen bir genel deyim asla yapılamaz. Bu makro isimleri bu bakımdan GNU C kütüphanesinde makro olarak asla tanımlanmaz.
int _POSIX_CHOWN_RESTRICTED | |
makro
Bu seçenek etkinse,
chown kısıtlanır; bir ayrıcalıksız sürecin bir dosyanın grubunu sadece ya sürecin etkin grup kimliğine ya da sürecin ek grup kimliklerinden birine ayarlamasına izin verilir. Bkz.
Dosya İyeliği.
Bu seçenek etkinse, NAME_MAX'dan daha uzun dosya ismi bileşenleri bir ENAMETOOLONG hatası üretir. Aksi takdirde gereğinden uzun dosya isimleri sadece kırpılır.
unsigned char _POSIX_VDISABLE | |
makro
Bu seçenek sadece uçbirim aygıtlarının dosyaları için anlamlıdır. Seçenek etkinse, özel denetim karakterlerinin işlenmesi tek tek iptal edilebilir. Bkz.
Özel Karakterler.
Bu makrolardan biri tanımsızsa, bu seçeneğin bazı dosyalarda etkili bazılarında etkisiz olduğu anlamına gelir. Bir seçeneğin belli bir dosyada etkin olup olmadığını
pathconf veya
fpathconf işlevi ile öğrenebilirsiniz. Bkz.
pathconf Kullanımı.