Μάθετε την εντολή Linux - ioctl

Ονομα

ioctl - συσκευή ελέγχου

Σύνοψη

#include

int ioctl (int d , int αίτηση , ...);

Περιγραφή

Η λειτουργία ioctl χειρίζεται τις παραμέτρους της συσκευής των ειδικών αρχείων. Συγκεκριμένα, πολλά λειτουργικά χαρακτηριστικά των ειδικών αρχείων χαρακτήρων (π.χ. τερματικά) μπορούν να ελέγχονται με αιτήσεις ioctl . Το όρισμα d πρέπει να είναι ένας ανοικτός περιγραφέας αρχείου.

Το δεύτερο επιχείρημα είναι ένας κωδικός αιτήματος που εξαρτάται από τη συσκευή. Το τρίτο επιχείρημα είναι ένας άγνωστος δείκτης στη μνήμη. Είναι παραδοσιακά char * argp (από τις ημέρες πριν κενό * ήταν έγκυρο C), και θα ονομάζεται έτσι για αυτή τη συζήτηση.

Ένα αίτημα ioctl έχει κωδικοποιήσει σε αυτό το αν το όρισμα είναι παράμετρος ή παράμετρος out και το μέγεθος του argument argp σε byte. Οι μακροεντολές και οι ορισμοί που χρησιμοποιούνται για τον προσδιορισμό ενός αιτήματος ioctl βρίσκονται στο αρχείο .

Τιμή επιστροφής

Συνήθως, στην επιτυχία επιστρέφεται το μηδέν. Μερικά ioctls χρησιμοποιούν την τιμή επιστροφής ως παράμετρο εξόδου και επιστρέφουν μια μη αρνητική τιμή στην επιτυχία. Κατά το σφάλμα, επιστρέφεται η τιμή -1 και το λάθος τίθεται σωστά.

Λάθη

EBADF

d δεν είναι έγκυρος περιγραφέας.

EFAULT

Το argp αναφέρεται σε μια μη προσβάσιμη περιοχή μνήμης.

ENOTTY

Το d δεν συσχετίζεται με μια ειδική συσκευή χαρακτήρων.

ENOTTY

Το συγκεκριμένο αίτημα δεν ισχύει για το είδος του αντικειμένου που αναφέρει ο περιγραφέας d .

EINVAL

Το αίτημα ή το argp δεν είναι έγκυρο.

Σύμφωνα με

Δεν υπάρχει ενιαίο πρότυπο. Τα επιχειρήματα, οι επιστροφές και η σημασιολογία του ioctl (2) ποικίλλουν ανάλογα με το συγκεκριμένο πρόγραμμα οδήγησης της συσκευής (η κλήση χρησιμοποιείται ως ένα catch-all για λειτουργίες που δεν ταιριάζουν καθαρά στο μοντέλο εισόδου / εξόδου Unix ). Δείτε το ioctl_list (2) για μια λίστα με πολλές από τις γνωστές κλήσεις ioctl . Η κλήση λειτουργίας ioctl εμφανίστηκε στην έκδοση 7 AT & T Unix.