2013-04-02 7 views
5

स्रोत कोड कार्यान्वयन में यह कहता है कि idr_alloc() का उपयोग idr प्रविष्टि आवंटित करने के लिए किया जाता है। मुझे man page नहीं मिला और यह जानना है कि इसका उपयोग क्यों किया जाता है खासकर जब MTD उपकरणों के लिए ड्राइवर लिखते हैं।idr_alloc()

उत्तर

6

idr लाइब्रेरी का उपयोग कर्नेल में ऑब्जेक्ट्स को पूर्णांक आईडी निर्दिष्ट करने और आईडी द्वारा ऑब्जेक्ट देखने के लिए किया जाता है। पूर्ण परिचय के लिए यह LWN net article देखें; मूल विचार आप निम्नलिखित कार्यों है कि है:

  • idr_get_new(struct idr *idp, void *ptr, int *id) - सूचक ptr के लिए एक नई पहचान प्रदान करेगा और के माध्यम से id

  • void *idr_find(struct idr *idp, int id) इसे वापस - सूचक id

  • करने के लिए इसी वापसी
  • void idr_remove(struct idr *idp, int id) - के लिए id

प्रविष्टि स्पष्ट

यह कहीं भी एक छोटा पूर्णांक आईडी उपयोगी है जो कर्नेल ऑब्जेक्ट को मैप करता है उपयोगी है - उदाहरण के लिए मामूली संख्या या अन्य इंडेक्स जो उपयोगकर्ता स्थान पर लौटाए जाते हैं।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^