למד את הפקודה לינוקס - ioctl

שֵׁם

ioctl - התקן שליטה

תַקצִיר

#include

int ioctl (int int , בקשת int , ...);

תיאור

הפונקציה ioctl מתפעל את הפרמטרים של המכשיר הבסיסי של קבצים מיוחדים. בפרט, תכונות הפעלה רבות של אופי קבצים מיוחדים (למשל מסופים) ניתן לשלוט עם בקשות ioctl . הארגומנט d חייב להיות מתאר קובץ פתוח.

הארגומנט השני הוא קוד בקשה תלוי-התקן. הארגומנט השלישי הוא מצביע לא ממוקד לזיכרון. זה באופן מסורתי char * argp (מן הימים לפני הריק * היה תקף C), ויהיה שם עבור דיון זה.

בקשת ioctl קידדה אותו באם הארגומנט הוא פרמטר פרמטר או out , וגודל הארגומנט מתווך בבתים. פקודות מאקרו והגדרות המשמשות לציון בקשת ioctl ממוקמות בקובץ .

ערך החזרה

בדרך כלל, על הצלחה אפס מוחזר. כמה ioctls להשתמש ערך החזרה כפרמטר פלט ולהחזיר ערך nonnegative על ההצלחה. בשגיאה, -1 מוחזר, ו errno מוגדר כראוי.

שגיאות

EBADF

d אינו מתאר חוקי.

EFAULT

argp מפנה שטח זיכרון שאינו נגיש.

Anotty

d אינו משויך להתקן מיוחד.

Anotty

הבקשה שצוין אינה חלה על סוג האובייקט שהמתאר מתייחס אליו.

EINVAL

הבקשה או argp אינה חוקית.

בהתאם

אין תקן יחיד. ארגומנטים, מחזרות וסמנטיקה של ioctl (2) משתנים בהתאם למנהל ההתקן המדובר (השיחה משמשת כ'תפס הכל 'לפעולה שאינה מתאימה באופן נקי לדגם I / O של זרם ה- Unix ). ראה ioctl_list (2) לרשימה של רבים מן השיחות הידועות ioctl . הקריאה פונקציה ioctl הופיע גרסה 7 AT & T יוניקס.