Linux Command - ioctl туралы біліңіз

Атауы

ioctl - басқару құрылғысы

Синопсис

#include

int ioctl (int d , int сұрау , ...);

Сипаттама

Ioctl функциясы арнайы файлдардың негізгі құрылғы параметрлерін басқарады. Атап айтқанда, кейіпкерлердің арнайы операциялық сипаттамалары (мысалы, терминалдар) ioctl сұрауларымен басқарылуы мүмкін. Аргумент d ашық файлдық дескриптор болуы керек.

Екінші аргумент - құрылғыға тәуелді сұрау коды. Үшінші аргумент - жадыға бөлінбейтін көрсеткіш. Бұл әдетте дәстүр бойынша char * argp (жарамдылық күшінен бұрын күндерден бастап C) және бұл пікірталасқа атау берілетін болады.

Ioctl сұрауы аргумент параметрде немесе параметрде болатындығын және аргументтің өлшемін байттарда аргументін кодтаған . Макростар және ioctl сұрауын көрсету кезінде пайдаланылатын анықтамалар файлында орналасқан.

Қайтару мәні

Әдетте табысқа нөл қайтарылады. Бірнеше ioctls қайтару мәнін шығыс параметрі ретінде пайдаланады және табысқа қатысты неотрицательные мәнін қайтарады. Қате бойынша -1 қайтарылады және errno дұрыс орнатылады.

Қателер

EBADF

d - жарамды дескриптор.

EFAULT

argp қол жетімсіз жад аймағына сілтеме жасайды.

ENOTTY

d таңбаның арнайы құрылғысымен байланысты емес.

ENOTTY

Көрсетілген сұрау сипаттаушы d сілтеме жасайтын нысан түріне қатысты болмайды.

EINVAL

Сұрау немесе argp жарамсыз.

Сәйкес келетін

Бірыңғай стандарт жоқ. Ioctl дәлелдері, қайтарымы және семантикасы (2) осы құрылғы драйверіне байланысты өзгереді (қоңырау Unix ағымының I / O моделіне таза түрде кірмейтін операциялар үшін тұтас ретінде пайдаланылады). Ioctl_list (2) бөлімін белгілі ioctl қоңырауларының тізімін қараңыз. Ioctl функционалды шақыру AT & T Unix 7 нұсқасында пайда болды.