مرجع ساختار 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 authorize)
nvram_result_t (* delete_space )(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 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
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)

توصیف همراه با جزئیات

تعریف در خط 48 فایل nvram.h .

مستندات میدانی

struct hw_device_t مشترک

روش های رایج nvram_device . این باید اولین عضو nvram_device باشد زیرا کاربران این ساختار در زمینه هایی که مشخص است hw_device_t به یک nvram_device اشاره می کند، نشانگر hw_device_t را به nvram_device ارسال می کنند.

تعریف در خط 55 فایل nvram.h .

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_3_value)

یک فضای جدید با شاخص، اندازه، کنترل ها و مقدار مجوز داده شده ایجاد می کند.

دستگاه - نمونه nvram_device . index - شاخصی برای فضای جدید. شاخص می تواند هر مقدار 32 بیتی باشد اما نباید قبلاً به فضای موجود اختصاص داده شود. size_in_bytes - تعداد بایت هایی که برای فضا اختصاص داده می شود. control_list - آرایه ای از کنترل ها برای اعمال فضا. list_size - تعداد موارد موجود در |control_list|. autorization_value - اگر |control_list| حاوی NV_CONTROL_READ_AUTHORIZATION و/یا NV_CONTROL_WRITE_AUTHORIZATION است، سپس این پارامتر مقدار مجوز را برای این خط‌مشی‌ها ارائه می‌کند (اگر هر دو کنترل تنظیم شده باشند، این مقدار برای هر دو اعمال می‌شود). در غیر این صورت، این مقدار نادیده گرفته می شود و ممکن است NULL باشد. autorization_value_size - تعداد بایت ها در |authorization_value|.

تعریف در خط 187 فایل nvram.h .

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

یک فاصله را حذف می کند.

دستگاه - نمونه nvram_device . index - شاخص فضا. autorization_value - اگر فضای دارای خط مشی NV_CONTROL_WRITE_AUTHORIZATION باشد، این پارامتر مقدار مجوز را ارائه می دهد. در غیر این صورت، این مقدار نادیده گرفته می شود و ممکن است NULL باشد. autorization_value_size - تعداد بایت ها در |authorization_value|.

تعریف در خط 207 فایل nvram.h .

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

هر گونه ایجاد فاصله بیشتر را تا بازنشانی کامل بعدی دستگاه غیرفعال می کند (مانند بازنشانی کارخانه، نه راه اندازی مجدد). تماس‌های بعدی به NV_CreateSpace باید NV_RESULT_OPERATION_DISABLED را برگرداند.

دستگاه - نمونه nvram_device .

تعریف در خط 219 فایل nvram.h .

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

طبق خط مشی خود، قفل خواندن را برای فضای داده شده فعال می کند. اگر فضای NV_CONTROL_BOOT_READ_LOCK تنظیم نشده باشد، این تابع هیچ تاثیری ندارد و ممکن است یک خطا برگرداند.

دستگاه - نمونه nvram_device . index - شاخص فضا. autorization_value - اگر فضا دارای خط مشی NV_CONTROL_READ_AUTHORIZATION باشد، این پارامتر مقدار مجوز را ارائه می دهد. (توجه داشته باشید که برای قفل کردن برای خواندن نیازی به دسترسی نوشتن نیست. قفل خواندن همیشه فرار است.) در غیر این صورت، این مقدار نادیده گرفته می شود و ممکن است NULL باشد. autorization_value_size - تعداد بایت ها در |authorization_value|.

تعریف در خط 317 فایل nvram.h .

nvram_result_t (* enable_write_lock)(const struct 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 . index - شاخص فضا. autorization_value - اگر فضای دارای خط مشی NV_CONTROL_WRITE_AUTHORIZATION باشد، این پارامتر مقدار مجوز را ارائه می دهد. در غیر این صورت، این مقدار نادیده گرفته می شود و ممکن است NULL باشد. autorization_value_size - تعداد بایت ها در |authorization_value|.

تعریف در خط 294 فایل nvram.h .

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

تعداد بایت های تخصیص نیافته موجود در NVRAM را خروجی می دهد. اگر یک پیاده سازی اندازه موجود را نداند، ممکن است تخمین یا اندازه کل را ارائه دهد.

دستگاه - نمونه nvram_device . available_size - خروجی را دریافت می کند. نمی تواند NULL باشد.

تعریف در خط 76 فایل nvram.h .

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 - خروجی را دریافت می کند. نمی تواند NULL باشد.

تعریف در خط 87 فایل nvram.h .

nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *num_spaces)

حداکثر تعداد کل فضاهایی را که ممکن است تخصیص داده شود را خروجی می دهد. این مقدار همیشه حداقل 8 خواهد بود. در صورت پشتیبانی از هر تعداد فاصله، NV_UNLIMITED_SPACES را خروجی می دهد (فقط به بایت های NVRAM موجود محدود می شود).

دستگاه - نمونه nvram_device . num_space - خروجی را دریافت می کند. نمی تواند NULL باشد.

تعریف در خط 99 فایل nvram.h .

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 . index - شاخص فضا. max_list_size - تعداد موارد موجود در |control_list| آرایه. control_list - لیستی از کنترل ها را تا مقدار |max_list_size| دریافت می کند. ممکن است NULL باشد اگر |max_list_size| 0 است. list_size - تعداد موارد پر شده در |control_list| یا تعداد موارد موجود در صورت |control_list| را دریافت می کند. NULL است.

تعریف در خط 144 فایل nvram.h .

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| دریافت می کند. ممکن است NULL باشد اگر |max_list_size| 0 است. list_size - تعداد موارد پر شده در |space_index_list| یا تعداد موارد موجود در صورت |space_index_list| را دریافت می‌کند. NULL است.

تعریف در خط 116 فایل nvram.h .

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

اندازه یک فضای داده شده را بر حسب بایت خروجی می دهد.

دستگاه - نمونه nvram_device . index - شاخص فضا. اندازه - خروجی را دریافت می کند. نمی تواند NULL باشد.

تعریف در خط 128 فایل nvram.h .

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

تعداد کل بایت های موجود در NVRAM را خروجی می دهد. این همیشه حداقل 2048 خواهد بود. اگر یک پیاده سازی اندازه کل را نداند، ممکن است یک تخمین یا 2048 ارائه دهد.

دستگاه - نمونه nvram_device . total_size - خروجی را دریافت می کند. نمی تواند NULL باشد.

تعریف در خط 65 فایل nvram.h .

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 . index - شاخص فضا. write_lock_enabled - اگر عملیات نوشتن در حال حاضر غیرفعال باشد، روی غیر صفر تنظیم می شود. read_lock_enabled - اگر عملیات خواندن در حال حاضر غیرفعال باشد، روی غیر صفر تنظیم می شود.

تعریف در خط 161 فایل nvram.h .

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_t *buffer_t)

مطالب یک فضا را می خواند. اگر فاصله هرگز نوشته نشده باشد، تمام بایت های خوانده شده 0x00 خواهد بود.

دستگاه - نمونه nvram_device . index - شاخص فضا. num_bytes_to_read - تعداد بایت هایی که باید خوانده شوند. |بافر| باید به اندازه کافی بزرگ باشد تا این تعداد بایت را در خود جای دهد. اگر این بیشتر از اندازه فضا باشد، کل فضا خوانده می شود. اگر این اندازه کمتر از اندازه فضا باشد، اولین بایت های موجود در فضا خوانده می شود. autorization_value - اگر فضا دارای خط مشی NV_CONTROL_READ_AUTHORIZATION باشد، این پارامتر مقدار مجوز را ارائه می دهد. در غیر این صورت، این مقدار نادیده گرفته می شود و ممکن است NULL باشد. autorization_value_size - تعداد بایت ها در |authorization_value|. بافر - داده های خوانده شده را از فضا دریافت می کند. باید حداقل |num_bytes_to_read| باشد بایت در اندازه bytes_read - تعداد بایت های خوانده شده. اگر NV_RESULT_SUCCESS برگردانده شود، این مقدار به کوچکتر از |num_bytes_to_read| یا اندازه فضا

تعریف در خط 272 فایل nvram.h .

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 . index - شاخص فضا. بافر - داده هایی برای نوشتن. buffer_size - تعداد بایت ها در |buffer|. اگر این اندازه کمتر از اندازه فضا باشد، بایت های باقیمانده روی 0x00 تنظیم می شوند. اگر این بیشتر از اندازه فضا باشد، NV_RESULT_INVALID_PARAMETER را برمی‌گرداند. autorization_value - اگر فضای دارای خط مشی NV_CONTROL_WRITE_AUTHORIZATION باشد، این پارامتر مقدار مجوز را ارائه می دهد. در غیر این صورت، این مقدار نادیده گرفته می شود و ممکن است NULL باشد. autorization_value_size - تعداد بایت ها در |authorization_value|.

تعریف در خط 241 فایل nvram.h .


مستندات این ساختار از فایل زیر تولید شده است:
  • hardware/libhardware/include/hardware/ nvram.h