NAZWA¶
ioctl - sterowanie urządzeniem
SKŁADNIA¶
#include <sys/ioctl.h>
 
int ioctl(int d, int request, ...);
OPIS¶
 Uwaga! To tłumaczenie może być nieaktualne!
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 
wejściowym czy 
wyjściowym
  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.
 
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)
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
  Tłumaczenia Manuali i 
może nie być aktualne. W razie
  zauważenia różnic między powyższym opisem a
  rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
  zapoznanie się z oryginalną (angielską) wersją strony
  podręcznika za pomocą polecenia:
  
  - man --locale=C 2 ioctl
 
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
  znaleźć pod adresem
  
http://sourceforge.net/projects/manpages-pl/.