ຮຽນຮູ້ Linux Command - ioctl

ຊື່

ioctl-control device

Synopsis

#include

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

ລາຍລະອຽດ

ຟັງຊັນ ioctl manipulates ຂໍ້ກໍານົດຂອງອຸປະກອນທີ່ຕິດພັນຂອງໄຟລ໌ພິເສດ. ໂດຍສະເພາະ, ລັກສະນະການດໍາເນີນງານຈໍານວນຫຼາຍຂອງໄຟລ໌ທີ່ມີລັກສະນະຂອງລັກສະນະ (ເຊັ່ນ: ປາຍທາງ) ສາມາດຄວບຄຸມດ້ວຍການຮ້ອງຂໍ ioctl . ການໂຕ້ຖຽງ d ຕ້ອງເປັນຕົວລະອຽດຂອງໄຟລ໌ເປີດ.

ການໂຕ້ຖຽງທີສອງແມ່ນລະຫັດການຮ້ອງຂໍທີ່ຂຶ້ນກັບອຸປະກອນ. ການໂຕ້ຖຽງທີສາມແມ່ນຕົວຊີ້ບໍ່ຖືກຕ້ອງກັບຄວາມຊົງຈໍາ. ມັນເປັນປະເພນີ char * argp (ຈາກມື້ກ່ອນ void * ຖືກຕ້ອງ C), ແລະຈະມີຊື່ດັ່ງນັ້ນສໍາລັບການສົນທະນານີ້.

ຄໍາຮ້ອງຂໍ ioctl ໄດ້ຖືກເຂົ້າລະຫັດໃນມັນວ່າການໂຕ້ຖຽງແມ່ນ ຢູ່ໃນ ພາລາມິເຕີຫຼື ອອກ ພາລາ, ແລະຂະຫນາດຂອງການໂຕ້ຖຽງ argp ໃນ bytes. Macros ແລະກໍານົດໃຊ້ໃນການກໍານົດ ຄໍາຮ້ອງຂໍ ioctl ແມ່ນຢູ່ໃນໄຟລ໌ .

Return Value

ໂດຍປົກກະຕິ, ກ່ຽວກັບຜົນສໍາເລັດສູນຈະຖືກສົ່ງຄືນ. ioctls ຫນ້ອຍໃຊ້ມູນຄ່າຜົນຕອບແທນເປັນພາລາມິເຕີຜົນຜະລິດແລະສົ່ງຄືນມູນຄ່າທີ່ບໍ່ແມ່ນປະໂຫຍດຕໍ່ຜົນສໍາເລັດ. ໃນຂໍ້ຜິດພາດ, -1 ແມ່ນຖືກສົ່ງກັບ, ແລະ errno ຖືກກໍານົດຢ່າງເຫມາະສົມ.

ຂໍ້ຜິດພາດ

EBADF

d ບໍ່ແມ່ນຄໍາອະທິບາຍທີ່ຖືກຕ້ອງ.

EFAULT

argp ອ້າງອິງພື້ນທີ່ຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ສາມາດເຂົ້າເຖິງໄດ້.

ENOTTY

d ບໍ່ໄດ້ກ່ຽວຂ້ອງກັບອຸປະກອນພິເສດຂອງຕົວອັກສອນ.

ENOTTY

ຄໍາຮ້ອງຂໍທີ່ກໍານົດໄວ້ບໍ່ໄດ້ນໍາໃຊ້ກັບປະເພດຂອງວັດຖຸທີ່ຕົວຊີ້ບອກ descriptor d .

EINVAL

ຄໍາຮ້ອງຂໍ ຫຼື ຄໍາ ເວົ້າ ບໍ່ຖືກຕ້ອງ.

ສອດຄ່ອງກັບ

ບໍ່ມີມາດຕະຖານດຽວ. ການໂຕ້ຖຽງ, ຜົນຕອບແທນແລະຂໍ້ມູນກ່ຽວກັບ ioctl (2) ແມ່ນແຕກຕ່າງກັນໄປຕາມຕົວຂັບຂອງອຸປະກອນທີ່ຖືກກ່າວຫາ (ການເອີ້ນໃຊ້ເປັນການຈັບທັງຫມົດສໍາລັບການປະຕິບັດງານທີ່ບໍ່ເຫມາະສົມກັບຮູບແບບ I / O ຂອງ Unix stream). ເບິ່ງ ioctl_list (2) ສໍາລັບບັນຊີລາຍຊື່ຂອງການໂທຫາ ioctl ຫຼາຍທີ່ຮູ້ຈັກ. ການໂທປະຕິບັດງານ ioctl ປາກົດຢູ່ໃນ Version 7 AT & T Unix.