مرجع بنية الجهاز nvram_device
#include < nvram.h >
حقول البيانات | |
هيكل hw_device_t | مشترك |
nvram_result_t (* | get_total_size_in_bytes ) (إنشاء بنية nvram_device * device ، uint64_t * total_size) |
nvram_result_t (* | get_available_size_in_bytes ) (إنشاء بنية nvram_device * device ، uint64_t * available_size) |
nvram_result_t (* | get_max_space_size_in_bytes ) (إنشاء بنية nvram_device * device ، uint64_t * max_space_size) |
nvram_result_t (* | get_max_spaces ) (إنشاء بنية nvram_device * device ، uint32_t * num_spaces) |
nvram_result_t (* | get_space_list ) (إنشاء بنية nvram_device * device ، uint32_t max_list_size ، uint32_t * space_index_list ، uint32_t * list_size) |
nvram_result_t (* | get_space_size ) (إنشاء بنية nvram_device * device ، uint32_t index ، uint64_t * size) |
nvram_result_t (* | get_space_controls ) (إنشاء بنية 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 ) (إنشاء بنية nvram_device * device ، uint32_t index ، int * write_lock_enabled ، int * read_lock_enabled) |
nvram_result_t (* | create_space ( _ |
nvram_result_t (* | delete_space ) (const هيكلة nvram_device * device ، uint32_t index ، const uint8_t * authorization_value ، uint32_t authorization_value_size) |
nvram_result_t (* | Disable_create ) (إنشاء بنية nvram_device * device) |
nvram_result_t (* | write_space ) (const هيكل nvram_device * device ، uint32_t index ، const uint8_t * buffer ، uint64_t buffer_size ، const uint8_t * authorization_value ، uint32_t authorization_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 authorization_value_size، uint8_t * buffer، uint64_t * bytes_read) |
nvram_result_t (* | enable_write_lock ) (const هيكل nvram_device * device ، uint32_t index ، const uint8_t * authorization_value ، uint32_t authorization_value_size) |
nvram_result_t (* | enable_read_lock ) (const هيكل nvram_device * device ، uint32_t index ، const uint8_t * authorization_value ، uint32_t authorization_value_size) |
وصف مفصل
التوثيق الميداني
هيكل hw_device_t مشترك |
الطرق الشائعة لجهاز nvram_device . يجب أن يكون هذا هو أول عضو في nvram_device حيث سيقوم مستخدمو هذه البنية بإرسال hw_device_t إلى مؤشر nvram_device في السياقات حيث يُعرف hw_device_t بإشارات nvram_device .
( * create_space ) |
يُنشئ مساحة جديدة باستخدام الفهرس والحجم وعناصر التحكم وقيمة التفويض المحددة.
الجهاز - مثيل nvram_device . الفهرس - فهرس للمساحة الجديدة. يمكن أن يكون الفهرس أي قيمة 32 بت ولكن يجب ألا يتم تعيينه بالفعل إلى مساحة موجودة. size_in_bytes - عدد البايت المطلوب تخصيصه للمساحة. control_list - مجموعة من عناصر التحكم لفرض المساحة. list_size - عدد العناصر في | control_list |. authorization_value - إذا | control_list | يحتوي على NV_CONTROL_READ_AUTHORIZATION و / أو NV_CONTROL_WRITE_AUTHORIZATION ، ثم توفر هذه المعلمة قيمة التفويض لهذه السياسات (إذا تم تعيين كلا الضوابط ، فإن هذه القيمة تنطبق على كليهما). خلاف ذلك ، يتم تجاهل هذه القيمة وقد تكون NULL. authorization_value_size - عدد البايت في | authorization_value |.
nvram_result_t (* delete_space) (إنشاء بنية nvram_device * device ، uint32_t index ، const uint8_t * authorization_value ، uint32_t authorization_value_size) |
يحذف مسافة.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. authorization_value - إذا كانت المساحة بها سياسة NV_CONTROL_WRITE_AUTHORIZATION ، فإن هذه المعلمة توفر قيمة التفويض. خلاف ذلك ، يتم تجاهل هذه القيمة وقد تكون NULL. authorization_value_size - عدد البايت في | authorization_value |.
nvram_result_t (* disable_create) (بنية الإنشاء nvram_device * device) |
لتعطيل أي إنشاء إضافي للمساحات حتى إعادة الضبط الكاملة التالية للجهاز (كما هو الحال في إعادة تعيين إعدادات المصنع ، وليس إعادة التشغيل). يجب أن ترجع المكالمات اللاحقة إلى NV_CreateSpace NV_RESULT_OPERATION_DISABLED.
الجهاز - مثيل nvram_device .
nvram_result_t (* enable_read_lock) ( البناء الثابت nvram_device * device، uint32_t index، const uint8_t * authorization_value، uint32_t authorization_value_size) |
تُمكّن قفل القراءة للمساحة المحددة وفقًا لسياستها. إذا كانت المساحة لا تحتوي على مجموعة NV_CONTROL_BOOT_READ_LOCK ، فلن يكون لهذه الوظيفة أي تأثير وقد تُرجع خطأ.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. authorization_value - إذا كانت المساحة بها سياسة NV_CONTROL_READ_AUTHORIZATION ، فإن هذه المعلمة توفر قيمة التفويض. (لاحظ أنه لا توجد متطلبات للوصول للكتابة من أجل قفل القراءة. قفل القراءة دائمًا متغير.) وإلا ، يتم تجاهل هذه القيمة وقد تكون فارغة. authorization_value_size - عدد البايت في | authorization_value |.
nvram_result_t (* enable_write_lock) ( البناء الثابت nvram_device * device، uint32_t index، const uint8_t * authorization_value، uint32_t authorization_value_size) |
تُمكّن قفل الكتابة للمساحة المحددة وفقًا لسياستها. إذا كانت المساحة لا تحتوي على مجموعة NV_CONTROL_PERSISTENT_WRITE_LOCK أو NV_CONTROL_BOOT_WRITE_LOCK ، فلن يكون لهذه الوظيفة أي تأثير وقد تعرض خطأ.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. authorization_value - إذا كانت المساحة بها سياسة NV_CONTROL_WRITE_AUTHORIZATION ، فإن هذه المعلمة توفر قيمة التفويض. خلاف ذلك ، يتم تجاهل هذه القيمة وقد تكون NULL. authorization_value_size - عدد البايت في | authorization_value |.
nvram_result_t (* get_available_size_in_bytes) (إنشاء بنية nvram_device * device ، uint64_t * available_size) |
لإخراج العدد غير المخصص من البايتات المتوفرة في NVRAM. إذا كان التطبيق لا يعرف الحجم المتاح ، فقد يقدم تقديرًا أو الحجم الإجمالي.
الجهاز - مثيل nvram_device . available_size - لاستلام الإخراج. لا يمكن أن تكون لاغية.
nvram_result_t (* get_max_space_size_in_bytes) (بنية بنية nvram_device * device ، uint64_t * max_space_size) |
لإخراج أقصى عدد من البايتات التي يمكن تخصيصها لمسافة واحدة. سيكون هذا دائمًا 32 على الأقل. إذا لم يحد أحد التطبيقات من الحد الأقصى للحجم ، فقد يوفر الحجم الإجمالي.
الجهاز - مثيل nvram_device . max_space_size - يتلقى الإخراج. لا يمكن أن تكون لاغية.
nvram_result_t (* get_max_spaces) (إنشاء بنية nvram_device * device ، uint32_t * num_spaces) |
يُخرج العدد الإجمالي الأقصى للمسافات التي يمكن تخصيصها. سيكون هذا دائمًا 8. المخرجات NV_UNLIMITED_SPACES إذا تم دعم أي عدد من المسافات (يقتصر فقط على وحدات بايت NVRAM المتاحة).
الجهاز - مثيل nvram_device . num_spaces - تتلقى الإخراج. لا يمكن أن تكون لاغية.
nvram_result_t (* get_space_controls) (بنية هيكلية nvram_device * device، uint32_t index، 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 | هو 0. list_size - تستقبل عدد العناصر التي تم ملؤها في | control_list | ، أو عدد العناصر المتاحة في حالة | control_list | باطل.
nvram_result_t (* get_space_list) (بنية هيكلية 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 المعطى |. قد يكون NULL إذا | max_list_size | هو 0. list_size - تستقبل عدد العناصر التي تم ملؤها في | space_index_list | ، أو عدد العناصر المتاحة في حالة | space_index_list | باطل.
nvram_result_t (* get_space_size) (بنية هيكلية nvram_device * device ، uint32_t index ، uint64_t * size) |
إخراج الحجم بالبايت لمساحة معينة.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. الحجم - يتلقى الإخراج. لا يمكن أن تكون لاغية.
nvram_result_t (* get_total_size_in_bytes) (إنشاء بنية nvram_device * device ، uint64_t * total_size) |
لإخراج العدد الإجمالي للبايتات المتوفرة في NVRAM. سيكون هذا دائمًا 2048 على الأقل. إذا لم يعرف أحد التطبيقات الحجم الإجمالي ، فقد يقدم تقديرًا أو 2048.
الجهاز - مثيل nvram_device . total_size - تستقبل المخرجات. لا يمكن أن تكون لاغية.
nvram_result_t (* is_space_locked) (بنية هيكلية nvram_device * device، uint32_t index، int * write_lock_enabled، int * read_lock_enabled) |
يُخرج ما إذا تم تمكين الأقفال للمساحة المحددة. عند تمكين قفل ، يتم تعطيل العملية وأي محاولة لتنفيذ هذه العملية ستؤدي إلى NV_RESULT_OPERATION_DISABLED.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. write_lock_enabled - سيتم تعيينه على غير الصفر iff عمليات الكتابة معطلة حاليًا. read_lock_enabled - سيتم تعيينه على غير الصفر iff عمليات القراءة معطلة حاليًا.
nvram_result_t (* read_space) (إنشاء بنية nvram_device * device ، uint32_t index ، uint64_t num_bytes_to_read ، const uint8_t * authorization_value ، uint32_t authorization_value_size ، uint8_t * buffer ، uint64_t * bytes_read) |
يقرأ محتويات الفضاء. إذا لم تتم كتابة المساحة مطلقًا ، فستكون جميع وحدات البايت المقروءة 0x00.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. num_bytes_to_read - عدد البايت المطلوب قراءته ؛ | عازلة | يجب أن يكون كبيرًا بما يكفي لاستيعاب هذا العدد الكبير من البايت. إذا كان هذا أكبر من حجم المساحة ، فسيتم قراءة المساحة بالكامل. إذا كان هذا أقل من حجم المساحة ، تتم قراءة البايتات الأولى في المساحة. authorization_value - إذا كانت المساحة بها سياسة NV_CONTROL_READ_AUTHORIZATION ، فإن هذه المعلمة توفر قيمة التفويض. خلاف ذلك ، يتم تجاهل هذه القيمة وقد تكون NULL. authorization_value_size - عدد البايت في | authorization_value |. المخزن المؤقت - يتلقى البيانات المقروءة من الفضاء. يجب أن يكون على الأقل | num_bytes_to_read | بايت في الحجم. bytes_read - عدد البايت المقروء. إذا تم إرجاع NV_RESULT_SUCCESS ، فسيتم تعيين هذا على الحجم الأصغر | عدد_وحدات_البايت_إلى_قراءة | أو حجم المساحة.
nvram_result_t (* write_space) (بنية هيكلية nvram_device * device ، uint32_t index ، const uint8_t * buffer ، uint64_t buffer_size ، const uint8_t * authorization_value ، uint32_t authorization_value_size) |
يكتب محتويات الفضاء. إذا تم تكوين المساحة باستخدام NV_CONTROL_WRITE_EXTEND ، فسيتم استخدام بيانات الإدخال لتوسيع البيانات الحالية.
الجهاز - مثيل nvram_device . الفهرس - فهرس الفضاء. المخزن المؤقت - البيانات المراد كتابتها. buffer_size - عدد البايت في | المخزن المؤقت |. إذا كان هذا أقل من حجم المساحة ، فسيتم تعيين وحدات البايت المتبقية على 0x00. إذا كان هذا أكبر من حجم المساحة ، يتم إرجاع NV_RESULT_INVALID_PARAMETER. authorization_value - إذا كانت المساحة بها سياسة NV_CONTROL_WRITE_AUTHORIZATION ، فإن هذه المعلمة توفر قيمة التفويض. خلاف ذلك ، يتم تجاهل هذه القيمة وقد تكون NULL. authorization_value_size - عدد البايت في | authorization_value |.
تم إنشاء وثائق هذه البنية من الملف التالي:
- الأجهزة / libhardware / تشمل / الأجهزة / nvram.h