ioctl - नियंत्रण डिवाइस
सार
#शामिल
int ioctl (int घ , int निवेदन , …);
विवरण
ioctl फ़ंक्शन विशेष फ़ाइलों के अंतर्निहित डिवाइस पैरामीटर का उपयोग करता है। विशेष रूप से, चरित्र विशेष फ़ाइलों (जैसे टर्मिनलों) की कई ऑपरेटिंग विशेषताओं को नियंत्रित किया जा सकता हैioctl अनुरोध। बहस घ एक खुली फ़ाइल डिस्क्रिप्टर होना चाहिए।
दूसरा तर्क एक डिवाइस-निर्भर अनुरोध कोड है। तीसरा तर्क स्मृति के लिए एक untyped सूचक है। यह परंपरागत रूप से हैचार * argp (पहले दिन सेशून्य * वैध सी था), और इस चर्चा के लिए नामित किया जाएगा।
एक ioctl निवेदन इसमें एन्कोड किया गया है कि तर्क एक है या नहीं में पैरामीटर या बाहर पैरामीटर, और तर्क का आकार argp बाइट्स में मैक्रोज़ और परिभाषित करता है जो एक ioctl निर्दिष्ट करने में उपयोग किया जाता है निवेदन फ़ाइल में स्थित हैं
प्रतिलाभ की मात्रा
आमतौर पर, सफलता पर शून्य वापस आ जाता है। कुछ ioctls आउटपुट पैरामीटर के रूप में रिटर्न वैल्यू का उपयोग करते हैं और सफलता पर एक गैर-ऋणात्मक मान वापस करते हैं। त्रुटि पर, -1 वापस आ गया है, और errno उचित रूप से सेट है।
त्रुटियाँ
EBADF
घ एक वैध वर्णनकर्ता नहीं है।
EFAULT
argp एक अपर्याप्त स्मृति क्षेत्र का संदर्भ देता है।
ENOTTY
घ एक चरित्र विशेष डिवाइस से जुड़ा नहीं है।
ENOTTY
निर्दिष्ट अनुरोध उस ऑब्जेक्ट पर लागू नहीं होता है जो वर्णनकर्ता है घ संदर्भ।
EINVAL
निवेदन या argp मान्य नहीं है।
के अनुरूप करना
कोई एकल मानक नहीं। तर्क, रिटर्न, और अर्थशास्त्रioctl(2) प्रश्न में डिवाइस चालक के हिसाब से बदलता है (कॉल का संचालन उन सभी परिचालनों के लिए किया जाता है जो यूनिक्स स्ट्रीम I / O मॉडल को साफ़ रूप से फिट नहीं करते हैं)।ioctl फंक्शन कॉल संस्करण 7 एटी एंड टी यूनिक्स में दिखाई दिया।




