nvram_device Struct Reference

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)

תיאור מפורט

הגדרה בשורה 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_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|.

הגדרה בשורה 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)

מוחק רווח.

device - מופע nvram_device . index - אינדקס החלל. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_WRITE_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_value_size - מספר הבתים ב-|authorization_value|.

הגדרה בשורה 207 של קובץ nvram.h .

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

משבית כל יצירה נוספת של רווחים עד לאיפוס המלא הבא של המכשיר (כמו באיפוס להגדרות היצרן, לא אתחול מחדש). קריאות עוקבות ל-NV_CreateSpace אמורות להחזיר את NV_RESULT_OPERATION_DISABLED.

device - מופע 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, לפונקציה זו אין השפעה ועשויה להחזיר שגיאה.

device - מופע nvram_device . index - אינדקס החלל. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_READ_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. (שימו לב שאין דרישה לגשת כתיבה על מנת לנעול לקריאה. נעילת קריאה היא תמיד הפכפכה.) אחרת, מתעלמים מערך זה ועלול להיות NULL. authorization_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 אז לפונקציה זו אין השפעה ועשויה להחזיר שגיאה.

device - מופע nvram_device . index - אינדקס החלל. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_WRITE_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_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. אם יישום אינו יודע את הגודל הזמין, הוא עשוי לספק אומדן או את הגודל הכולל.

device - מופע 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. אם יישום אינו מגביל את הגודל המקסימלי הוא עשוי לספק את הגודל הכולל.

device - מופע 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 בתים זמינים).

device - מופע nvram_device . num_spaces - מקבל את הפלט. לא יכול להיות 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)

מוציא את רשימת הפקדים המשויכים למרחב נתון.

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.

הגדרה בשורה 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, רק |גודל_רשימה| מאוכלס.

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.

הגדרה בשורה 116 של קובץ nvram.h .

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

מוציא את הגודל, בבתים, של רווח נתון.

device - מופע 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.

device - מופע 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.

device - מופע 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 *_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| או גודל החלל.

הגדרה בשורה 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, נתוני הקלט משמשים להרחבת הנתונים הנוכחיים.

device - מופע nvram_device . index - אינדקס החלל. מאגר - הנתונים לכתיבה. buffer_size - מספר הבתים ב-|buffer|. אם זה קטן מגודל החלל, הבתים הנותרים יוגדרו ל-0x00. אם זה יותר מגודל הרווח, מחזיר NV_RESULT_INVALID_PARAMETER. authorization_value - אם למרחב יש את מדיניות NV_CONTROL_WRITE_AUTHORIZATION, פרמטר זה מספק את ערך ההרשאה. אחרת, הערך הזה יתעלם וייתכן שהוא NULL. authorization_value_size - מספר הבתים ב-|authorization_value|.

הגדרה בשורה 241 של קובץ nvram.h .


התיעוד עבור מבנה זה נוצר מהקובץ הבא:
  • hardware/libhardware/include/hardware/ nvram.h