nvram_device Struct Reference
#include < nvram.h >
שדות נתונים | |
struct 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) |
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_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) |
תיאור מפורט
תיעוד שטח
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_value_ts, authorization_value, uint32_t |
יוצר מרחב חדש עם האינדקס, הגודל, הפקדים וערך ההרשאה.
device - מופע nvram_device . אינדקס - אינדקס למרחב החדש. האינדקס יכול להיות כל ערך של 32 סיביות, אך אין להקצות אותו כבר למרחב קיים. size_in_bytes - מספר הבתים להקצאה לשטח. control_list - מערך פקדים לאכיפה עבור המרחב. list_size - מספר הפריטים ב-|control_list|. Authorization_value - אם |רשימת_שליטה| מכיל NV_CONTROL_READ_AUTHORIZATION ו/או NV_CONTROL_WRITE_AUTHORIZATION, אז פרמטר זה מספק את ערך ההרשאה עבור מדיניות זו (אם שני הפקדים מוגדרים אז ערך זה חל על שניהם). אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_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) |
מוחק רווח.
device - מופע nvram_device . index - אינדקס החלל. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_WRITE_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_value_size - מספר הבתים ב-|authorization_value|.
nvram_result_t (* disable_create)(const struct nvram_device *device) |
משבית כל יצירה נוספת של רווחים עד לאיפוס המלא הבא של המכשיר (כמו באיפוס להגדרות היצרן, לא אתחול מחדש). קריאות עוקבות ל-NV_CreateSpace אמורות להחזיר את NV_RESULT_OPERATION_DISABLED.
device - מופע 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, לפונקציה זו אין השפעה ועשויה להחזיר שגיאה.
device - מופע nvram_device . index - אינדקס החלל. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_READ_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. (שימו לב שאין דרישה לגשת כתיבה על מנת לנעול לקריאה. נעילת קריאה היא תמיד הפכפכה.) אחרת, מתעלמים מערך זה ועלול להיות NULL. authorization_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 אז לפונקציה זו אין השפעה ועשויה להחזיר שגיאה.
device - מופע nvram_device . index - אינדקס החלל. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_WRITE_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_value_size - מספר הבתים ב-|authorization_value|.
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
מוציא את המספר הלא מוקצה של בתים הזמינים ב-NVRAM. אם יישום אינו יודע את הגודל הזמין, הוא עשוי לספק אומדן או את הגודל הכולל.
device - מופע 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. אם יישום אינו מגביל את הגודל המקסימלי הוא עשוי לספק את הגודל הכולל.
device - מופע 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 בתים זמינים).
device - מופע nvram_device . num_spaces - מקבל את הפלט. לא יכול להיות 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) |
מוציא את רשימת הפקדים המשויכים למרחב נתון.
device - מופע 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, רק |גודל_רשימה| מאוכלס.
device - מופע 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) |
מוציא את הגודל, בבתים, של רווח נתון.
device - מופע nvram_device . index - אינדקס החלל. גודל - מקבל את הפלט. לא יכול להיות NULL.
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *total_size) |
מוציא את המספר הכולל של בתים הזמינים ב-NVRAM. זה תמיד יהיה לפחות 2048. אם יישום אינו יודע את הגודל הכולל הוא עשוי לספק אומדן או 2048.
device - מופע 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.
device - מופע 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 *_read, * uint8_t *_read) |
קורא את התוכן של חלל. אם הרווח מעולם לא נכתב, כל הבייטים שנקראו יהיו 0x00.
device - מופע nvram_device . index - אינדקס החלל. 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 יוחזר, זה יוגדר לקטן מבין |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, נתוני הקלט משמשים להרחבת הנתונים הנוכחיים.
device - מופע nvram_device . index - אינדקס החלל. מאגר - הנתונים לכתיבה. buffer_size - מספר הבתים ב-|buffer|. אם זה קטן מגודל החלל, הבתים הנותרים יוגדרו ל-0x00. אם זה יותר מגודל הרווח, מחזיר NV_RESULT_INVALID_PARAMETER. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_WRITE_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_value_size - מספר הבתים ב-|authorization_value|.
התיעוד עבור מבנה זה נוצר מהקובץ הבא:
- hardware/libhardware/include/hardware/ nvram.h