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

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

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

#include < nvram.h >

डेटा फ़ील्ड

संरचना hw_device_t सामान्य
nvram_result_t (* get_total_size_in_bytes )(const struct nvram_device *device, uint64_t *total_size)
nvram_result_t (* get_available_size_in_bytes )(const struct nvram_device *device, uint64_t *available_size)
nvram_result_t (* get_max_space_size_in_bytes )(const struct nvram_device *device, uint64_t *max_space_size)
nvram_result_t (* get_max_spaces )(const struct nvram_device *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 *device, uint32_t index, uint64_t *size)
nvram_result_t (* get_space_controls )(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size)
nvram_result_t (* is_space_locked )(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled)
nvram_result_t (* create_space )(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t Authority_value_size)
nvram_result_t (* delete_space )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_tauthorization_value_size)
nvram_result_t (* अक्षम_क्रिएट ) (कॉन्स्ट स्ट्रक्चर nvram_device * डिवाइस)
nvram_result_t (* write_space )(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t Authority_value_size)
nvram_result_t (* read_space )(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t Authority_value_size, uint8_t *buffer, uint64_t *bytes_read)
nvram_result_t (* enable_write_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authority_value_size)
nvram_result_t (* enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authority_value_size)

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

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

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

संरचना 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 index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t ऑथराइज़ेशन_साइज़)

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

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

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

nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authority_value_size)

एक स्थान हटाता है।

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

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

nvram_result_t (* अक्षम_ बनाएँ) (स्थिर संरचना nvram_device * डिवाइस)

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

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

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

nvram_result_t (* enable_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authority_value_size)

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

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

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

nvram_result_t (* enable_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t Authority_value_size)

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

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

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

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

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

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

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

nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size)

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

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

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

nvram_result_t (* get_max_spaces) (कॉन्स्ट स्ट्रक्चर nvram_device * डिवाइस, uint32_t * num_spaces)

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

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

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

nvram_result_t (* get_space_controls) (कॉन्स्ट स्ट्रक्चर 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|। NULL हो सकता है अगर |max_list_size| is 0. list_size - |control_list| में भरी हुई वस्तुओं की संख्या प्राप्त करता है, या यदि |control_list| शून्य है।

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

nvram_result_t (* get_space_list) (कॉन्स्ट स्ट्रक्चर nvram_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| तक बनाए गए रिक्त स्थान की सूची प्राप्त करता है। NULL हो सकता है अगर |max_list_size| is 0. list_size - |space_index_list| में भरी हुई वस्तुओं की संख्या प्राप्त करता है, या यदि |space_index_list| शून्य है।

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

nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size)

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

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

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

nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size)

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

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

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

nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled)

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

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

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

nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t Authority_value_size, uint8_t *buffer *byte_read64_t)

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

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

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

nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t index, const uint8_t *buffer, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t Authority_value_size)

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

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

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


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