Вывучаюць каманды Linux - IOCTL

імя

Прылада кіравання - IOCTL

канспект

#include

INT IOCTL (цэлае d, запыт INT, ...);

апісанне

Функцыя IOCTL маніпулюе базавыя параметры прылад спецыяльных файлаў. У прыватнасці, многія працоўныя характарыстыкі спецыяльных знакавых файлаў (напрыклад тэрміналаў) можна кіраваць з запытамі IOCTL. Аргумент d павінен быць дэскрыптарам адкрытага файла.

Другі аргумент ўяўляе сабой прылада, у залежнасці ад запыту кода. Трэці аргумент нетипизированная паказальнік на памяць. Гэта традыцыйна сімвал * argp (ад дзён да анулююцца * быў сапраўдны С), і будзе так найменных для абмеркавання гэтага пытання.

Запыт IOCTL мае закадаваныя ў ёй ці аргумент з'яўляецца параметрам або параметрам па-за, і памер аргументу argp ў байтах. Макрасы і вызначэння , якія выкарыстоўваюцца пры вызначэнні запыту IOCTL знаходзяцца ў файле .

вяртаецца значэнне

Звычайна ў выпадку поспеху вяртаецца нуль. Некалькі IOCTLs выкарыстоўваць вяртаецца значэнне ў якасці выхаднога параметра і вяртае неадмоўнае значэнне на поспех. У выпадку памылкі вяртаецца -1, а ERRNO усталёўваецца адпаведным чынам .

памылкі

EBADF

d не зьяўляецца карэктным дэскрыптарам.

EFAULT

argp спасылаецца на недаступную вобласць памяці.

ENOTTY

д не звязаны з адмысловым Знакавыя прыладай.

ENOTTY

Ўказаны запыт не адносіцца да тыпу аб'екта , што дэскрыптар г спасылкі.

EINVAL

Запыт або argp не з'яўляецца сапраўдным.

у адпаведнасці з нормамі

Няма адзінага стандарту. Аргументы, якiя вяртаюцца значэння і семантыка IOCTL (2) вар'іруюцца ў залежнасці ад драйвера прылады (выклік, выкарыстоўваюцца ў якасці ўлову-усё для аперацый , якія ня чыста прыстасоўваюць Unix патоку мадэль I / O). См ioctl_list (2) спіс многіх вядомых выклікаў IOCTL. Выклік функцыі IOCTL з'явіўся ў версіі 7 AT & T Unix.