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

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

#include < nvram.h >

डेटा फ़ील्ड

संरचना hw_device_t सामान्य
nvram_result_t (* get_total_size_in_bytes )(const struct nvram_device *डिवाइस, uint64_t *total_size)
nvram_result_t (* get_available_size_in_bytes )(const struct nvram_device *डिवाइस, uint64_t *available_size)
nvram_result_t (* get_max_space_size_in_bytes )(const struct nvram_device *डिवाइस, uint64_t *max_space_size)
nvram_result_t (* get_max_spaces )(const struct nvram_device *डिवाइस, uint32_t *num_spaces)
nvram_result_t (* get_space_list )(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size)
nvram_result_t (* get_space_size )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, uint64_t *आकार)
nvram_result_t (* get_space_controls )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size)
nvram_result_t (* is_space_locked )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, int *write_lock_enabled, int *read_lock_enabled)
nvram_result_t (* create_space )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size)
nvram_result_t (* delete_space )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size)
nvram_result_t (* disable_create )(const struct nvram_device *डिवाइस)
nvram_result_t (* राइट_स्पेस )(स्थिरांक संरचना nvram_device *डिवाइस, uint32_t सूचकांक, स्थिरांक uint8_t *बफर, uint64_t बफर_आकार, स्थिरांक uint8_t *प्राधिकरण_मूल्य, uint32_t प्राधिकरण_मूल्य_आकार)
nvram_result_t (* read_space )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size, uint8_t *बफर, uint64_t *bytes_read)
nvram_result_t (* Enable_write_lock )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size)
nvram_result_t (* Enable_read_lock )(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size)

विस्तृत विवरण

फ़ाइल nvram.h की पंक्ति 48 पर परिभाषा।

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

struct hw_device_t सामान्य

nvram_device की सामान्य विधियाँ। यह nvram_device का पहला सदस्य होना चाहिए क्योंकि इस संरचना के उपयोगकर्ता उन संदर्भों में hw_device_t को nvram_device पॉइंटर में डालेंगे जहां यह ज्ञात है कि hw_device_t एक nvram_device का संदर्भ देता है।

फ़ाइल nvram.h की पंक्ति 55 पर परिभाषा।

nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t इंडेक्स, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size)

दिए गए सूचकांक, आकार, नियंत्रण और प्राधिकरण मूल्य के साथ एक नया स्थान बनाता है।

डिवाइस - nvram_device उदाहरण। सूचकांक - नए स्थान के लिए एक सूचकांक। सूचकांक कोई भी 32-बिट मान हो सकता है लेकिन उसे पहले से ही किसी मौजूदा स्थान पर निर्दिष्ट नहीं किया जाना चाहिए। size_in_bytes - स्थान के लिए आवंटित बाइट्स की संख्या। control_list - स्थान के लिए लागू करने के लिए नियंत्रणों की एक सरणी। list_size - |control_list| में आइटमों की संख्या। प्राधिकरण_मूल्य - यदि |नियंत्रण_सूची| इसमें NV_CONTROL_READ_AUTHORIZATION और/या NV_CONTROL_WRITE_AUTHORIZATION शामिल है, तो यह पैरामीटर इन नीतियों के लिए प्राधिकरण मूल्य प्रदान करता है (यदि दोनों नियंत्रण सेट हैं तो यह मान दोनों पर लागू होता है)। अन्यथा, इस मान को अनदेखा कर दिया जाता है और यह शून्य हो सकता है। प्राधिकरण_मूल्य_आकार - |प्राधिकरण_मूल्य| में बाइट्स की संख्या।

फ़ाइल nvram.h की पंक्ति 187 पर परिभाषा।

nvram_result_t (* delete_space)(स्थिरांक संरचना nvram_device *डिवाइस, uint32_t सूचकांक, स्थिरांक uint8_t *प्राधिकरण_मूल्य, uint32_t प्राधिकरण_मूल्य_आकार)

एक स्थान हटा देता है.

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. प्राधिकरण_मूल्य - यदि स्थान में NV_CONTROL_WRITE_AUTHORIZATION नीति है, तो यह पैरामीटर प्राधिकरण मूल्य प्रदान करता है। अन्यथा, इस मान को अनदेखा कर दिया जाता है और यह शून्य हो सकता है। प्राधिकरण_मूल्य_आकार - |प्राधिकरण_मूल्य| में बाइट्स की संख्या।

फ़ाइल nvram.h की पंक्ति 207 पर परिभाषा।

nvram_result_t (* disable_create)(const struct nvram_device *device)

अगले पूर्ण डिवाइस रीसेट तक रिक्त स्थान के किसी भी निर्माण को अक्षम कर देता है (जैसा कि फ़ैक्टरी रीसेट में होता है, रिबूट नहीं)। NV_CreateSpace पर बाद की कॉलें NV_RESULT_OPERATION_DISABLED लौटानी चाहिए।

डिवाइस - nvram_device उदाहरण।

फ़ाइल nvram.h की पंक्ति 219 पर परिभाषा।

nvram_result_t (* Enable_read_lock)(स्थिरांक संरचना nvram_device *डिवाइस, uint32_t सूचकांक, स्थिरांक uint8_t *प्राधिकरण_मूल्य, uint32_t प्राधिकरण_मूल्य_आकार)

अपनी नीति के अनुसार दिए गए स्थान के लिए रीड लॉक सक्षम करता है। यदि स्पेस में NV_CONTROL_BOOT_READ_LOCK सेट नहीं है तो इस फ़ंक्शन का कोई प्रभाव नहीं पड़ता है और त्रुटि आ सकती है।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. प्राधिकरण_मूल्य - यदि स्थान में NV_CONTROL_READ_AUTHORIZATION नीति है, तो यह पैरामीटर प्राधिकरण मूल्य प्रदान करता है। (ध्यान दें कि पढ़ने के लिए लॉक करने के लिए लिखने की पहुंच की कोई आवश्यकता नहीं है। रीड लॉक हमेशा अस्थिर होता है।) अन्यथा, इस मान को नजरअंदाज कर दिया जाता है और शून्य हो सकता है। प्राधिकरण_मूल्य_आकार - |प्राधिकरण_मूल्य| में बाइट्स की संख्या।

फ़ाइल nvram.h की पंक्ति 317 पर परिभाषा।

nvram_result_t (* Enable_write_lock)(स्थिरांक संरचना nvram_device *डिवाइस, uint32_t सूचकांक, स्थिरांक uint8_t *प्राधिकरण_मूल्य, uint32_t प्राधिकरण_मूल्य_आकार)

अपनी नीति के अनुसार दिए गए स्थान के लिए राइट लॉक सक्षम करता है। यदि स्पेस में NV_CONTROL_PERSISTENT_WRITE_LOCK या NV_CONTROL_BOOT_WRITE_LOCK सेट नहीं है तो इस फ़ंक्शन का कोई प्रभाव नहीं पड़ता है और एक त्रुटि आ सकती है।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. प्राधिकरण_मूल्य - यदि स्थान में NV_CONTROL_WRITE_AUTHORIZATION नीति है, तो यह पैरामीटर प्राधिकरण मूल्य प्रदान करता है। अन्यथा, इस मान को अनदेखा कर दिया जाता है और यह शून्य हो सकता है। प्राधिकरण_मूल्य_आकार - |प्राधिकरण_मूल्य| में बाइट्स की संख्या।

फ़ाइल nvram.h की पंक्ति 294 पर परिभाषा।

nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size)

एनवीआरएएम में उपलब्ध बाइट्स की असंबद्ध संख्या को आउटपुट करता है। यदि किसी कार्यान्वयन को उपलब्ध आकार का पता नहीं है तो यह एक अनुमान या कुल आकार प्रदान कर सकता है।

डिवाइस - nvram_device उदाहरण। उपलब्ध_आकार - आउटपुट प्राप्त करता है। रिक्त नहीं हो सकता।

फ़ाइल nvram.h की पंक्ति 76 पर परिभाषा।

nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *डिवाइस, uint64_t *max_space_size)

एकल स्थान के लिए आवंटित की जा सकने वाली बाइट्स की अधिकतम संख्या आउटपुट करता है। यह हमेशा कम से कम 32 होगा। यदि कोई कार्यान्वयन अधिकतम आकार को सीमित नहीं करता है तो यह कुल आकार प्रदान कर सकता है।

डिवाइस - nvram_device उदाहरण। max_space_size - आउटपुट प्राप्त करता है। रिक्त नहीं हो सकता।

फ़ाइल nvram.h की पंक्ति 87 पर परिभाषा।

nvram_result_t (* get_max_spaces)(const struct nvram_device *डिवाइस, uint32_t *num_spaces)

आवंटित किए जा सकने वाले रिक्त स्थानों की अधिकतम कुल संख्या आउटपुट करता है। यह हमेशा कम से कम 8 होगा। यदि किसी भी संख्या में रिक्त स्थान समर्थित हैं तो आउटपुट NV_UNLIMITED_SPACES (केवल उपलब्ध NVRAM बाइट्स तक सीमित)।

डिवाइस - nvram_device उदाहरण। num_spaces - आउटपुट प्राप्त करता है। रिक्त नहीं हो सकता।

फ़ाइल nvram.h की पंक्ति 99 पर परिभाषा।

nvram_result_t (* get_space_controls)(const struct nvram_device * डिवाइस, uint32_t इंडेक्स, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size)

किसी दिए गए स्थान से जुड़े नियंत्रणों की सूची आउटपुट करता है।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. max_list_size - |control_list| में आइटमों की संख्या सरणी. control_list - दिए गए |max_list_size| तक नियंत्रणों की सूची प्राप्त करता है। यदि |max_list_size| तो शून्य हो सकता है 0 है। list_size - |control_list| में भरे गए आइटमों की संख्या प्राप्त करता है, या यदि |control_list| है तो उपलब्ध आइटमों की संख्या प्राप्त करता है। शून्य है।

फ़ाइल nvram.h की पंक्ति 144 पर परिभाषा।

nvram_result_t (* get_space_list)(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size)

निर्मित स्थान सूचकांकों की एक सूची आउटपुट करता है। यदि |max_list_size| 0 है, केवल |list_size| आबाद है.

डिवाइस - nvram_device उदाहरण। max_list_size - |space_index_list| में आइटमों की संख्या सरणी. space_index_list - दिए गए |max_list_size| तक बनाए गए स्थानों की सूची प्राप्त करता है। यदि |max_list_size| तो शून्य हो सकता है 0 है। list_size - |space_index_list| में भरे गए आइटमों की संख्या प्राप्त करता है, या यदि |space_index_list| है तो उपलब्ध आइटमों की संख्या प्राप्त करता है। शून्य है।

फ़ाइल nvram.h की पंक्ति 116 पर परिभाषा।

nvram_result_t (* get_space_size)(const struct nvram_device *डिवाइस, uint32_t इंडेक्स, uint64_t *आकार)

किसी दिए गए स्थान का आकार बाइट्स में आउटपुट करता है।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. आकार - आउटपुट प्राप्त करता है। रिक्त नहीं हो सकता।

फ़ाइल nvram.h की पंक्ति 128 पर परिभाषा।

nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *डिवाइस, uint64_t *total_size)

एनवीआरएएम में उपलब्ध बाइट्स की कुल संख्या को आउटपुट करता है। यह हमेशा कम से कम 2048 होगा। यदि किसी कार्यान्वयन को कुल आकार का पता नहीं है तो यह एक अनुमान या 2048 प्रदान कर सकता है।

डिवाइस - nvram_device उदाहरण। total_size - आउटपुट प्राप्त करता है। रिक्त नहीं हो सकता।

फ़ाइल nvram.h की पंक्ति 65 पर परिभाषा।

nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t अनुक्रमणिका, int *write_lock_enabled, int *read_lock_enabled)

आउटपुट कि दिए गए स्थान के लिए ताले सक्षम हैं या नहीं। जब लॉक सक्षम किया जाता है, तो ऑपरेशन अक्षम हो जाता है और उस ऑपरेशन को करने के किसी भी प्रयास का परिणाम NV_RESULT_OPERATION_DISABLED होगा।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. राइट_लॉक_इनेबल्ड - यदि लेखन संचालन वर्तमान में अक्षम है तो इसे गैर-शून्य पर सेट किया जाएगा। read_lock_enabled - यदि रीड ऑपरेशंस वर्तमान में अक्षम हैं तो गैर-शून्य पर सेट किया जाएगा।

फ़ाइल nvram.h की पंक्ति 161 पर परिभाषा।

nvram_result_t (* read_space)(const struct nvram_device * डिवाइस, uint32_t इंडेक्स, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t प्राधिकरण_value_size, uint8_t * बफर, uint64_t *bytes_read)

किसी स्थान की सामग्री पढ़ता है. यदि रिक्त स्थान कभी नहीं लिखा गया है, तो पढ़े गए सभी बाइट्स 0x00 होंगे।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. num_bytes_to_read - पढ़ने के लिए बाइट्स की संख्या; |बफ़र| इतने सारे बाइट्स रखने के लिए पर्याप्त बड़ा होना चाहिए। यदि यह स्थान के आकार से अधिक है, तो संपूर्ण स्थान पढ़ा जाता है। यदि यह स्पेस के आकार से कम है, तो स्पेस में पहले बाइट्स पढ़े जाते हैं। प्राधिकरण_मूल्य - यदि स्थान में NV_CONTROL_READ_AUTHORIZATION नीति है, तो यह पैरामीटर प्राधिकरण मूल्य प्रदान करता है। अन्यथा, इस मान को अनदेखा कर दिया जाता है और यह शून्य हो सकता है। प्राधिकरण_मूल्य_आकार - |प्राधिकरण_मूल्य| में बाइट्स की संख्या। बफ़र - अंतरिक्ष से पढ़ा गया डेटा प्राप्त करता है। कम से कम |num_bytes_to_read| होना चाहिए आकार में बाइट्स. बाइट्स_रीड - पढ़े गए बाइट्स की संख्या। यदि NV_RESULT_SUCCESS लौटाया जाता है तो इसे |num_bytes_to_read| से छोटे पर सेट किया जाएगा। या स्थान का आकार.

फ़ाइल nvram.h की पंक्ति 272 पर परिभाषा।

nvram_result_t (* राइट_स्पेस)(स्थिरांक संरचना nvram_device *डिवाइस, uint32_t सूचकांक, स्थिरांक uint8_t *बफर, uint64_t बफर_आकार, स्थिरांक uint8_t *प्राधिकरण_मूल्य, uint32_t प्राधिकरण_मूल्य_आकार)

किसी स्थान की सामग्री लिखता है. यदि स्थान को NV_CONTROL_WRITE_EXTEND के साथ कॉन्फ़िगर किया गया है तो इनपुट डेटा का उपयोग वर्तमान डेटा को बढ़ाने के लिए किया जाता है।

डिवाइस - nvram_device उदाहरण। सूचकांक - अंतरिक्ष सूचकांक. बफ़र - लिखने के लिए डेटा. बफ़र_आकार - | बफ़र| में बाइट्स की संख्या। यदि यह स्थान के आकार से कम है, तो शेष बाइट्स 0x00 पर सेट कर दी जाएंगी। यदि यह स्थान के आकार से अधिक है, तो NV_RESULT_INVALID_PARAMETER लौटाता है। प्राधिकरण_मूल्य - यदि स्थान में NV_CONTROL_WRITE_AUTHORIZATION नीति है, तो यह पैरामीटर प्राधिकरण मूल्य प्रदान करता है। अन्यथा, इस मान को अनदेखा कर दिया जाता है और यह शून्य हो सकता है। प्राधिकरण_मूल्य_आकार - |प्राधिकरण_मूल्य| में बाइट्स की संख्या।

फ़ाइल nvram.h की पंक्ति 241 पर परिभाषा।


इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
  • हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ nvram.h