Tham chiếu cấu trúc nvram_device
#include < nvram.h >
Trường dữ liệu | |
cấu trúc hw_device_t | chung |
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 *thiết bị, chỉ mục uint32_t, const uint8_t *authorization_value, uint32_t ủy quyền_value_size) |
nvram_result_t (* | vô hiệu hóa_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 Author_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 *thiết bị, chỉ mục uint32_t, const uint8_t *authorization_value, uint32_t ủy quyền_value_size) |
nvram_result_t (* | Enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t allow_value_size) |
miêu tả cụ thể
Tài liệu hiện trường
cấu trúc hw_device_t chung |
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 các bối cảnh đã biết hw_device_t tham chiếu đến 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, uint32_t ủy quyền_value_size) |
Tạo một không gian mới với chỉ mục, kích thước, điều khiển và giá trị ủy quyền nhất định.
thiết bị - Phiên bản nvram_device . chỉ mục - Một 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 chưa được gán cho khoảng trống hiện có. size_in_bytes - Số byte cần phân bổ cho không gian. control_list - Một loạt các điều khiển để thực thi cho không gian. list_size - Số 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, thì 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 sẽ áp dụng cho cả hai). Nếu không, giá trị này sẽ bị bỏ qua và có thể là NULL. ủy quyền_value_size - Số byte trong |authorization_value|.
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_tauthorization_value_size) |
Xóa một khoảng trắng.
thiết bị - Phiên bản nvram_device . chỉ mục - Chỉ mục không gian. ủy quyền_value - Nếu không gian có chính sách NV_Control_WRITE_AUTHORIZATION thì tham số này sẽ cung cấp giá trị ủy quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là NULL. ủy quyền_value_size - Số byte trong |authorization_value|.
nvram_result_t (* vô hiệu hóa_create)(const struct nvram_device *thiết bị) |
Vô hiệu hóa mọi hoạt động tạo thêm khoảng trống cho đến lần đặt lại toàn bộ thiết bị tiếp theo (như 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 (* kích hoạt_read_lock)(const struct nvram_device *thiết bị, chỉ mục uint32_t, const uint8_t *authorization_value, uint32_t ủy quyền_value_size) |
Cho phép khóa đọc cho không gian nhất định theo chính sách của nó. Nếu khoảng trống không được đặt NV_Control_BOOT_READ_LOCK 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 . chỉ mục - Chỉ mục không gian. ủy quyền_value - Nếu không gian có chính sách NV_Control_READ_AUTHORIZATION thì tham số này sẽ cung cấp giá trị ủy quyền. (Lưu ý rằng không có yêu cầu về quyền truy cập ghi để khóa đọc. Khóa đọc luôn không ổn định.) Nếu không, giá trị này bị bỏ qua và có thể là NULL. ủy quyền_value_size - Số byte trong |authorization_value|.
nvram_result_t (* kích hoạt_write_lock)(const struct nvram_device *thiết bị, chỉ mục uint32_t, const uint8_t *authorization_value, uint32_t ủy quyền_value_size) |
Cho phép khóa ghi cho không gian nhất định theo chính sách của nó. Nếu khoảng trống không được đặt NV_Control_PERSISTENT_WRITE_LOCK hoặc NV_Control_BOOT_WRITE_LOCK 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 . chỉ mục - Chỉ mục không gian. ủy quyền_value - Nếu không gian có chính sách NV_Control_WRITE_AUTHORIZATION thì tham số này sẽ cung cấp giá trị ủy quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là NULL. ủy quyền_value_size - Số byte trong |authorization_value|.
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 việc triển khai không biết kích thước có sẵn, nó có thể cung cấp ước tính hoặc tổng kích thước.
thiết bị - Phiên bản nvram_device . available_size - Nhận đầ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 phân bổ cho một khoảng trắng. Giá trị này sẽ luôn ít nhất là 32. Nếu việc triển khai không giới hạn kích thước tối đa thì 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ố khoảng trống tối đa có thể được phân bổ. Giá trị này sẽ luôn có ít nhất là 8. Xuất ra NV_UNLIMITED_SPACES nếu 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 đầ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 . chỉ mục - Chỉ mục không gian. max_list_size - Số lượng mục trong |control_list| mảng. control_list - Nhận danh sách các điều khiển tối đa |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à KHÔNG.
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| được đông dân cư.
thiết bị - Phiên bản nvram_device . max_list_size - Số lượng mục trong |space_index_list| mảng. space_index_list - Nhận danh sách các khoảng trắng đã tạo với |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à KHÔNG.
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 . chỉ mục - Chỉ mục không gian. size - 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. Giá trị này sẽ luôn ít nhất là 2048. Nếu việc triển khai không biết tổng kích thước thì nó có thể cung cấp ước tính hoặc 2048.
thiết bị - Phiên bản nvram_device . Total_size - Nhận đầ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) |
Cho biết liệu khóa có được bật cho không gian nhất định hay không. Khi khóa được bật, thao tác sẽ bị vô hiệu hóa và mọi nỗ lực thực hiện thao tác đó sẽ dẫn đến NV_RESULT_OPERATION_DISABLED.
thiết bị - Phiên bản nvram_device . chỉ mục - Chỉ mục không gian. write_lock_enabled - Sẽ được đặt thành khác 0 nếu hoạt động ghi hiện bị tắt. read_lock_enabled - Sẽ được đặt thành khác 0 nếu hoạt động đọc hiện bị tắt.
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 allow_value_size, uint8_t *buffer, uint64_t *bytes_read) |
Đọc nội dung của một không gian. Nếu khoảng trắng chưa bao giờ được ghi, tất cả byte được đọc sẽ là 0x00.
thiết bị - Phiên bản nvram_device . chỉ mục - Chỉ mục không gian. num_bytes_to_read - Số byte cần đọc; |bộ đệm| phải đủ lớn để chứa nhiều byte này. Nếu giá trị 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 giá trị này nhỏ hơn kích thước của khoảng trắng thì các byte đầu tiên trong khoảng trắng sẽ được đọc. ủy quyền_value - Nếu không gian có chính sách NV_Control_READ_AUTHORIZATION thì tham số này sẽ cung cấp giá trị ủy quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là NULL. ủy quyền_value_size - Số byte trong |authorization_value|. bộ đệm - Nhận dữ liệu được đọc từ không gian. Ít nhất phải có |num_byte_to_read| kích thước byte. bytes_read - Số byte được đọc. Nếu trả về NV_RESULT_SUCCESS thì giá trị này sẽ được đặt thành giá trị 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 *authorization_value, uint32_t Author_value_size) |
Viết nội dung của một không gian. Nếu không gian được định cấu hình bằng NV_Control_WRITE_EXTEND thì dữ liệu đầu vào sẽ được sử dụng để mở rộng dữ liệu hiện tại.
thiết bị - Phiên bản nvram_device . chỉ mục - Chỉ mục không gian. bộ đệm - Dữ liệu để ghi. buffer_size - Số byte trong |buffer|. Nếu giá trị này nhỏ hơn kích thước của khoảng trắng thì các byte còn lại sẽ được đặt thành 0x00. Nếu giá trị này lớn hơn kích thước của khoảng trắng, trả về NV_RESULT_INVALID_PARAMETER. ủy quyền_value - Nếu không gian có chính sách NV_Control_WRITE_AUTHORIZATION thì tham số này sẽ cung cấp giá trị ủy quyền. Nếu không, giá trị này sẽ bị bỏ qua và có thể là NULL. ủy quyền_value_size - Số byte trong |authorization_value|.
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