імя
Прылада кіравання - 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.