Атауы
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 нұсқасында пайда болды.