Dosya Erişim Kipleri
Önceki Dosya Durum Seçenekleri Sonraki
Dosya Erişim Kipleri
Erişim kipleri bir dosya tanıtıcısına okuma izni, yazma izni veya her iki izni vermek için kullanılır (GNU sisteminde bunların hiçbirine de izin vermemek mümkün olduğu gibi, bir dosyanın bir çalıştırılabilir olarak çalıştırılmasına izin vermek de mümkündür). Erişim kipleri dosya açılırken belirlenir ve bir daha değiştirilemez.
int O_RDONLY
makro
Dosya okuma erişimi için açılır.
int O_WRONLY
makro
Dosya yazma erişimi için açılır.
int O_RDWR
makro
Dosya hem okuma hem de yazma erişimi için açılır.
GNU sisteminde (başka sistemlerde böyle değildir), O_RDONLY ve O_WRONLY bit seviyesinde VEYA'lanabilen bağımsız değerlerdir, yani O_RDWR aslında O_RDONLY|O_WRONLY'dir. Sıfır erişim kipine de izin verilmiştir; bu kipte dosyaya girdi ve çıktı için bir işleme izin verlimez ama fchmod gibi başka işlemlere izin verilir. GNU sisteminde, "salt-okunur" ve "salt-yazılır" yanlış isimlendirme olarak kabul edildiğinden fcntl.h dosyasında dosya erişim kipleri için ek isimler tanımlanmıştır. Bu isimler GNU'ya özel kod yazarken tercih edilir. Ama POSIX.1 uyumuluğu istenen yazılımlarda aşağıdaki isimler yerine yukarıdaki POSIX.1 isimleri kullanılmalıdır.
int O_READ
makro
Dosya okuma erişimi için açılır. Yalnız GNU'da tanımlıdır. O_RDONLY ile aynıdır.
int O_WRITE
makro
Dosya yazma erişimi için açılır. Yalnız GNU'da tanımlıdır. O_WRONLY ile aynıdır.
int O_EXEC
makro
Dosya çalıştırmak için açılır. Yalnız GNU'da tanımlıdır.
Dosya erişim kipini fcntl ile öğrenmek isterseniz, dosya durum seçeneklerinden erişim kipi bitlerini elde etmeniz gerekir. GNU sisteminde O_READ ve O_WRITE bitlerini seçenekler arasından kolayca elde edebilmenize karşın, POSIX.1 sistemlerde okuma ve yazma erişim kipleri ayrı ayrı elde edilebilen bitsel seçenekler değildir. Dosya erişim kiplerine taşınabilir anlamda erişmek için en iyi yöntem O_ACCMODE makrosunu kullanmaktır.
int O_ACCMODE
makro
Bu makro dosya erişim kiplerinin dosya durum seçeneklerinden bit seviyesinde VE'lenebilen bir değer olarak elde edilmesini sağlar. Erişim kipleri O_RDONLY, O_WRONLY veya O_RDWR olabilir. (GNU sisteminde sıfır da olabilir ve asla O_EXEC bitini içermez.)
Önceki Üst Ana Başlık Sonraki
Dosya Durum Seçenekleri Başlangıç Açış Anı Seçenekleri
Bir Linux Kitaplığı Sayfası