Jifunze amri ya Linux - ioctl

Jina

kifaa cha kudhibiti ioctl

Sahihi

#include

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

Maelezo

Kazi ya ioctl inachukua vigezo vya kifaa msingi cha faili maalum. Hasa, sifa nyingi za uendeshaji wa faili maalum za tabia (kwa mfano vituo) vinaweza kudhibitiwa na maombi ya ioctl . Majadiliano d lazima kuwa descriptor faili wazi.

Shauri la pili ni msimbo wa ombi la kutegemea kifaa. Hoja ya tatu ni pointer isiyokuwa ya kumbukumbu kwenye kumbukumbu. Ni jadi char * argp (kutoka siku kabla ya kutoweka * ilikuwa halali C), na itaitwa hivyo kwa majadiliano haya.

Ombi la ioctl limehifadhiwa ndani yake ikiwa hoja iko katika parameter au nje ya parameter, na ukubwa wa hoja ya hoja katika byte. Macros na kufafanua kutumika katika kubainisha ombi la ioctl iko kwenye faili .

Rejea Thamani

Kawaida, juu ya sifuri mafanikio yanarudi. Ioctls chache hutumia thamani ya kurudi kama parameter ya pato na kurudi thamani isiyo ya kawaida juu ya mafanikio. Kwenye hitilafu, -1 inarudi , na errno imewekwa ipasavyo.

Hitilafu

EBADF

d si descriptor halali.

EFAULT

hoja inaonyesha eneo lisilowezekana la kumbukumbu.

ENOTTY

d haihusiani na kifaa maalum cha tabia.

ENOTTY

Ombi maalum haifai kwa aina ya kitu ambacho kumbukumbu za descriptor.

EINVAL

Omba au hoja siyo sahihi.

Inafanana na

Hakuna kiwango kimoja. Majadiliano, kurudi, na semanti ya ioctl (2) hutofautiana kulingana na dereva wa kifaa katika swali (simu hiyo hutumiwa kama catch-yote kwa ajili ya shughuli ambazo hazifanyi vizuri mfumo wa I / O wa Unix mkondo). Angalia ioctl_list (2) kwa orodha ya simu nyingi zinazojulikana za ioctl . Simu ya kazi ya ioctl ilionekana katika Toleo la 7 AT & T Unix.