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