مرجع هيكل 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 Authorization_value_size) |
nvram_result_t (* | حذف_مساحة )(const struct nvram_device *device، uint32_t Index، const uint8_t *authorization_value، uint32_t Authorization_value_size) |
nvram_result_t (* | Disable_create )(const struct nvram_device *device) |
nvram_result_t (* | write_space )(const struct nvram_device *device، مؤشر uint32_t، 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 struct nvram_device *device، uint32_t Index، const uint8_t *authorization_value، uint32_t Authorization_value_size) |
nvram_result_t (* | Enable_read_lock )(const struct 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 .
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 Authorization_value_size) |
ينشئ مساحة جديدة باستخدام الفهرس والحجم وعناصر التحكم وقيمة التفويض المحددة.
الجهاز - مثيل nvram_device . الفهرس - فهرس للمساحة الجديدة. يمكن أن يكون الفهرس أي قيمة 32 بت ولكن يجب ألا يتم تعيينه بالفعل لمساحة موجودة. size_in_bytes - عدد البايتات التي سيتم تخصيصها للمساحة. control_list - مجموعة من عناصر التحكم التي سيتم فرضها على المساحة. list_size - عدد العناصر في |control_list|. قيمة_الترخيص - إذا كانت |قائمة_التحكم| تحتوي على NV_CONTROL_READ_AUTHORIZATION و/أو NV_CONTROL_WRITE_AUTHORIZATION، فإن هذه المعلمة توفر قيمة التفويض لهذه السياسات (إذا تم تعيين كلا عنصري التحكم، فسيتم تطبيق هذه القيمة على كليهما). وإلا، فسيتم تجاهل هذه القيمة وقد تكون فارغة. Authorization_value_size - عدد البايتات في |authorization_value|.
nvram_result_t (*delet_space)(const struct nvram_device *device، فهرس uint32_t، const uint8_t *authorization_value، uint32_t Authorization_value_size) |
يحذف مسافة.
الجهاز - مثيل nvram_device . الفهرس - مؤشر الفضاء. Authorization_value - إذا كانت المساحة تحتوي على سياسة NV_CONTROL_WRITE_AUTHORIZATION، فإن هذه المعلمة توفر قيمة التفويض. وإلا، فسيتم تجاهل هذه القيمة وقد تكون فارغة. 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) (const struct nvram_device *device، فهرس uint32_t، 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) (const struct nvram_device *device، فهرس uint32_t، 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، فإن هذه المعلمة توفر قيمة التفويض. وإلا، فسيتم تجاهل هذه القيمة وقد تكون فارغة. Authorization_value_size - عدد البايتات في |authorization_value|.
nvram_result_t (* get_available_size_in_bytes)(بنية ثابتة nvram_device *device، uint64_t *available_size) |
يقوم بإخراج العدد غير المخصص من البايتات المتوفرة في NVRAM. إذا كان التنفيذ لا يعرف الحجم المتاح، فقد يقدم تقديرًا أو الحجم الإجمالي.
الجهاز - مثيل nvram_device . متوفر_الحجم - يتلقى الإخراج. لا يمكن أن تكون لاغية.
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)(const struct 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| المحدد. قد تكون فارغة إذا كان |max_list_size| هو 0. list_size - يستقبل عدد العناصر المملوءة في |control_list|، أو عدد العناصر المتوفرة إذا |control_list| باطل.
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_result_t (* get_space_size)(const struct 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)(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_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) |
يقرأ محتويات الفضاء. إذا لم تتم كتابة المساحة مطلقًا، فستكون كافة وحدات البايت المقروءة 0x00.
الجهاز - مثيل nvram_device . الفهرس - مؤشر الفضاء. num_bytes_to_read - عدد البايتات المراد قراءتها؛ |المخزن المؤقت| يجب أن تكون كبيرة بما يكفي لاستيعاب هذا العدد من البايتات. إذا كان هذا أكبر من حجم المساحة، تتم قراءة المساحة بأكملها. إذا كان هذا أقل من حجم المساحة، تتم قراءة البايتات الأولى في المساحة. Authorization_value - إذا كانت المساحة تحتوي على سياسة NV_CONTROL_READ_AUTHORIZATION، فإن هذه المعلمة توفر قيمة التفويض. وإلا، فسيتم تجاهل هذه القيمة وقد تكون فارغة. Authorization_value_size - عدد البايتات في |authorization_value|. المخزن المؤقت - يتلقى البيانات المقروءة من الفضاء. يجب أن يكون |num_bytes_to_read| على الأقل بايت في الحجم. bytes_read - عدد البايتات المقروءة. إذا تم إرجاع NV_RESULT_SUCCESS، فسيتم تعيين هذا إلى أصغر من |num_bytes_to_read| أو حجم المساحة .
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 Authorization_value_size) |
يكتب محتويات الفضاء. إذا تم تكوين المساحة باستخدام NV_CONTROL_WRITE_EXTEND، فسيتم استخدام بيانات الإدخال لتوسيع البيانات الحالية.
الجهاز - مثيل nvram_device . الفهرس - مؤشر الفضاء. المخزن المؤقت - البيانات المراد كتابتها. buffer_size - عدد البايتات في |buffer|. إذا كان هذا أقل من حجم المساحة، فسيتم تعيين البايتات المتبقية على 0x00. إذا كان هذا أكبر من حجم المساحة، فسيتم إرجاع NV_RESULT_INVALID_PARAMETER. Authorization_value - إذا كانت المساحة تحتوي على سياسة NV_CONTROL_WRITE_AUTHORIZATION، فإن هذه المعلمة توفر قيمة التفويض. وإلا، فسيتم تجاهل هذه القيمة وقد تكون فارغة. Authorization_value_size - عدد البايتات في |authorization_value|.
تم إنشاء وثائق هذه البنية من الملف التالي:
- الأجهزة/libhardware/تشمل/الأجهزة/ nvram.h