מידע על המבנה של nvram_device

מידע על המבנה של nvram_device

#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_size)
 
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 common

שיטות נפוצות של 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, uint32_t authorization_value_size)

יצירת מרחב משותף חדש עם האינדקס, הגודל, אמצעי הבקרה וערך ההרשאה שצוינו.

device – המכונה של nvram_device . index – אינדקס למרחב החדש. האינדקס יכול להיות כל ערך של 32 ביט, אבל אסור שהוא כבר יוקצה למרחב קיים. size_in_bytes – מספר הבייטים שרוצים להקצות למרחב. control_list – מערך אמצעי הבקרה שרוצים לאכוף במרחב. list_size – מספר הפריטים ב-|control_list|. authorization_value – אם |control_list| מכיל את 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, רק |list_size| מאוכלס.

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 – אינדקס המרחב. size – מקבל את הפלט. הערך לא יכול להיות 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 *buffer, uint64_t *bytes_read)

קריאת התוכן של מרחב משותף. אם אף פעם לא נכתבו נתונים במרחב, כל הבייטים שיקראו יהיו 0x00.

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