2011-05-03 23 views
17

के बीच ioctl संचार का उपयोग करना मैं ioctl का उपयोग कर अपने कर्नेल मॉड्यूल के साथ संवाद करना चाहता हूं। मैंने कर्नेल मॉड्यूल के लिए दो सी प्रोग्राम एक और उपयोगकर्ता मोड के लिए अन्य लिखा है।कर्नेल मोड और उपयोगकर्ता मोड

त्रुटि: जबकि कर्नेल मॉड्यूल संकलन मैं इस त्रुटि हो रही है अज्ञात क्षेत्र 'ioctl' इस लाइन पर प्रारंभकर्ता

में निर्दिष्ट:

struct file_operations Fops = { 
.read = device_read, 
.write = device_write, 
.ioctl = device_ioctl, ------> at this point error is occuring. 
.open = device_open, 
.release = device_release, 
}; 

किसी भी विचार क्यों यह हो रहा है।

धन्यवाद

उत्तर

23

नए कर्नेल में, पसंदीदा तरीका .unlocked_ioctl या .compat_ioctl क्षेत्रों का उपयोग करने के लिए है। सादा .ioctlstruct file_operations से हटा दिया गया था। This discussion स्पष्ट हो सकता है कि क्या हुआ और उससे कैसे निपटें।

+0

इससे मदद मिली। धन्यवाद। – Dalchand

4

नए कर्नेल में, के स्थान पर .unlocked_ioctl का उपयोग करें। यह बढ़िया काम करता है।