isim
ioctl - kontrol cihazı
özet
#include
int ioctl (int d , int istek , ...);
Açıklama
Ioctl işlevi, özel dosyaların altta yatan cihaz parametrelerini işler. Özellikle, karakter özel dosyalarının (örneğin terminaller) birçok çalışma özelliği ioctl istekleri ile kontrol edilebilir. Argüman d açık bir dosya tanıtıcı olmalıdır.
İkinci argüman, cihaza bağlı bir istek kodudur. Üçüncü argüman hafızaya yazılmamış bir işaretçidir. Geleneksel olarak char * argp ( void * ' den önceki günlerden itibaren geçerli C) ve bu tartışma için isimlendirilecek.
Bir ioctl isteği , argümanın bir parametrede mi yoksa out parametresinde mi olduğu ve argüman argp'inin byte cinsinden büyüklüğünde kodlanmıştır. Bir ioctl isteğinin belirlenmesinde kullanılan makrolar ve tanımlar,
Geri dönüş değeri
Genellikle, başarıda sıfır verilir. Birkaç ioctls, dönüş değerini bir çıkış parametresi olarak kullanır ve başarıda negatif olmayan bir değer döndürür. Hata durumunda -1 döndürülür ve errno uygun şekilde ayarlanır.
Hatalar
EBADF
d geçerli bir tanımlayıcı değil.
EFAULT'tur
argp erişilemeyen bir bellek alanına başvurur .
ENOTTY
d karakter özel bir cihazla ilişkilendirilmez.
ENOTTY
Belirtilen istek, tanımlayıcının başvurduğu nesne türü için geçerli değildir.
EINVAL
İstek veya argp geçerli değil.
Uygun
Tek bir standart yok. Ioctl (2) öğesinin argümanları, döndürmeleri ve semantikleri, söz konusu aygıt sürücüsüne göre değişir (çağrı, Unix akış G / Ç modeline düzgün şekilde sığmayan işlemler için bir yakalama olarak kullanılır). Bilinen ioctl çağrılarının bir listesi için ioctl_list (2) 'ye bakın. Ioctl fonksiyon çağrısı Versiyon 7 AT & T Unix'te ortaya çıktı.