Alamin ang Linux Command - ioctl

Pangalan

ioctl - control device

Buod

# isama ang

int ioctl (int d , int request , ...);

Paglalarawan

Ang pag-andar ng ioctl ay manipulahin ang mga nakapailalim na parameter ng aparato ng mga espesyal na file. Sa partikular, maraming mga katangian ng mga katangian ng mga espesyal na file (halimbawa, mga terminal) ay maaaring kontrolado ng mga kahilingan ng ioctl . Ang argument d ay dapat na isang bukas na file descriptor.

Ang pangalawang argument ay isang code na humihiling ng aparato na umaasa sa aparato. Ang pangatlong argumento ay isang hindi naipasok pointer sa memorya. Ito ay ayon sa kaugalian na char * argp (mula sa mga araw bago ang walang bisa * ay wastong C), at ito ay pinangalanan para sa talakayang ito.

Naka-encode ang isang kahilingan ng ioctl dito kung ang argument ay nasa parameter o out parameter, at ang laki ng argument argp sa byte. Ang mga Macro at tumutukoy sa ginamit na tumutukoy sa isang kahilingan ng ioctl ay matatagpuan sa file na .

Ibalik ang Halaga

Karaniwan, sa tagumpay zero ay ibinalik. Ang ilang mga ioctls ay gumagamit ng halaga ng pagbabalik bilang parameter ng output at nagbabalik ng di-negatibong halaga sa tagumpay. Sa error, -1 ay ibinalik, at errno ay nakatakda nang angkop.

Mga Mali

EBADF

d ay hindi isang wastong tagapaglarawan.

EFAULT

Ang mga argp ay tumutukoy sa isang hindi maa-access na lugar ng memorya.

Nagtatangkilik

d ay hindi nauugnay sa isang espesyal na aparato ng character.

Nagtatangkilik

Ang tinukoy na kahilingan ay hindi nalalapat sa uri ng bagay na tinukoy ng mga tagapaglarawan ng d .

EINVAL

Ang kahilingan o argp ay hindi wasto.

Sumasang-ayon ka

Walang isang pamantayan. Ang mga pangangatwiran, pagbabalik, at mga semantika ng ioctl (2) ay nag-iiba ayon sa driver ng device na pinag-uusapan (ang tawag ay ginagamit bilang isang catch-lahat para sa mga operasyon na hindi malinis na magkasya sa I / O modelo ng Unix stream). Tingnan ang ioctl_list (2) para sa isang listahan ng marami sa mga kilalang tawag sa ioctl . Ang tawag na function ng ioctl ay lumabas sa Bersyon 7 AT & T Unix.