Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

อ้างอิงโครงสร้าง nvram_device

อ้างอิงโครงสร้าง nvram_device

#include < nvram.h >

เขตข้อมูล

struct hw_device_t ร่วมกัน
nvram_result_t (* get_total_size_in_bytes ) (const struct อุปกรณ์ nvram_device *, uint64_t * total_size)
nvram_result_t (* get_available_size_in_bytes ) (const struct อุปกรณ์ nvram_device *, uint64_t * available_size)
nvram_result_t (* get_max_space_size_in_bytes ) (const struct อุปกรณ์ nvram_device *, uint64_t * max_space_size)
nvram_result_t (* get_max_spaces ) (อุปกรณ์ const struct nvram_device *, uint32_t * num_spaces)
nvram_result_t (* get_space_list ) (const struct อุปกรณ์ nvram_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 *, ดัชนี uint32_t, ขนาด uint64_t *)
nvram_result_t (* get_space_controls ) (อุปกรณ์ const โครงสร้าง nvram_device *, ดัชนี uint32_t, uint32_t max_list_size, nvram_control_t * control_list, uint32_t * list_size)
nvram_result_t (* is_space_locked ) (อุปกรณ์ const struct nvram_device *, ดัชนี uint32_t, int * write_lock_enabled, int * read_lock_enabled)
nvram_result_t (* create_space ) (const struct อุปกรณ์ nvram_device * ดัชนี uint32_t, uint64_t size_in_bytes, const nvram_control_t * control_list, uint32_t list_size, const uint8_t * การอนุมัติ _value_size
nvram_result_t (* delete_space ) (const struct อุปกรณ์ nvram_device *, ดัชนี uint32_t, const uint8_t * permission_value , uint32_t permission_value_size )
nvram_result_t (* disable_create ) (อุปกรณ์ const struct nvram_device *)
nvram_result_t (* write_space ) (const struct อุปกรณ์ nvram_device * ดัชนี uint32_t, const uint8_t * buffer, uint64_t buffer_size, const uint8_t * authentication_value, uint32_t permission_value_size)
nvram_result_t (* read_space ) (const struct อุปกรณ์ nvram_device *, ดัชนี uint32_t, uint64_t num_bytes_to_read, const uint8_t * authentication_value , uint32_t author_value_size, uint8_t * บัฟเฟอร์, uint64_t * bytes_read)
nvram_result_t (* enable_write_lock ) (อุปกรณ์ const struct nvram_device *, ดัชนี uint32_t, const uint8_t * permission_value , uint32_t permission_value_size )
nvram_result_t (* enable_read_lock ) (อุปกรณ์ const struct nvram_device *, ดัชนี uint32_t, const uint8_t * permission_value , uint32_t permission_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 * อุปกรณ์, ดัชนี uint32_t, uint64_t size_in_bytes, const nvram_control_t * control_list, uint32_t list_size, const uint8_t

สร้างพื้นที่ใหม่ด้วยดัชนีขนาดการควบคุมและค่าการอนุญาตที่กำหนด

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีสำหรับพื้นที่ใหม่ ดัชนีสามารถเป็นค่า 32- บิตใด ๆ แต่ต้องไม่ได้ถูกกำหนดให้กับพื้นที่ว่างที่มีอยู่ size_in_bytes - จำนวนไบต์ที่จะจัดสรรสำหรับพื้นที่ control_list - อาร์เรย์ของตัวควบคุมที่บังคับใช้สำหรับพื้นที่ list_size - จำนวนรายการใน | control_list | author_value - ถ้า | control_list | มี NV_CONTROL_READ_AUTHORIZATION และ / หรือ NV_CONTROL_WRITE_AUTHORIZATION ดังนั้นพารามิเตอร์นี้จะให้ค่าการอนุญาตสำหรับนโยบายเหล่านี้ (หากตั้งค่าการควบคุมทั้งสองค่านี้จะใช้กับทั้งคู่) มิฉะนั้นค่านี้จะถูกละเว้นและอาจเป็น NULL author_value_size - จำนวนไบต์ใน | permission_value |

คำจำกัดความที่บรรทัด 187 ของไฟล์ nvram.h

nvram_result_t (* delete_space) (const struct อุปกรณ์ nvram_device *, ดัชนี uint32_t, const uint8_t * permission_value , uint32_t author_value_size )

ลบช่องว่าง

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ author_value - หากพื้นที่มีนโยบาย NV_CONTROL_WRITE_AUTHORIZATION พารามิเตอร์นี้จะให้ค่าการอนุญาต มิฉะนั้นค่านี้จะถูกละเว้นและอาจเป็น NULL author_value_size - จำนวนไบต์ใน | permission_value |

นิยามที่บรรทัด 207 ของไฟล์ nvram.h

nvram_result_t (* disable_create) (const struct อุปกรณ์ nvram_device *)

ปิดใช้งานการสร้างช่องว่างเพิ่มเติมจนกว่าจะมีการรีเซ็ตอุปกรณ์แบบเต็มถัดไป (เช่นในการรีเซ็ตจากโรงงานไม่ใช่รีบูต) การเรียกใช้ NV_CreateSpace ครั้งต่อไปควรส่งคืน NV_RESULT_OPERATION_DISABLED

อุปกรณ์ - อินสแตนซ์ nvram_device

คำจำกัดความที่บรรทัด 219 ของไฟล์ nvram.h

nvram_result_t (* enable_read_lock) (const struct อุปกรณ์ nvram_device *, ดัชนี uint32_t, const uint8_t * permission_value , uint32_t author_value_size )

เปิดใช้งานการล็อกการอ่านสำหรับพื้นที่ที่กำหนดตามนโยบาย หากพื้นที่ไม่มีการตั้งค่า NV_CONTROL_BOOT_READ_LOCK ฟังก์ชั่นนี้จะไม่มีผลและอาจส่งคืนข้อผิดพลาด

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ author_value - หากพื้นที่มีนโยบาย NV_CONTROL_READ_AUTHORIZATION พารามิเตอร์นี้จะให้ค่าการอนุญาต (โปรดทราบว่าไม่มีข้อกำหนดสำหรับการเข้าถึงเพื่อเขียนเพื่อล็อคสำหรับการอ่านล็อกการอ่านนั้นผันผวนเสมอ) มิฉะนั้นค่านี้จะถูกละเว้นและอาจเป็น NULL author_value_size - จำนวนไบต์ใน | permission_value |

คำจำกัดความที่บรรทัด 317 ของไฟล์ nvram.h

nvram_result_t (* enable_write_lock) (const struct อุปกรณ์ nvram_device *, ดัชนี uint32_t, const uint8_t * permission_value , uint32_t author_value_size )

เปิดใช้งานการล็อกการเขียนสำหรับพื้นที่ที่กำหนดตามนโยบาย หากพื้นที่ไม่ได้ตั้งค่า NV_CONTROL_PERSISTENT_WRITE_LOCK หรือ NV_CONTROL_BOOT_WRITE_LOCK แล้วฟังก์ชั่นนี้จะไม่มีผลและอาจส่งคืนข้อผิดพลาด

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ author_value - หากพื้นที่มีนโยบาย NV_CONTROL_WRITE_AUTHORIZATION พารามิเตอร์นี้จะให้ค่าการอนุญาต มิฉะนั้นค่านี้จะถูกละเว้นและอาจเป็น NULL author_value_size - จำนวนไบต์ใน | permission_value |

คำจำกัดความที่บรรทัด 294 ของไฟล์ nvram.h

nvram_result_t (* get_available_size_in_bytes) (const struct อุปกรณ์ nvram_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 *, 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 *, uint32_t * num_spaces)

ส่งออกจำนวนช่องว่างรวมสูงสุดที่อาจถูกจัดสรร สิ่งนี้จะเป็นอย่างน้อย 8 เอาต์พุต NV_UNLIMITED_SPACES หากมีการรองรับจำนวนช่องว่างใด ๆ (จำกัด เฉพาะ NVRAM ที่มีให้)

อุปกรณ์ - อินสแตนซ์ nvram_device num_spaces - รับเอาต์พุต ไม่สามารถเป็น NULL

นิยามที่บรรทัด 99 ของไฟล์ nvram.h

nvram_result_t (* get_space_controls) (const struct อุปกรณ์ nvram_device *, ดัชนี uint32_t, uint32_t max_list_size, nvram_control_t * control_list, uint32_t * list_size)

ส่งออกรายการตัวควบคุมที่เกี่ยวข้องกับพื้นที่ที่กำหนด

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ 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 *, 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 *, ดัชนี uint32_t, uint64_t * ขนาด)

ส่งออกขนาดเป็นไบต์ของพื้นที่ที่กำหนด

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ ขนาด - รับเอาท์พุท ไม่สามารถเป็น NULL

นิยามที่บรรทัดที่ 128 ของไฟล์ nvram.h

nvram_result_t (* get_total_size_in_bytes) (const struct อุปกรณ์ nvram_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 *, ดัชนี uint32_t, int * write_lock_enabled, int * read_lock_enabled)

แสดงว่าเปิดใช้งานการล็อกสำหรับพื้นที่ที่กำหนดหรือไม่ เมื่อเปิดใช้งานการล็อกการดำเนินการจะถูกปิดใช้งานและความพยายามใด ๆ ในการดำเนินการดังกล่าวจะส่งผลให้เกิด NV_RESULT_OPERATION_DISABLED

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ write_lock_enabled - จะถูกตั้งค่าเป็นศูนย์การดำเนินการเขียน iff ที่ไม่ใช่ศูนย์ read_lock_enabled - จะถูกตั้งค่าเป็น nonf ศูนย์ถ้าการดำเนินการอ่านถูกปิดใช้งานในปัจจุบัน

นิยามที่บรรทัดที่ 161 ของไฟล์ nvram.h

nvram_result_t (* read_space) (const struct nvram_device * อุปกรณ์ดัชนี uint32_t, uint64_t num_bytes_to_read, const uint8_t * authentication_value, uint32_t * บัฟเฟอร์ uint64_t * บัฟเฟอร์ uint64_t * บัฟเฟอร์ uint64_t * bytes

อ่านเนื้อหาของช่องว่าง หากไม่เคยเขียนช่องว่างการอ่านไบต์ทั้งหมดจะเป็น 0x00

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ num_bytes_to_read - จำนวนไบต์ที่อ่าน | buffer | จะต้องมีขนาดใหญ่พอที่จะรองรับจำนวนไบต์นี้ หากนี่เป็นมากกว่าขนาดของพื้นที่ทั้งหมดจะถูกอ่าน หากนี่น้อยกว่าขนาดของพื้นที่ไบต์แรกในพื้นที่จะถูกอ่าน author_value - หากพื้นที่มีนโยบาย NV_CONTROL_READ_AUTHORIZATION พารามิเตอร์นี้จะให้ค่าการอนุญาต มิฉะนั้นค่านี้จะถูกละเว้นและอาจเป็น NULL author_value_size - จำนวนไบต์ใน | permission_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 *, ดัชนี uint32_t, const uint8_t * บัฟเฟอร์, uint64_t buffer_size, const uint8_t * การอนุมัติ _value_size)

เขียนเนื้อหาของช่องว่าง หากมีการกำหนดค่าพื้นที่ด้วย NV_CONTROL_WRITE_EXTEND ข้อมูลอินพุตจะถูกใช้เพื่อขยายข้อมูลปัจจุบัน

อุปกรณ์ - อินสแตนซ์ nvram_device ดัชนี - ดัชนีพื้นที่ บัฟเฟอร์ - ข้อมูลที่จะเขียน buffer_size - จำนวนไบต์ใน | buffer | หากนี่น้อยกว่าขนาดของพื้นที่ไบต์ที่เหลือจะถูกตั้งค่าเป็น 0x00 หากนี่มีขนาดเกินกว่าขนาดของพื้นที่ส่งคืน NV_RESULT_INVALID_PARAMETER author_value - หากพื้นที่มีนโยบาย NV_CONTROL_WRITE_AUTHORIZATION พารามิเตอร์นี้จะให้ค่าการอนุญาต มิฉะนั้นค่านี้จะถูกละเว้นและอาจเป็น NULL author_value_size - จำนวนไบต์ใน | permission_value |

นิยามที่บรรทัด 241 ของไฟล์ nvram.h


เอกสารสำหรับ struct นี้ถูกสร้างขึ้นจากไฟล์ต่อไปนี้:
  • hardware / libhardware / include / hardware / nvram.h