hw_module_t संरचना संदर्भ
#include < hardware.h >
डेटा फ़ील्ड | |
uint32_t | टैग |
uint16_t | मॉड्यूल_एपीआई_संस्करण |
uint16_t | hal_api_version |
स्थिरांक चार* | पहचान |
स्थिरांक चार* | नाम |
स्थिरांक चार* | लेखक |
संरचना hw_module_methods_t * | तरीकों |
खालीपन * | डीएसओ |
uint32_t | आरक्षित [32-7] |
विस्तृत विवरण
प्रत्येक हार्डवेयर मॉड्यूल में HAL_MODULE_INFO_SYM नाम की एक डेटा संरचना होनी चाहिए और इस डेटा संरचना के फ़ील्ड hw_module_t से शुरू होने चाहिए और उसके बाद मॉड्यूल विशिष्ट जानकारी होनी चाहिए।
फ़ाइल हार्डवेयर.एच की पंक्ति 86 पर परिभाषा।
फ़ील्ड दस्तावेज़ीकरण
स्थिरांक चार* लेखक |
मॉड्यूल के लेखक/मालिक/कार्यान्वयनकर्ता
फ़ाइल हार्डवेयर.एच की पंक्ति 139 पर परिभाषा।
शून्य* डीएसओ |
मॉड्यूल का डीएसओ
फ़ाइल हार्डवेयर.एच की पंक्ति 145 पर परिभाषा।
uint16_t hal_api_version |
अस्थायी स्रोत कोड संगतता के लिए संस्करण_मेजर/वर्जन_माइनर परिभाषाएँ यहां प्रदान की गई हैं। उन्हें अगले संस्करण में हटा दिया जाएगा. सभी क्लाइंट को नए संस्करण प्रारूप में कनवर्ट करना होगा। एचएएल मॉड्यूल इंटरफ़ेस का एपीआई संस्करण। इसका मतलब hw_module_t , hw_module_methods_t , और hw_device_t संरचनाओं और परिभाषाओं का संस्करण बनाना है।
एचएएल इंटरफ़ेस इस क्षेत्र का मालिक है। मॉड्यूल उपयोगकर्ताओं/कार्यान्वयन को संस्करण जानकारी के लिए इस मान पर भरोसा नहीं करना चाहिए।
वर्तमान में, 0 ही एकमात्र वैध मान है।
फ़ाइल हार्डवेयर.एच की पंक्ति 129 पर परिभाषा।
स्थिरांक चार* आईडी |
मॉड्यूल का पहचानकर्ता
फ़ाइल हार्डवेयर.एच की पंक्ति 133 पर परिभाषा।
संरचना hw_module_methods_t * विधियाँ |
मॉड्यूल विधियाँ
फ़ाइल हार्डवेयर.एच की पंक्ति 142 पर परिभाषा।
uint16_t मॉड्यूल_api_version |
कार्यान्वित मॉड्यूल का एपीआई संस्करण। जब मॉड्यूल इंटरफ़ेस बदल जाता है तो मॉड्यूल स्वामी संस्करण को अपडेट करने के लिए ज़िम्मेदार होता है।
ग्रैलोक और ऑडियो जैसे व्युत्पन्न मॉड्यूल इस क्षेत्र के स्वामी हैं और इसका प्रबंधन करते हैं। मॉड्यूल उपयोगकर्ता को यह तय करने के लिए संस्करण फ़ील्ड की व्याख्या करनी चाहिए कि आपूर्ति किए गए मॉड्यूल कार्यान्वयन के साथ अंतर-संचालन करना है या नहीं। उदाहरण के लिए, सरफेसफ्लिंगर यह सुनिश्चित करने के लिए जिम्मेदार है कि वह जानता है कि ग्रालोक-मॉड्यूल एपीआई के विभिन्न संस्करणों को कैसे प्रबंधित किया जाए, और ऑडियोफ्लिंगर को यह पता होना चाहिए कि ऑडियो-मॉड्यूल एपीआई के लिए भी ऐसा ही कैसे करना है।
मॉड्यूल एपीआई संस्करण में एक प्रमुख और एक छोटा घटक शामिल होना चाहिए। उदाहरण के लिए, संस्करण 1.0 को 0x0100 के रूप में दर्शाया जा सकता है। इस प्रारूप का तात्पर्य है कि संस्करण 0x0100-0x01ff सभी एपीआई-संगत हैं।
भविष्य में, लिबहार्डवेयर एक hw_get_module_version() (या समतुल्य) फ़ंक्शन को उजागर करेगा जो न्यूनतम/अधिकतम समर्थित संस्करणों को तर्क के रूप में लेगा और आपूर्ति सीमा के बाहर के संस्करणों वाले मॉड्यूल को अस्वीकार करने में सक्षम होगा।
फ़ाइल हार्डवेयर.एच की पंक्ति 111 पर परिभाषा।
स्थिरांक चार* नाम |
इस मॉड्यूल का नाम
फ़ाइल हार्डवेयर.एच की पंक्ति 136 पर परिभाषा।
uint32_t आरक्षित[32-7] |
128 बाइट्स तक पैडिंग, भविष्य में उपयोग के लिए आरक्षित
फ़ाइल हार्डवेयर.एच की पंक्ति 151 पर परिभाषा।
uint32_t टैग |
टैग को HARDWARE_MODULE_TAG से प्रारंभ किया जाना चाहिए
फ़ाइल हार्डवेयर.एच की पंक्ति 88 पर परिभाषा।
इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
- हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ हार्डवेयर.एच