Uçbirim Kipi İşlevleri
Önceki Uçbirim Kipleri Sonraki
Uçbirim Kipi İşlevleri
int tcgetattr
(int             dosyatanıtıcı,
 struct termios *termios-p)
işlev
Bu işlev dosyatanıtıcı dosya tanıtıcısı ile ilişkili uçbirim aygıtının özniteliklerini öğrenmek için kullanılır. Öznitelikler termios-p ile gösterilen yapı içinde döner.
tcgetattr başarılıysa 0 ile, değilse bir hata oluştuğunu belirtmek üzere -1 ile döner. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
EBADF
dosyatanıtıcı argümanı geçerli bir dosya tanıtıcı değil
ENOTTY
dosyatanıtıcı bir uçbirim ile ilişkili değil
int tcsetattr
(int                   dosyatanıtıcı,
 int                   nezaman,
 const struct termios *termios-p)
işlev
Bu işlev dosyatanıtıcı dosya tanıtıcısı ile ilişkili uçbirim aygıtının özniteliklerini ayarlamak için kullanılır. Yeni öznitelikler termios-p ile gösterilen yapı içinde alınır.
nezaman argümanı kuyruklanmış girdi ve çıktının ne zaman işleme sokulacağını belirtmek için kullanılır. Şu değerlerden birini içerebilir:
TCSANOW
Değişiklik hemen yapılır.
TCSADRAIN
Kuyruktaki tüm çıktı yazıldıktan sonra değişiklik yapılır. Bu seçeneği çıktıyı etkileyen parametreleri değiştirirken kullanmalısınız.
TCSAFLUSH
TCSADRAIN gibidir, ayrıca kuyruktaki tüm girdi iptal edilir.
TCSASOFT
Yukarıdaki seçeneklerin herbirini ekleyebileceğiniz bir seçenek bitidir. Uçbirim donanımının durum değiştirmesinin yasaklanması anlamına gelir. Bir BSD oluşumudur ve sadece BSD sistemleri ile GNU sisteminde desteklenir.
TCSASOFT kullanımı, termios-p ile gösterilen yapının c_cflag üyesine CIGNORE bitinin atanması ile tamamen aynı ayarı yapar. CIGNORE ile ilgili daha fazla bilgi için Denetim Kipleri bölümüne bakınız.
Eğer bu işlev kendi denetim uçbirimi ile ilgili olarak bir artalan sürecinden çağrılmışsa, kendi süreç grubundaki tüm süreçler, sürecin yazmaya çalıştığı yolla bir SIGTTOU sinyali gönderir. Ancak, işlevi çağıran sürecin SIGTTOU sinyallerini engellemesi ya da yoksayması durumunda işlem yine yapılır ama sinyal gönderilmez. Bkz. İş Denetimi.
tcsetattr başarılıysa 0 ile döner. Aksi halde -1 ile döner. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
EBADF
dosyatanıtıcı argümanı geçerli bir dosya tanıtıcı değil
ENOTTY
dosyatanıtıcı bir uçbirimle ilişkili değil
EINVAL
Ya nezaman argümanı geçersiz ya da termios-p argümanındaki veride yanlış birşeyler var.
tcgetattr ve tcsetattr işlevleri uçbirim aygıtını bir dosya tanıtıcısı ile belirttiği halde, öznitelikler dosya tanıtıcısının değil uçbirim aygıtının kendisine aittir. Bu, uçbirim aygıtının özniteliklerindeki değişikliklerin kalıcı olduğu anlamına gelir; eğer başka bir süreç daha sonra bu uçbirimi açarsa, süreç dosya tanıtıcısını açarken sizin özniteliklerde belirttiğiniz değişikliklere ilişkin hiçbir şey yapmadığı halde değişmiş öznitelikleri görecektir.
Benzer şekilde, tek bir sürecin aynı uçbirim için çok sayıda veya yinelenmiş dosya tanıtıcıları varsa, uçbirim özniteliklerindeki değişiklikler tüm dosya tanıtıcılarının girdi ve çıktılarını etkileyecektir. Yani, bir uçbirimi tek karakter okunan, yansılama yapılmayan kipte kullanıyorsanız aynı uçbirimi farklı bir dosya tanıtıcı kullanarak satır tamponlu, yansılanan kipte açamazsınız. Ama uçbirimi önce istediğiniz kipe sokup açabilir işiniz bittikten sonra diğer kipe geçip uçbirimi bırakabilirsiniz.
Önceki Üst Ana Başlık Sonraki
Uçbirim Kipi Veri Türleri Başlangıç Uçbirim Kiplerinin Doğru Dürüst Belirtilmesi
Bir Linux Kitaplığı Sayfası