मान लीजिए कि मैंने निम्नलिखित को परिभाषित किया है।उपयोगकर्ता स्थान से एक compat ioctl कैसे कॉल किया जाता है? क्या कोई कृपया कुछ उदाहरण प्रदान कर सकता है?
#define MY_IOCTL_CMD1 _IOR(MAGIC_NUMBER, 0x01, arg1)
#define MY_IOCTL_CMD2 _IOW(MAGIC_NUMBER, 0x02, arg2)
#ifdef CONFIG_COMPAT
#define MY_COMPAT_IOCTL_CMD1 _IOR(MAGIC_NUMBER, 0x01, compat_arg1)
#define MY_COMPAT_IOCTL_CMD2 _IOW(MAGIC_NUMBER, 0x02, compat_arg2)
#endif
अब जब हम उपयोगकर्ता अंतरिक्ष से ioctl करते हैं, हम आम तौर पर
ioctl(fd, MY_IOCTL_CMD1, &arg1)
क्यू कार्य करें: हम वास्तव में MY_COMPAT_IOCTL_CMD1
अनुरोध के रूप में के साथ एक ioctl है की जरूरत है?
devide code में मेरे पास हैंडलर निम्नानुसार परिभाषित हैं। ioctl: device_ioctl
#ifdef CONFIG_COMPAT
compat_ioctl: device_compat_ioctl
#endif
किसी को भी इस के आसपास कुछ स्पष्टीकरण प्रदान सकते हैं?