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