यह डेवलपर पर है जो इस ioctl
को प्रबंधित करने वाले ड्राइवर को विकसित करता है, जो सफलता पर वापस लौटने का अनुरोध करता है। आमतौर पर, 0
का मतलब है कि सब ठीक हो गया है। इस सम्मेलन का उपयोग लंबे समय तक यूनिक्स सिस्टम में किया गया है।
वैसे भी, इस विशेष फ़ाइल वर्णनकर्ता के संबंध में अपना दस्तावेज़ पढ़ें और जानें कि इस फ़ाइल डिस्क्रिप्टर रिटर्न द्वारा कौन से विशेष सिस्टम कॉल को नियंत्रित किया जाता है।
दूसरे प्रश्न के लिए, =
ऑपरेटर असाइनमेंट के बाद चर का एक नया मान देता है। इसलिए, वापसी मूल्य (ioctl
के लिए) का मूल्यांकन का मूल्यांकन से true
पर किया जाता है यदि असाइनमेंट ऑपरेटर द्वारा गैर-शून्य मान वापस किया जाता है।
अधिकांश तरीकों, गैर-शून्य नकारात्मक मानों का अर्थ दोषपूर्ण निष्पादन है। कुछ मामलों में, यूनिक्स सिस्टम read
या write
सिस्टम कॉल के रूप में सकारात्मक मान लौटाता है। read
और write
सिस्टम के मामले में उनके सकारात्मक रिटर्न मान का अर्थ है बाइट्स की संख्या जिसे पढ़ा या लिखा गया था।
यह संभव है ioctl
वापसी सकारात्मक मूल्य मतलब हो सकता है कि कि निष्पादन सामान्य रूप से चला गया है करने के लिए और हम कुछ राज्य इस विशेष फ़ाइल वर्णनकर्ता के लिए खड़ा है जो कुछ भी लौटा देते हैं। एक बार फिर, अपने दस्तावेज़ों को ध्यान से पढ़ें।
तो, नीचे दिए गए कोड में:
if (error = ioctl(get_card_fd(card_ref), CARD_SETVERSION, &context)) {
return EXIT_FAILURE;
}
गैर शून्य मान true
लिए मूल्यांकन किया जाता है और हम कोड की कि सशर्त ब्लॉक दर्ज करें।
1) नहीं। इसे पढ़ें: http://man7.org/linux/man-pages/man2/ioctl.2.html 2) "ioctl' मान 0 से अलग होने पर" सत्य "का मूल्यांकन करता है – AntonH
@ एंटोन एच आपको जवाब के रूप में पोस्ट करना चाहिए :) –
@ जेससरामोस मुझे चाहिए, लेकिन चूंकि यह इतना छोटा/त्वरित उत्तर है, मुझे लगता है कि यह एक उत्तर की बर्बादी है। मुझे इतनी प्रतिष्ठा याद आती है: डी – AntonH