next up previous contents
Next: Komunikacja międzyprocesowa w Linuksie Up: The Linux Programmer's Guide Previous: Wywołania systemowe   Contents

'szwajcarski wojskowy scyzoryk' - ioctl

ioctl odpowiedzialny jest za kontrolę wejścia/wyjścia oraz używany jest do manipulacji urządzeniami znakowymi poprzez deskryptory plików. Funkcja ioctl ma postać
ioctl(unsigned int fd, unsigned int żądanie, unsigned long argument).
Zwracaną wartością jest -1 jeżeli wystąpił błąd lub wartość >= 0 jeżeli powiodło się (tak jak w innych wywołaniach systemowych). Jądro obsługuje dwa rodzaje plików: specjalne i normalne. Specjalne pliki znajdują się głównie w /dev i /proc. Różnią się tym od zwykłych, że są one interfejsem do sterownika, a nie zwykłym plikiem zawierającym tekst lub dane binarne. Taka jest filozofia Unixa - możliwość użycia normalnych operacji odczytu/zapisu na każdym pliku. Jednakże gdy musisz zrobić coś więcej z plikiem specjalnym lub zwykłym możesz to zrobić przy pomocy ... oczywiście - ioctl. Częściej będziesz potrzebował ioctl do operacji na plikach specjalnych niż na zwykłych, ale warto pamiętać że używanie ioctl na zwykłych plikach jest możliwe.

<




2000-03-01


Poltronic