Bir Uçbirimsi Çiftinin Açılması
Önceki Uçbirimsiler Sonraki
Bir Uçbirimsi Çiftinin Açılması
Bu işlevler BSD'den alınmıştır, ayrı bir kütüphane olarak libutil kütüphanesinde bulunur ve pty.h başlık dosyasında bildirilmişlerdir.
int openpty
(int            *ana,
 int            *yardımcı,
 char           *isim,
 struct termios *termp,
 struct winsize *winp)
işlev
Bu işlev bir uçbirimsi çiftini ayırdıktan sonra açar ve ana uçbirimsinin dosya tanıtıcısını *ana göstericisinde, yardımcı uçbitimsinin dosya tanıtıcısını *yardımcı göstericisinde döndürür. isim argümanı bir boş gösterici değilse, yardımcı uçbirimsi aygıtının dosya ismi *isim içinde saklanır. termp bir boş gösterici değilse, yardımcı uçbirimsinin uçbirim öznitelikleri termp ile gösterilen yapıdan ayarlanır (bkz. Uçbirim Kipleri). Benzer şekilde, winp bir boş gösterici değilse, uçbirimsinin ekran boyutları winp ile gösterilen yapıdan ayarlanır.
İşlevin normal dönüş değeri sıfırdır. Bir hata oluşması durumunda -1 ile döner. Aşağıdaki errno hata durumları bu işlev için tanımlanmıştır:
ENOENT
Serbest uçbirimsi çifti yok
Uyarı
openpty işlevinin isim argümanının NULL olması çok tehlikelidir, çünkü işlev isim dizgesinin taşmasına karşı korunmamıştır. Yardımcı uçbirimsi aygıtının ismini bulmak için işlevdeki argüman yerine ttyname işlevini openpty tarafından döndürülen *yardımcı dosya tanıtıcısı ile kullanmalısınız.
int forkpty
(int            *ana,
 char           *isim,
 struct termios *termp,
 struct winsize *winp)
işlev
Bu işlev openpty işlevine benzer, ek olarak yeni bir süreç çatallar ve yeni açılan yardımcı uçbirimsi aygıtını alt sürecin denetim uçbirimi yapar.
İşlem başarılı olursa hem çağıran hem de alt süreç işlevin döndüğünü görür fakat işlev farklı değerlerle döner: alt süreçte 0 değeriyle dönerken, çağıran sürece alt sürecin süreç kimliğini döndürür.
Uçbirimsi çifti ayrılamamışsa ya da alt süreç oluşturulamamışsa işlev başarısız olmuş demektir, bu durumda işlev çağrıldığı sürece -1 değerini döndürür.
Uyarı
forkpty işlevinde de openpty gibi isim argümanı sorunu vardır.
Önceki Üst Ana Başlık Sonraki
Uçbirimsilerin Ayrılması Başlangıç XVIII. Oylum - Syslog
Bir Linux Kitaplığı Sayfası