Provided by: manpages-pl-dev_20060617-1_all bug

NAZWA

       ioctl - sterowanie urządzeniem

SKŁADNIA

       #include <sys/ioctl.h>

       int ioctl(int d, int request, ...);

OPIS

       Funkcja  ioctl  manipuluje  na  podległych jej parametrach urządzeń, do
       których dostęp odbywa się poprzez pliki specjalne. W szczególności,  za
       pomocą  żądań  ioctl  można  kontrolować wiele właściwości operacyjnych
       specjalnych plików znakowych  (np.  terminali).  Argument  d  musi  być
       otwartym deskryptorem pliku.

       Drugi  argument  jest  zależnym  od  urządzenia kodem polecenia. Trzeci
       argument  jest  pozbawionym  typu  wskaźnikiem  do   obszaru   pamięci,
       tradycyjnie  char  *argp  (pochodzi  z  okresu  zanim  void * stało się
       poprawne w C) i tak będzie nazywany w niniejszej dyskusji.

       Ioctl request zawiera w sobie zakodowaną informację czy  argument  jest
       parametrem wejciowym czy wyjciowym oraz rozmiar argp tego argumentu w
       bajtach. Makra i definicje, używane do przekazywania request do  ioctl,
       znajdują się w pliku <sys/ioctl.h>.

WARTOŚĆ ZWRACANA

       Zazwyczaj,  po  pomyślnym  zakończeniu  zwracane  jest  zero.  Niektóre
       ioctl-e  używają  zwracanej  wartości  jako  parametru  wyjściowego   i
       zwracają  wówczas pewną wartość nieujemną.  Po błędzie zwracane jest -1
       i odpowiednio ustawiane errno.

BŁĘDY

       EBADF  d nie jest prawidłowym deskryptorem.

       EFAULT argp wskazuje na niedostępny obszar pamięci.

       ENOTTY d nie jest związane z urządzeniem znakowym.

       ENOTTY Podane  żądanie  nie  ma  zastosowania  dla  obiektu,  na  który
              wskazuje deskryptor d.

       EINVAL request lub argp są nieprawidłowe.

CONFORMING TO

       Brak  jednego  standardu.   Argumenty,  zwracane  wartości  i semantyka
       ioctl(2) różnią się w  zależności  od  sterownika  urządzenia,  którego
       dotyczą  (wywołanie  jest  używane jako uniwersalne dla operacji, które
       nie dają się ładnie dopasować do uniksowego modelu strumieni we/wy).  W
       ioctl_list(2)  znajduje się lista wielu znanych wywołań ioctl.  Funkcja
       ioctl pojawiła się w wersji 7 AT&T UNIX.

ZOBACZ TAKŻE

       execve(2), fcntl(2), ioctl_list(2), mt(4), sd(4), tty(4)