Linux Komutunu Öğrenin - ioctl

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, dosyasında bulunur.

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ı.