Tham chiếu cấu trúc nvram_device
#include < nvram.h >
Trường dữ liệu | |
struct hw_device_t | phổ thông |
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 * Authority_value, uint32_t Authority_value_size) |
nvram_result_t (* | delete_space ) (const struct nvram_device * thiết bị, chỉ mục uint32_t, const uint8_t * ủy quyền_value, uint32_t ủy quyền_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 * Authority_value, uint32_t Authorised_value_size) |
nvram_result_t (* | read_space ) (const struct nvram_device * device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t * Authority_value, uint32_t Authority_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 * Authority_value, uint32_t Authority_value_size) |
nvram_result_t (* | enable_read_lock ) (const struct nvram_device * device, uint32_t index, const uint8_t * Authority_value, uint32_t Authority_value_size) |
miêu tả cụ thể
Tài liệu thực địa
struct hw_device_t common |
Các phương thức phổ biến của nvram_device . Đây phải là thành viên đầu tiên của nvram_device vì người dùng cấu trúc này sẽ truyền một con trỏ hw_device_t tới nvram_device trong ngữ cảnh mà nó được biết là hw_device_t tham chiếu đến mộ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 * Authority_value, uint32_t Authority_value_size) |
Tạo không gian mới với chỉ mục, kích thước, điều khiển và giá trị ủy quyền đã cho.
thiết bị - Phiên bản nvram_device . index - Chỉ mục cho không gian mới. Chỉ mục có thể là bất kỳ giá trị 32 bit nào nhưng không được gán cho một không gian hiện có. size_in_bytes - Số byte cần phân bổ cho không gian. control_list - Một mảng các điều khiển để thực thi cho không gian. list_size - Số lượng mục trong | control_list |. giá trị_ ủy quyền - Nếu | control_list | chứa NV_CONTROL_READ_AUTHORIZATION và / hoặc NV_CONTROL_WRITE_AUTHORIZATION, sau đó tham số này cung cấp giá trị ủy quyền cho các chính sách này (nếu cả hai điều khiển được đặt thì giá trị này áp dụng cho cả hai). Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_giá_trị_size - Số byte trong | giá trị_ ủy quyền |.
nvram_result_t (* delete_space) (const struct nvram_device * device, uint32_t index, const uint8_t * Authority_value, uint32_t Authorisation_value_size) |
Xóa một khoảng trắng.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. giá trị ủy quyền - Nếu không gian có chính sách NV_CONTROL_WRITE_AUTHORIZATION, thì tham số này cung cấp giá trị ủy quyền. Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_giá_trị_size - Số byte trong | giá trị_ ủy quyền |.
nvram_result_t (* disable_create) (const struct nvram_device * device) |
Vô hiệu hóa bất kỳ tạo thêm khoảng trống nào cho đến khi đặt lại toàn bộ thiết bị tiếp theo (như khi khôi phục cài đặt gốc, không phải khởi động lại). Các cuộc gọi tiếp theo tới NV_CreateSpace sẽ trả về NV_RESULT_OPERATION_DISABLED.
thiết bị - Phiên bản nvram_device .
nvram_result_t (* enable_read_lock) (const struct nvram_device * device, uint32_t index, const uint8_t * Authority_value, uint32_t Authoris_value_size) |
Bật khóa đọc cho không gian nhất định theo chính sách của nó. Nếu không gian không có NV_CONTROL_BOOT_READ_LOCK được đặt thì chức năng này không có tác dụng và có thể trả về lỗi.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. giá trị ủy quyền - Nếu không gian có chính sách NV_CONTROL_READ_AUTHORIZATION, thì tham số này cung cấp giá trị ủy quyền. (Lưu ý rằng không có yêu cầu nào về quyền ghi để khóa đọc. Khóa đọc luôn biến động.) Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_giá_trị_size - Số byte trong | giá trị_ ủy quyền |.
nvram_result_t (* enable_write_lock) (const struct nvram_device * device, uint32_t index, const uint8_t * Authority_value, uint32_t Authority_value_size) |
Bật khóa ghi cho không gian đã cho theo chính sách của nó. Nếu không gian không có NV_CONTROL_PERSISTENT_WRITE_LOCK hoặc NV_CONTROL_BOOT_WRITE_LOCK được đặt thì chức năng này không có hiệu lực và có thể trả về lỗi.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. giá trị ủy quyền - Nếu không gian có chính sách NV_CONTROL_WRITE_AUTHORIZATION, thì tham số này cung cấp giá trị ủy quyền. Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_giá_trị_size - Số byte trong | giá trị_ ủy quyền |.
nvram_result_t (* get_available_size_in_bytes) (const struct nvram_device * device, uint64_t * available_size) |
Xuất ra số byte chưa được phân bổ có sẵn trong NVRAM. Nếu một triển khai không biết kích thước có sẵn, nó có thể cung cấp một ước tính hoặc tổng kích thước.
thiết bị - Phiên bản nvram_device . kích thước sẵn có - Nhận kết quả đầu ra. Không thể là NULL.
nvram_result_t (* get_max_space_size_in_bytes) (const struct nvram_device * device, uint64_t * max_space_size) |
Xuất ra số byte tối đa có thể được cấp cho một không gian duy nhất. Điều này sẽ luôn luôn là ít nhất 32. Nếu một triển khai không giới hạn kích thước tối đa, nó có thể cung cấp tổng kích thước.
thiết bị - Phiên bản nvram_device . max_space_size - Nhận đầu ra. Không thể là NULL.
nvram_result_t (* get_max_spaces) (const struct nvram_device * device, uint32_t * num_spaces) |
Xuất ra tổng số không gian tối đa có thể được cấp phát. Điều này sẽ luôn là ít nhất 8. Đầu ra NV_UNLIMITED_SPACES nếu có bất kỳ số lượng khoảng trắng nào được hỗ trợ (chỉ giới hạn ở các byte NVRAM có sẵn).
thiết bị - Phiên bản nvram_device . num_spaces - Nhận kết quả đầu ra. Không thể là 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) |
Xuất ra danh sách các điều khiển được liên kết với một không gian nhất định.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. max_list_size - Số mục trong | control_list | mảng. control_list - Nhận danh sách các điều khiển lên đến | max_list_size | đã cho. Có thể là NULL nếu | max_list_size | là 0. list_size - Nhận số mục được điền trong | control_list |, hoặc số mục có sẵn nếu | control_list | là 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) |
Xuất ra danh sách các chỉ số không gian đã tạo. Nếu | max_list_size | là 0, chỉ | list_size | là dân cư.
thiết bị - Phiên bản nvram_device . max_list_size - Số mục trong | space_index_list | mảng. space_index_list - Nhận danh sách các không gian đã tạo lên đến | max_list_size | đã cho. Có thể là NULL nếu | max_list_size | là 0. list_size - Nhận số mục được điền trong | space_index_list |, hoặc số mục có sẵn nếu | space_index_list | là NULL.
nvram_result_t (* get_space_size) (const struct nvram_device * device, uint32_t index, uint64_t * size) |
Xuất ra kích thước, tính bằng byte, của một không gian nhất định.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. kích thước - Nhận đầu ra. Không thể là NULL.
nvram_result_t (* get_total_size_in_bytes) (const struct nvram_device * device, uint64_t * total_size) |
Xuất ra tổng số byte có sẵn trong NVRAM. Điều này sẽ luôn luôn ít nhất là 2048. Nếu một triển khai không biết tổng kích thước, nó có thể cung cấp một ước tính hoặc 2048.
thiết bị - Phiên bản nvram_device . total_size - Nhận kết quả đầu ra. Không thể là NULL.
nvram_result_t (* is_space_locked) (const struct nvram_device * device, uint32_t index, int * write_lock_enabled, int * read_lock_enabled) |
Kết quả cho biết khóa có được bật cho không gian nhất định hay không. Khi bật khóa, thao tác sẽ bị vô hiệu hóa và bất kỳ nỗ lực nào để thực hiện thao tác đó sẽ dẫn đến NV_RESULT_OPERATION_DISABLED.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. write_lock_enabled - Sẽ được đặt thành khác 0. Các thao tác ghi hiện đang bị vô hiệu hóa. read_lock_enabled - Sẽ được đặt thành khác 0, các hoạt động đọc iff hiện đang bị vô hiệu hóa.
nvram_result_t (* read_space) (const struct nvram_device * device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t * allow_value, uint32_t copyright_value_size, uint8_t * buffer, uint64_t * bytes_read) |
Đọc nội dung của một khoảng trắng. Nếu không gian chưa bao giờ được ghi, tất cả các byte được đọc sẽ là 0x00.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. num_bytes_to_read - Số byte cần đọc; | đệm | phải đủ lớn để chứa nhiều byte này. Nếu kích thước này lớn hơn kích thước của không gian, thì toàn bộ không gian sẽ được đọc. Nếu kích thước này nhỏ hơn kích thước của không gian, các byte đầu tiên trong không gian sẽ được đọc. giá trị ủy quyền - Nếu không gian có chính sách NV_CONTROL_READ_AUTHORIZATION, thì tham số này cung cấp giá trị ủy quyền. Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_giá_trị_size - Số byte trong | giá trị_ ủy quyền |. bộ đệm - Nhận dữ liệu đã đọc từ không gian. Ít nhất phải là | num_bytes_to_read | kích thước byte. bytes_read - Số byte được đọc. Nếu NV_RESULT_SUCCESS được trả lại, giá trị này sẽ được đặt thành nhỏ hơn của | num_bytes_to_read | hoặc kích thước của không gian.
nvram_result_t (* write_space) (const struct nvram_device * device, uint32_t index, const uint8_t * buffer, uint64_t buffer_size, const uint8_t * Authority_value, uint32_t Authority_value_size) |
Viết nội dung của một khoảng trắng. Nếu không gian được cấu hình với NV_CONTROL_WRITE_EXTEND thì dữ liệu đầu vào được sử dụng để mở rộng dữ liệu hiện tại.
thiết bị - Phiên bản nvram_device . index - Chỉ số không gian. đệm - Dữ liệu để ghi. buffer_size - Số byte trong | buffer |. Nếu điều này nhỏ hơn kích thước của không gian, các byte còn lại sẽ được đặt thành 0x00. Nếu con số này lớn hơn kích thước của không gian, trả về NV_RESULT_INVALID_PARAMETER. giá trị ủy quyền - Nếu không gian có chính sách NV_CONTROL_WRITE_AUTHORIZATION, thì tham số này cung cấp giá trị ủy quyền. Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_giá_trị_size - Số byte trong | giá trị_ ủy quyền |.
Tài liệu cho cấu trúc này được tạo từ tệp sau:
- phần cứng / libhardware / bao gồm / phần cứng / nvram.h