संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

hw_module_t संरचना संदर्भ

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 से शुरू होने चाहिए और उसके बाद मॉड्यूल विशिष्ट जानकारी होनी चाहिए।

फ़ाइल हार्डवेयर की लाइन 86 पर परिभाषा। h।

फील्ड दस्तावेज़ीकरण

कास्ट चार* लेखक

मॉड्यूल के लेखक/मालिक/कार्यान्वयनकर्ता

फ़ाइल हार्डवेयर की लाइन 139 पर परिभाषा। h।

शून्य* डीएसओ

मॉड्यूल का डीएसओ

फ़ाइल हार्डवेयर की लाइन 145 पर परिभाषा। h।

uint16_t hal_api_version

अस्थायी स्रोत कोड संगतता के लिए version_major/version_minor परिभाषित यहां दिए गए हैं। उन्हें अगले संस्करण में हटा दिया जाएगा। सभी क्लाइंट को नए संस्करण स्वरूप में कनवर्ट करना होगा। एचएएल मॉड्यूल इंटरफेस का एपीआई संस्करण। यह hw_module_t , hw_module_methods_t , और hw_device_t संरचनाओं और परिभाषाओं के संस्करण के लिए है।

HAL इंटरफ़ेस इस क्षेत्र का स्वामी है। मॉड्यूल उपयोगकर्ता/कार्यान्वयन संस्करण जानकारी के लिए इस मान पर निर्भर नहीं होना चाहिए।

वर्तमान में, 0 ही एकमात्र मान्य मान है।

फ़ाइल हार्डवेयर की लाइन 129 पर परिभाषा। h।

कास्ट चार* आईडी

मॉड्यूल का पहचानकर्ता

फ़ाइल हार्डवेयर की लाइन 133 पर परिभाषा। h।

संरचना hw_module_methods_t * तरीके

मॉड्यूल तरीके

फ़ाइल हार्डवेयर की लाइन 142 पर परिभाषा। h।

uint16_t मॉड्यूल_एपीआई_संस्करण

कार्यान्वित मॉड्यूल का एपीआई संस्करण। मॉड्यूल इंटरफ़ेस बदलने पर संस्करण को अपडेट करने के लिए मॉड्यूल स्वामी जिम्मेदार होता है।

व्युत्पन्न मॉड्यूल जैसे कि ग्रैलोक और ऑडियो इस क्षेत्र के स्वामी हैं और इसका प्रबंधन करते हैं। मॉड्यूल उपयोगकर्ता को यह तय करने के लिए संस्करण फ़ील्ड की व्याख्या करनी चाहिए कि आपूर्ति किए गए मॉड्यूल कार्यान्वयन के साथ इंटर-ऑपरेट करना है या नहीं। उदाहरण के लिए, सरफेसफ्लिंगर यह सुनिश्चित करने के लिए जिम्मेदार है कि यह जानता है कि ग्रैलोक-मॉड्यूल एपीआई के विभिन्न संस्करणों को कैसे प्रबंधित किया जाए, और ऑडियोफ्लिंगर को यह पता होना चाहिए कि ऑडियो-मॉड्यूल एपीआई के लिए ऐसा कैसे करना है।

मॉड्यूल एपीआई संस्करण में एक प्रमुख और एक मामूली घटक शामिल होना चाहिए। उदाहरण के लिए, संस्करण 1.0 को 0x0100 के रूप में दर्शाया जा सकता है। इस प्रारूप का तात्पर्य है कि संस्करण 0x0100-0x01ff सभी एपीआई-संगत हैं।

भविष्य में, libhardware एक hw_get_module_version() (या समकक्ष) फ़ंक्शन को उजागर करेगा जो न्यूनतम/अधिकतम समर्थित संस्करणों को तर्क के रूप में लेगा और आपूर्ति की गई सीमा के बाहर के संस्करणों के साथ मॉड्यूल को अस्वीकार करने में सक्षम होगा।

फ़ाइल हार्डवेयर की लाइन 111 पर परिभाषा। h।

कास्ट चार* नाम

इस मॉड्यूल का नाम

फ़ाइल हार्डवेयर की लाइन 136 पर परिभाषा। h।

uint32_t आरक्षित [32-7]

128 बाइट्स तक पैडिंग, भविष्य में उपयोग के लिए आरक्षित

फ़ाइल हार्डवेयर की लाइन 151 पर परिभाषा। h।

uint32_t टैग

टैग को HARDWARE_MODULE_TAG . में प्रारंभ किया जाना चाहिए

फ़ाइल हार्डवेयर की लाइन 88 पर परिभाषा। h।


इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था:
  • हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ हार्डवेयर