Özel Karakterler
Önceki Uçbirim Kipleri Sonraki
Özel Karakterler
Kurallı girdi kipinde uçbirim sürücüsü çeşitli denetim işlevlerini yerine getiren bir miktar özel karakter tanır. Bunlar ERASE (<DEL> tuşu) karakterinin de dahil olduğu metin düzenleme karakterleridir. SIGINT sinyalini gönderen INTR karakteri (normalde C-c) ve sinyal gönderen diğer karakterler hem kurallı hem de kuralsız kipte kullanılabilirler. Bu karakterlerin hepsi bu bölümde açıklanmıştır.
Kullanılacak karakterler struct termios yapısının c_cc üyesinde belirtilir. Bu üye bir dizidir; her eleman belli bir rol için bir karakter belirtir. Her eleman için elemanın indisini belirten bir sembolik sabit tanımlanmıştır. Örneğin, VINTR sembolü INTR karakterini belirten elemanın indisidir; termios.c_cc[VINTR] içinde '=' karakteri saklanmışsa INTR karakteri '=' karakteri olur.
Bazı sistemlerde, özel bir karakterin işlevini, bu rol için _POSIX_VDISABLE değerini belirterek iptal edebilirsiniz. Bu değer herhangi bir karakter kodunun karşılığı değildir. Kullandığınız işletim sisteminin _POSIX_VDISABLE desteği olup olmadığının nasıl belirtildiği ile ilgili bilgileri Dosya Desteği Seçenekleri bölümünde bulabilirsiniz.
Girdi Düzenleme Karakterleri
Bu özel karakterler sadece kurallı girdi kipinde etkindir. Bkz. İki Girdi Tarzı: Kurallı veya Kuralsız.
int VEOF
makro
Özel denetim karakterleri dizisinin dosyasonu (EOF) karakterini içeren elemanının indisidir. Karakter termios.c_cc[VEOF] içindedir.
Dosyasonu karakteri sadece kurallı girdi kipinde tanınır. Tıpkı satırsonu karakteri gibi bir satırı sonlandırmasına rağmen dosyasonu karakteri dosyadaki son satırın ilk ve son karakteridir. read ile yapılan okumada dosyasonunu belirrtmek üzere dönen karakter sayısı sıfır olur, dosyasonu karakterinin kendisi iptal edilir.
Genellikle dosyasonu karakteri C-d ile elde edilir.
int VEOL
makro
Özel denetim karakterleri dizisinin satırsonu (EOL) karakterini içeren elemanının indisidir. Karakter termios.c_cc[VEOL] içindedir.
EOL karakteri sadece kurallı girdi kipinde tanınır. Tıpkı satırsonu karakteri gibi bir satırı sonlandırmakta kullanılır. EOL karakteri iptal edilmez, girdi satırındaki son karakter olarak okunur.
Satır sonunda <RET> tuşuna basarak EOL karakterini kullanmaya ihtiyaç yoktur. ICRNL seçeneğinin etkin olması yeterlidir. Aslında bu öntanımlı sistem işlerindendir.
int VEOL2
makro
Özel denetim karakterleri dizisinin ikincil satırsonu (EOL2) karakterini içeren elemanının indisidir. Karakter termios.c_cc[VEOL2] içindedir.
EOL2 karakteri EOL karakter (yukarıda) gibidir, ama farklı bir karakterdir. Bu bir satırı sonlandırmak için iki karakter gerektiği durumda belirtilebilir. Birini EOL diğerini EOL2 karakteri olarak belirtebilirsiniz.
EOL2 karakteri bir BSD oluşumudur; sadece BSD sistemleri ile GNU sisteminde vardır.
int VERASE
makro
Özel denetim karakterleri dizisinin silme (ERASE) karakterini içeren elemanının indisidir. Karakter termios.c_cc[VERASE] içindedir.
ERASE karakteri sadece kurallı girdi kipinde tanınır. Kullanıcı silme karakterini tuşladığında önceki karakter silinir. (Uçbirim çokbaytlı karakterler üretiyorsa girdide birden fazla bayt silinebilir.) Bu karakter satırın başına kadar silme yapan karakter olarak kullanılamaz. Karakterin kendisi girdide iptal edilir.
Genellikle ERASE karakteri <DEL> ile elde edilir.
int VWERASE
makro
Özel denetim karakterleri dizisinin sözcük silme (WERASE) karakterini içeren elemanının indisidir. Karakter termios.c_cc[VWERASE] içindedir.
WERASE karakteri sadece kurallı girdi kipinde tanınır. Kullanıcı bu karakteri tuşladığında önceki sözcük ve sonraki boşluklar silinir; sözcükten önceki boşluklara dokunulmaz.
"Sözcük" (word) tanımı ALTWERASE kipine bağımlıdır. Bkz. Yerel Kipler.
ALTWERASE kipi etkin değilse bir sözcük boşluk ve sekmeleri içeremez.
ALTWERASE kipi etkinse, bir sözcük harfleri rakamlar ve altçizgi karakterlerinden oluşabilir ve isteğe bağlı olarak harf, rakam veya altçizgi olmayan bir karakterle bitebilir.
Genellikle WERASE karakteri C-w ile elde edilir.
Bu bir BSD oluşumudur.
int VKILL
makro
Özel denetim karakterleri dizisinin KILL karakterini içeren elemanının indisidir. Karakter termios.c_cc[VKILL] içindedir.
KILL (satır silme) karakteri sadece kurallı girdi kipinde tanınır. Kullanıcı KILL karakterini tuşladığında etkin satırın tamamı silinir. Bu arada KILL karakterinin kendisi de silinir.
Genellikle KILL karakteri C-u ile elde edilir.
int VREPRINT
makro
Özel denetim karakterleri dizisinin REPRINT karakterini içeren elemanının indisidir. Karakter termios.c_cc[VREPRINT] içindedir.
REPRINT karakteri sadece kurallı girdi kipinde tanınır. O anki girdi satırının tekrarlanmasını sağlar. Bu karakteri tuşlarken bir yandan da eşzamansız çıktı geliyorsa bu karakter yazdığınız satırı temiz olarak yeniden görmenizi sağlar.
Genellikle REPRINT karakteri C-r ile elde edilir.
Bu bir BSD oluşumudur.
Sinyal Gönderen Karakterler
Bu özel karakterler hem kurallı hem de kuralsız girdi kipinde etkin olabilir ancak sadece ISIG seçeneği etkinse bu mümkündür (Bkz. Yerel Kipler).
int VINTR
makro
Özel denetim karakterleri dizisinin INTR karakterini içeren elemanının indisidir. Karakter termios.c_cc[VINTR] içindedir.
INTR (interrupt - kesme) karakteri, uçbirimle ilişkili önalan işindeki tüm süreçler için SIGINT sinyalinin yayınlanmasına sebep olur. Bu arada INTR karakterinin kendisi silinir. Sinyaller ile ilgili daha fazla bilgi için Sinyal İşleme bölümüne bakınız.
Genellikle INTR karakteri C-c ile elde edilir.
int VQUIT
makro
Özel denetim karakterleri dizisinin QUIT karakterini içeren elemanının indisidir. Karakter termios.c_cc[VQUIT] içindedir.
QUIT karakteri, uçbirimle ilişkili önalan işindeki tüm süreçler için SIGQUIT sinyalinin yayınlanmasına sebep olur. Bu arada QUIT karakterinin kendisi silinir. Sinyaller ile ilgili daha fazla bilgi için Sinyal İşleme bölümüne bakınız.
Genellikle QUIT karakteri C-\ ile elde edilir.
int VSUSP
makro
Özel denetim karakterleri dizisinin SUSP karakterini içeren elemanının indisidir. Karakter termios.c_cc[VSUSP] içindedir.
SUSP (suspend - bekletme, askıya alma, süreci artalana atma) karakteri sadece gerçekleme iş denetimini destekliyorsa tanınır. SUSP karakteri, uçbirimle ilişkili önalan işindeki tüm süreçler için SIGTSTP sinyalinin yayınlanmasına sebep olur. Bu arada SUSP karakterinin kendisi silinir. Sinyaller ile ilgili daha fazla bilgi için Sinyal İşleme bölümüne bakınız.
Genellikle SUSP karakteri C-z ile elde edilir.
Bazı uygulamalar SUSP karakterinin normal yorumunu iptal eder. Sizin yazılımınız da bunu yapıyorsa, kullanıcının işi durdurabilmesini sağlayacak mekanizmaları sağlamanız gerekir. Kullanıcı bu mekanizmayı devreye soktuğunda yazılım sadece kendi sürecine değil, süreç grubundaki tüm süreçlere SIGTSTP sinyalini göndermelidir (Bkz. Başka Bir Sürece Sinyal Gönderme).
int VDSUSP
makro
Özel denetim karakterleri dizisinin DSUSP karakterini içeren elemanının indisidir. Karakter termios.c_cc[VDSUSP] içindedir.
DSUSP (suspend - bekletme, askıya alma, süreci artalana atma) karakteri sadece gerçekleme iş denetimini destekliyorsa tanınır. SUSP karakteri gibi SIGTSTP sinyalini gönderir ama bunu doğrudan göndererek yapmaz, yazılım onu bir girdi olarak okumaya çalışıyorsa bu gerçekleşir. Bütün sistemlerin iş denetimleri DSUSP karakterini desteklemez; sadece BSD uyumlu sistemler ile GNU sisteminde desteklenir.
Sinyaller ile ilgili daha fazla bilgi için Sinyal İşleme bölümüne bakınız.
Genellikle DSUSP karakteri C-y ile elde edilir.
Akış Denetimi için Özel Karakterler
Bu karakterler hem kurallı hem de kuralsız girdi kipinde etkili olabilir, fakat kullanımları IXON ve IXOFF seçenekleri ile denetlenir (Bkz. Girdi Kipleri).
int VSTART
makro
Özel denetim karakterleri dizisinin START karakterini içeren elemanının indisidir. Karakter termios.c_cc[VSTART] içindedir.
START karakteri IXON ve IXOFF girdi kiplerini desteklemek için kullanılır. IXON varsa, START karakteri alındığında çıktı bekleme durumundan çıkarılır ve START karakterinin kendisi iptal edilir. IXANY varsa, herhangi bir karakter alındığında çıktı bekleme durumundan çıkarılır. IXOFF varsa, START karakterini sistem ayrıca uçbirime de iletebilir.
Genellikle START karakteri C-q ile elde edilir. Bu değeri değiştirmeniz mümkün değildir, çünkü donanım ne belirttiğinize bakmaksızın C-q kullanacağınızı varsayacakır.
int VSTOP
makro
Özel denetim karakterleri dizisinin STOP karakterini içeren elemanının indisidir. Karakter termios.c_cc[VSTOP] içindedir.
STOP karakteri IXON ve IXOFF girdi kiplerini desteklemek için kullanılır. IXON varsa, bir STOP karakterinin alınması çıktının bekletilmesine sebep olur ve STOP karakteri iptal edilir. IXOFF varsa, sistem girdi kuyruğunun taşmasını önlemek için STOP karakterini uçbirime de iletir .
Genellikle STOP karakteri C-s ile elde edilir. Bu değeri değiştirmeniz mümkün değildir, çünkü donanım ne belirttiğinize bakmaksızın C-s kullanacağınızı varsayacakır.
Diğer Özel Karakterler
Bu özel karakterler sadece BSD sistemlerinde ve GNU sisteminde mevcuttur.
int VLNEXT
makro
Özel denetim karakterleri dizisinin LNEXT karakterini içeren elemanının indisidir. Karakter termios.c_cc[VLNEXT] içindedir.
LNEXT karakteri hem kurallı hem de kuralsız girdi kipinde sadece IEXTEN seçeneği etkin olduğunda anlamlıdır. Kullanıcının bu karakterden sonra tuşladığı özel bir karakterin kıymeti harbiyesini yokeder. Karakter normalde bazı düzenleme işlemlerini yapma ya da sinyal gönderme yeteneğine sahip olsa bile sıradan bir karakter olarak okunur. Bu Emacs'ın C-q komutuna eşdeğerdir ve "LNEXT" "literal next" kısaltmasıdır.
Genellikle LNEXT karakteri C-v ile elde edilir.
int VDISCARD
makro
Özel denetim karakterleri dizisinin DISCARD karakterini içeren elemanının indisidir. Karakter termios.c_cc[VDISCARD] içindedir.
DISCARD karakteri hem kurallı hem de kuralsız girdi kipinde sadece IEXTEN seçeneği etkin olduğunda anlamlıdır. Çıktı iptal seçeneğinin durumunu değiştirir. Seçenek varsa, tüm yazılım çıktısı iptal edilir. Seçeneğin varlığı ayrıca o an çıktı tamponundaki tüm çıktının iptal edilmesine sebep olur. Herhangi bir başka karakterin tuşlanması seçeneği sıfırlar.
int VSTATUS
makro
Özel denetim karakterleri dizisinin STATUS karakterini içeren elemanının indisidir. Karakter termios.c_cc[VSTATUS] içindedir.
STATUS karakterinin etkisi, çalışan süreç hakkında o anki durum iletisinin basılmasıdır.
STATUS karakteri sadece kurallı girdi kipinde ve sadece NOKERNINFO yoksa tanınır.
Önceki Üst Ana Başlık Sonraki
Hat Hızı Başlangıç Kuralsız Girdi
Bir Linux Kitaplığı Sayfası