مرجع ساختار 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) |
توصیف همراه با جزئیات
مستندات میدانی
struct 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_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|.
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|.
nvram_result_t (* disable_create) (const struct nvram_device *device) |
هر گونه ایجاد فاصله بیشتر را تا بازنشانی کامل بعدی دستگاه غیرفعال می کند (مانند بازنشانی کارخانه، نه راه اندازی مجدد). تماسهای بعدی به NV_CreateSpace باید NV_RESULT_OPERATION_DISABLED را برگرداند.
دستگاه - نمونه nvram_device .
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|.
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|.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
تعداد بایت های تخصیص نیافته موجود در NVRAM را خروجی می دهد. اگر یک پیاده سازی اندازه موجود را نداند، ممکن است تخمین یا اندازه کل را ارائه دهد.
دستگاه - نمونه nvram_device . available_size - خروجی را دریافت می کند. نمی تواند NULL باشد.
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 باشد.
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 باشد.
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 است.
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 است.
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t index, uint64_t *size) |
اندازه یک فضای داده شده را بر حسب بایت خروجی می دهد.
دستگاه - نمونه nvram_device . index - شاخص فضا. اندازه - خروجی را دریافت می کند. نمی تواند NULL باشد.
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 باشد.
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 - اگر عملیات خواندن در حال حاضر غیرفعال باشد، روی غیر صفر تنظیم می شود.
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| یا اندازه فضا
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|.
مستندات این ساختار از فایل زیر تولید شده است:
- hardware/libhardware/include/hardware/ nvram.h