Girdi Kipleri
Önceki Uçbirim Kipleri Sonraki
Girdi Kipleri
Bu bölümde girdi işleme ile ilgili düşük seviyeli özellikleri denetlemeye yarayan uçbirim özniteliklerinden bahsedilmiştir: eşlik hatalarının yakalanması, geçici kesme sinyalleri, akış denetimi, <RET> ve <LFD> karakterleri.
Bu seçeneklerin hepsi struct termios yapısının c_iflag üyesindeki bitlerdir. Üye bir tamsayıdır ve bu seçenekleri &, | ve ^ işleçleri ile değiştirebilirsiniz. c_iflag üyesinin değerini toptan değiştirmeyi denemeyin; ilgisiz seçeneklere dokunmadan sadece sizi ilgilendiren seçenekleri değiştirin (bkz. Uçbirim Kiplerinin Doğru Dürüst Belirtilmesi).
tcflag_t INPCK
makro
Bu bit varsa, girdi eşlik sınaması etkindir. Yoksa, girdideki eşlik hataları ile ilgili hiçbir şey yapılmaz; karakterler basitçe uygulamaya aktarılır.
Girdi işlemede eşik sınaması, ilgili uçbirim donanımında eşlik üretiminin ve eşlik saptanmasının etkin olup olmamasından bağımsızdır; bkz. Denetim Kipleri. Örneğin, INPCK girdi kipi seçeneğini temizleyip, PARENB denetim kipi seçeneğini etkileştirip girdideki eşlik hatalarını yoksayarken çıktıda hala eşlik üretebilirsniz.
Bu bit varsa, bir eşlik hatası saptanırken IGNPAR veya PARMRK bitlerinin varlığı veya yokluğu önem kazanır. Bu bitlerin hiçbiri yoksa, eşlik hatası olan bir bayt uygulamaya '\0' karakteri olarak aktarılır.
tcflag_t IGNPAR
makro
Bu bit varsa, tertip veya eşlik hataları olan baytlar yoksayılır. Bu seçenek INPCK seçeneği de etkinse işe yarar.
tcflag_t PARMRK
makro
Bu bit varsa, tertip veya eşlik hataları olan baytlar yazılıma aktarılırken imlenir. Bu bit INPCK'ın varlığı ve IGNPAR'ın yokluğu durumunda anlamlıdır.
Hatalı baytlar, baytlardan önce gönderilen iki baytla 377 ve 0 baytları ile imlenir. Dolaysıyla, yazılım, hatalı baytı uçbirimden alırken aslında üç bayt okur.
Bir geçerli bayt 0377 değerine sahipse ve ISTRIP seçeneği etkinse yazılım bu baytı bir eşlik hatasının imi olarak ele alabilir. Bunu önlemek, yani 0377 karakterinin kendisi olarak ele alınmasını sağlamak için bu bayt yazılıma 2 bayt olarak, 0377 0377 olarak aktarılmalıdır.
tcflag_t ISTRIP
makro
Bu bit varsa, geçerli girdi baytları yedi bit uzunlukta kabul edilir; aksi takdirde, hepsi sekiz bit kabul edilir.
tcflag_t IGNBRK
makro
Bu bit varsa, geçici kesme (break) durumları yosayılır.
Geçici kesme durumu, eşzamansız seri veri iletişimi bağlamında tek bir bayttan daha uzun sıfır değerli bitler olarak tanınır.
tcflag_t BRKINT
makro
Bu bit varsa ve IGNBRK yoksa bir geçici kesme durumu saptandığında uçbirim girdi ve çıktı kuyruklarını temizlenir ve uçbirimle ilişkili önalan süreç grubuna bir SIGINT sinyali gönderilir.
Ne BRKINT ne de IGNBRK varsa ve bir geçici kesme durumu saptandığında eğer PARMRK yoksa uygulamaya tek bir '\0' karakteri, PARMRK varsa üç karakterlik bir dizi, '\377', '\0', '\0' gönderilir.
tcflag_t IGNCR
makro
Bu bit varsa girdideki satırbaşı ('\r') karakterleri iptal edilir. Satırbaşı karakterinin iptal edilmesi <RET> tuşuna basıldığında hem satırbaşı hem de satırsonu karakteri gönderen uçbirimlerde yararlıdır.
tcflag_t ICRNL
makro
Bu bit varsa ve IGNCR yoksa, girdiden alınan satırbaşı ('\r') karakterleri uygulamaya satırsonu ('\n') karakterleri olarak aktarılır.
tcflag_t INLCR
makro
Bu bit varsa, girdiden alınan satırsonu ('\n') karakterleri uygulamaya satırbaşı ('\r') karakterleri olarak aktarılır.
tcflag_t IXOFF
makro
Bu bit varsa, girdi üzerinde başlat/durdur denetimi etkinleştirilir. Başka bir deyişle, girdi uygulamanın okuyabileceğinden daha hızlı geliyorsa bilgisayar gerektiği zaman STOP ve START karakterleri gönderir. Bu fikir, gerçek uçbirim donanımının iletişimi STOP karakteri geldiğinde beklemeye alması, START karakterinde ise iletişime kaldığı yerden devam ettirmesi esasına dayanır. Bkz. Akış Denetimi için Özel Karakterler.
tcflag_t IXON
makro
Bu bit varsa, çıktı üzerinde başlat/durdur denetimi etkinleştirilir. Başka bir deyişle, bilgisayar bir karakteri aldığında çıktıyı bir START karakteri alıncaya kadar bekletir. Bu durumda uygulamaya STOP ve START karakterleri kesinlikle aktarılmaz. Bu bit yoksa, STOP ve START karakterleri sıradan karakterler olarak okunabilir. Bkz. Akış Denetimi için Özel Karakterler.
tcflag_t IXANY
makro
Bu bit varsa, STOP karakteri ile bekletilen çıktıyı herhangi bir girdi karakteri başlatır. Aksi takdirde bekletilen çıktılama sadece START karakteri ile sürdürülür.
Bu bir BSD oluşumudur; sadece BSD sistemlerinde ve GNU sisteminde desteklenir.
tcflag_t IMAXBEL
makro
Bu bit varsa, uçbirim girdi tamponu dolduğunda uçbirime çanı çaldırmak için bir BELL karakteri (007) gönderilir.
Bu bir BSD oluşumudur.
Önceki Üst Ana Başlık Sonraki
Uçbirim Kiplerinin Doğru Dürüst Belirtilmesi Başlangıç Çıktı Kipleri
Bir Linux Kitaplığı Sayfası