İki Girdi Tarzı: Kurallı veya Kuralsız
Önceki XVII. Oylum - Düşük Seviyeli Uçbirim Arayüzü Sonraki
İki Girdi Tarzı: Kurallı veya Kuralsız
POSIX sistemleri iki temel girdi kipini destekler: kurallı ve kuralsız.
Kurallı girdi işleme kipinde girdi, satırsonu ('\n'), EOF veya EOL karakterleri ile sonlandırılmış satırlar halinde işlenir. Kullanıcı tarafından satırın tamamı yazılana kadar hiçbir girdi okunmaz. Girdi alındıktan sonra, kaç bayt istendiğine bakılmaksızın read (Girdi ve Çıktı İlkelleri) işlevi tek satırlık bir girdi ile döner.
Kurallı girdi kipinde, girdi düzenleme oluşumlarını işletim sistemi sağlar: o anki metin satırı içindeki bazı karakterler metin düzenleme işlemlerini gerçekleştiren ERASE ve KILL gibi özel karakterler olarak yorumlanır. Bkz. Girdi Düzenleme Karakterleri.
_POSIX_MAX_CANON ve MAX_CANON sabitleri, kurallı kipte tek bir satırda bulunabilecek karakterlerin sayısının üst sınırını belirleyen parametrelerdir. Bkz. Dosya Sistemi Kapasite Sınırları. Satır uzunluğunun en azından MAX_INPUT karakterlik olacağını düşünebilirsiniz, ancak satır daha uzun olabilir ve hatta uzunluğu özdevimli olarak değişebilir.
Kuralsız girdi işleme kipinde karakterler satırlar halinde gruplanmaz ve ERASE veya KILL gibi metin düzenleme karakterleri dikkate alınmaz. Girdinin baytlar halinde okunduğu kuralsız girdi kipi MIN ve TIME ayarları ile denetlenir. Bkz. Kuralsız Girdi.
Çoğu uygulama kurallı girdi kipini kullanır, çünkü bu kip kullanıcıya metni satır satır düzenleyebilme imkanı verir. Uygulama tek karakterlik komutlar kabul edecekse ve kendi metin düzenleme oluşumları olacaksa kuralsız kip tercih edilir.
Kurallı ve kuralsız girdi seçimi struct termios yapısının c_lflag üyesinde ICANON seçeneğinin kullanılmasına bağlıdır. Bkz. Yerel Kipler.
Önceki Üst Ana Başlık Sonraki
G/Ç Kuyrukları Başlangıç Uçbirim Kipleri
Bir Linux Kitaplığı Sayfası